|
DFT-FE 1.3.0-pre
Density Functional Theory With Finite-Elements
|
#include <elpaScalaManager.h>#include <headers.h>#include <operator.h>#include "process_grid.h"#include "scalapackWrapper.h"#include "dftParameters.h"#include <BLASWrapper.h>Go to the source code of this file.
Namespaces | |
| namespace | dftfe |
| namespace | dftfe::linearAlgebraOperations |
| Contains linear algebra functions used in the implementation of an eigen solver. | |
Functions | |
| void | dftfe::linearAlgebraOperations::inverse (double *A, dftfe::Int N) |
| Compute inverse of serial matrix using LAPACK LU factorization. | |
| void | dftfe::linearAlgebraOperations::inverse (std::complex< double > *A, dftfe::Int N) |
| Compute inverse of serial matrix using LAPACK LU factorization. | |
| template<typename T, dftfe::utils::MemorySpace memorySpace> | |
| std::pair< double, double > | dftfe::linearAlgebraOperations::generalisedLanczosLowerUpperBoundEigenSpectrum (const std::shared_ptr< dftfe::linearAlgebra::BLASWrapper< memorySpace > > &BLASWrapperPtr, operatorDFTClass< memorySpace > &operatorMatrix, dftfe::linearAlgebra::MultiVector< T, memorySpace > &X, dftfe::linearAlgebra::MultiVector< T, memorySpace > &Y, dftfe::linearAlgebra::MultiVector< T, memorySpace > &Z, dftfe::linearAlgebra::MultiVector< T, memorySpace > &tempVec, const dftParameters &dftParams) |
| Calculates an estimate of lower and upper bounds of a matrix using k-step Generalised Lanczos method. Algo is present in PAW PRB paper. | |
| template<typename T, dftfe::utils::MemorySpace memorySpace> | |
| void | dftfe::linearAlgebraOperations::chebyshevFilter (operatorDFTClass< memorySpace > &operatorMatrix, dftfe::linearAlgebra::MultiVector< T, memorySpace > &X, dftfe::linearAlgebra::MultiVector< T, memorySpace > &Y, const dftfe::uInt m, const double a, const double b, const double a0) |
| Apply Chebyshev filter to a given subspace. | |
| template<typename T1, typename T2, dftfe::utils::MemorySpace memorySpace> | |
| void | dftfe::linearAlgebraOperations::reformulatedChebyshevFilter (const std::shared_ptr< dftfe::linearAlgebra::BLASWrapper< memorySpace > > &BLASWrapperPtr, operatorDFTClass< memorySpace > &operatorMatrix, dftfe::linearAlgebra::MultiVector< T1, memorySpace > &X, dftfe::linearAlgebra::MultiVector< T1, memorySpace > &Y, dftfe::linearAlgebra::MultiVector< T2, memorySpace > &Residual, dftfe::linearAlgebra::MultiVector< T2, memorySpace > &ResidualNew, std::vector< double > eigenvalues, const dftfe::uInt m, const double a, const double b, const double a0, const bool approxOverlapMatrix) |
| Apply Residual based Chebyshev filter to a given subspace. | |