|
void | init (std::vector< ColumnBundle > &, int nbundles, int ncols=0, const Basis *basis=0, const ElecInfo *eInfo=0) |
| Initialize an array of column bundles (with appropriate wavefunction sizes if ncols, basis, qnum and eInfo are all non-zero)
|
|
void | randomize (std::vector< ColumnBundle > &, const ElecInfo &eInfo) |
| randomize an array of columnbundles
|
|
ColumnBundle | clone (const ColumnBundle &) |
|
void | randomize (ColumnBundle &x) |
| Copies the input. More...
|
|
double | dot (const ColumnBundle &x, const ColumnBundle &y) |
| inner product
|
|
ColumnBundle & | operator+= (ColumnBundle &Y, const scaled< ColumnBundle > &X) |
|
ColumnBundle & | operator-= (ColumnBundle &Y, const scaled< ColumnBundle > &X) |
|
ColumnBundle | operator+ (const scaled< ColumnBundle > &Y1, const scaled< ColumnBundle > &Y2) |
|
ColumnBundle | operator- (const scaled< ColumnBundle > &Y1, const scaled< ColumnBundle > &Y2) |
|
ColumnBundle & | operator*= (ColumnBundle &X, double s) |
|
ColumnBundle | operator* (double s, ColumnBundle &&Y) |
|
ColumnBundle | operator* (ColumnBundle &&Y, double s) |
|
scaled< ColumnBundle > | operator* (double s, const ColumnBundle &Y) |
|
scaled< ColumnBundle > | operator* (const ColumnBundle &Y, double s) |
|
scaled< ColumnBundle > | operator- (const ColumnBundle &Y) |
|
ColumnBundle & | operator*= (ColumnBundle &X, complex s) |
|
ColumnBundle | operator* (complex s, const ColumnBundle &Y) |
|
ColumnBundle | operator* (const ColumnBundle &Y, complex s) |
|
ColumnBundleMatrixProduct | operator* (const scaled< ColumnBundle > &sY, const matrixScaledTransOp &Mst) |
|
ColumnBundle & | operator+= (ColumnBundle &Y, const ColumnBundleMatrixProduct &XM) |
|
ColumnBundle & | operator-= (ColumnBundle &Y, const ColumnBundleMatrixProduct &XM) |
|
ColumnBundle | operator+ (const ColumnBundleMatrixProduct &XM1, const ColumnBundleMatrixProduct &XM2) |
|
ColumnBundle | operator- (const ColumnBundleMatrixProduct &XM1, const ColumnBundleMatrixProduct &XM2) |
|
ColumnBundle | operator* (const scaled< ColumnBundle > &, const diagMatrix &) |
|
matrix | operator^ (const scaled< ColumnBundle > &, const scaled< ColumnBundle > &) |
| inner product
|
|
vector3< matrix > | spinOverlap (const scaled< ColumnBundle > &sY) |
| spin-resolved inner product for a spinorial ColumnBundle
|
|
ColumnBundle | Idag_DiagV_I (const ColumnBundle &C, const ScalarFieldArray &V, const ColumnBundle *Cout=0) |
|
ColumnBundle | Idag_DiagV_I (const ColumnBundle &C, const complexScalarFieldArray &V, const ColumnBundle *Cout=0) |
| Same as above for complex potentials.
|
|
ColumnBundle | L (const ColumnBundle &Y) |
| Apply Laplacian.
|
|
ColumnBundle | Linv (const ColumnBundle &Y) |
| Apply Laplacian inverse.
|
|
matrix3 | Lstress (const ColumnBundle &Y, const diagMatrix &F) |
| Compute lattice vector derivative of Tr[Y^LYF] (used for KE stress calculation)
|
|
ColumnBundle | O (const ColumnBundle &Y, std::vector< matrix > *VdagY=0) |
| Apply overlap (and optionally retrieve pseudopotential projections for later reuse)
|
|
ColumnBundle | D (const ColumnBundle &Y, int iDir) |
| Compute the cartesian gradient of a column bundle in direction# iDir.
|
|
ColumnBundle | D (const ColumnBundle &in, const vector3<> &dir) |
| Directional derivative of column bundle along (cartesian direction) dir.
|
|
ColumnBundle | DD (const ColumnBundle &Y, int iDir, int jDir) |
| Compute second spatial derivative of a column bundle along directions# iDir, jDir.
|
|
void | precond_inv_kinetic (ColumnBundle &Y, double KErollover, bool sqrtop=false) |
| Apply inverse kinetic preconditioner (Roughly inv((k+G)^2/2)) in-place.
|
|
diagMatrix | diagDot (const ColumnBundle &X, const ColumnBundle &Y) |
| compute diag(X^Y) efficiently (avoid the off-diagonals)
|
|
void | precond_inv_kinetic_band (ColumnBundle &Y, const diagMatrix &KEref) |
| In-place inverse kinetic preconditioner with band-by-band KE reference (Used by BandDavidson)
|
|
ColumnBundle | translate (ColumnBundle &&, vector3<> dr) |
| translate a column-bundle by dr in lattice coordinates (destructible input)
|
|
ColumnBundle | translate (const ColumnBundle &, vector3<> dr) |
| translate a column-bundle by dr in lattice coordinates (preserve input)
|
|
void | translateColumns (ColumnBundle &, const vector3<> *dr) |
| translate each column of a column bundle by a different dr (in-place)
|
|
ColumnBundle | switchBasis (const ColumnBundle &, const Basis &) |
| return wavefunction projected to a different basis
|
|
complex | traceinner (const diagMatrix &F, const ColumnBundle &X, const ColumnBundle &Y) |
| Return trace(F*X^Y)
|
|
ScalarFieldArray | diagouterI (const diagMatrix &F, const ColumnBundle &X, int nDensities, const GridInfo *gInfoOut=0) |
|
complexScalarFieldArray | diagouterI (const diagMatrix &F, const ColumnBundle &A, const ColumnBundle &B, int nDensities, const GridInfo *gInfoOut) |
|
ColumnBundle class and operators