DFT-FE 1.1.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, int N) |
Compute inverse of serial matrix using LAPACK LU factorization. | |
void | dftfe::linearAlgebraOperations::inverse (std::complex< double > *A, 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 unsigned int 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 unsigned int m, const double a, const double b, const double a0, const bool approxOverlapMatrix) |
Apply Residual based Chebyshev filter to a given subspace. | |