|
IPCC
1.0
|
This class for doing Lanczos method. More...
#include "KNLanczosMethod.h"

Classes | |
| struct | EIGENVALUE_RESULT |
| Structure for engienvalue computing. More... | |
| struct | RESULT_SORT_DATA |
| Structure for eigenvalue result sorting. More... | |
Public Types | |
| typedef struct CKNLanczosMethod::EIGENVALUE_RESULT * | LPEIGENVALUE_RESULT |
| typedef struct CKNLanczosMethod::RESULT_SORT_DATA * | LPRESULT_SORT_DATA |
Public Member Functions | |
| CKNLanczosMethod () | |
| Constructor. More... | |
| ~CKNLanczosMethod () | |
| Destructor. More... | |
| LPEIGENVALUE_RESULT | DoLanczosMethod (CKNMatrixOperation::CKNCSR *pAMatrix, unsigned int nIterationCount, unsigned int nEigenValueCheckInterval, unsigned int nEigenValueCount, double fEigenvalueMin, double fEignevalueMax, double fConvergenceTolerance, bool bReorthogonalization, bool bCalcuEigVector, bool bWaveFunction, double load_in_MIC, CKNMatrixOperation::CKNCSR *pmylocalblock=NULL, CKNMatrixOperation::CKNCSR *leftlocalblock=NULL, CKNMatrixOperation::CKNCSR *rightlocalblock=NULL) |
| Doing lanczos method. More... | |
Static Public Member Functions | |
| static void | SaveLanczosResult (CKNLanczosMethod::LPEIGENVALUE_RESULT lpResult, bool bCalcuEigenvalue, bool bWaveFunction, double *pKValue, int nRepeatCount) |
| Saving Lanczos computation result into file. More... | |
| static void | ShowLanczosResult (CKNLanczosMethod::LPEIGENVALUE_RESULT lpResult, bool bCalculateEigenVectors, bool bCalculateWaveFunction, double *pKValue, int nRepeatCount) |
| Save calculating result into file. More... | |
| static void | MergeDegeneratedEigenvalues (CKNLanczosMethod::LPEIGENVALUE_RESULT lpResult, unsigned int nFindingDegeneratedEVCount, CKNMatrixOperation::CKNCSR *pA, CKNMatrixOperation::CKNCSR *pLocalBlock, CKNMatrixOperation::CKNCSR *pLeftBlock, CKNMatrixOperation::CKNCSR *pRightBlock) |
| Merging eigenvalue into mater group. More... | |
| static void | RecalcuWaveFunction (CKNLanczosMethod::LPEIGENVALUE_RESULT lpResult) |
| Recalculating wavefunction after merging degenerated eigenvalues. More... | |
| static void | ReleaseResult (LPEIGENVALUE_RESULT lpResult, bool bReleaseStruct) |
| Release memory for lanczos method result. More... | |
| static void | StopIteration () |
| Stop lanczos iteration on going state. More... | |
| static bool | IsAbort () |
| static void | AppendEigenValue (LPEIGENVALUE_RESULT lpResult, double fEigenValue, unsigned int nFindIteration=DEGENERATED_INDEX, bool bInsertFirst=false) |
| Checking is aborting computation flag. More... | |
| static void | AppendEigenVector (LPEIGENVALUE_RESULT lpResult, CKNMatrixOperation::CKNVector *pEigenVector, bool bInsertFirst=false) |
| Appending eigenvector into master group if degenerated eigenvalue is finded. More... | |
| static bool | CheckingCalculationCondition (bool bCalcuEigenValue, bool bCalcuWaveFunction, unsigned int nDeflationGroup) |
| Checking pre conditions for Lanczos method operation. More... | |
| static void | SortSolution (LPEIGENVALUE_RESULT lpResult) |
| Sorting computing eigenvalue. More... | |
| static int | ResultCompare (const void *pA, const void *pB) |
| Comparing computing result function for quick sorting. More... | |
Private Member Functions | |
| void | InitLanczosVector () |
| Init lanczos vectors. More... | |
| void | FinalLanczosVector () |
| Deallocating lanczos vectors. More... | |
| void | InitLanczosIterationVariables (CKNComplex **pAlpha, double **pAlphaReal, double **pBeta, double **pWj, double **pWjm1, double **pWjp1, CKNMatrixOperation::CKNVector **pW) |
| Init omega, alpha, beta array. More... | |
| void | FinalizeLanczosInterationVariable (CKNComplex *pAlpha, double *pAlphaReal, double *pBeta, double *pWj, double *pWjm1, double *pWjp1, CKNMatrixOperation::CKNVector *pW) |
| Deallocating omega, alpha, beta. More... | |
| LPEIGENVALUE_RESULT | LanczosIteration () |
| Doing lanczos basic iteration. More... | |
| void | LanczosIterationLoop (LPEIGENVALUE_RESULT lpResult, CKNMatrixOperation::CKNVector *V1, unsigned int nIterationCount, CKNComplex *pAlpha, double *pAlphaReal, double *pBeta, double *pWj, double *pWjm1, double *pWjp1, bool bMakeEigvVector=false) |
| Doing lanczos basic iteration. More... | |
| bool | CheckAndDoSelectiveReorthogonalization (int nIterationCount, double *pAlpha, double *pBeta, double *pWj, double *pWjm1, double *pWjp1, double fANorm) |
| Check current state need selective reorthogonalization and do it. More... | |
| void | CalculateEigenVector (LPEIGENVALUE_RESULT lpResult, CKNMatrixOperation::CKNVector V, unsigned int nIterationIndex) |
| Calculate Eigen vector of A Matrix. More... | |
| void | DoSelectiveReorthogonalization (unsigned int nIterationCount) |
| Do selective reorthogonalization. More... | |
| bool | DoEigenValueSolving (int nIterationCount, double *pAlpha, double *pBeta, double fANorm, LPEIGENVALUE_RESULT lpResult, bool bFinal) |
| Every user set iteration count calculate eigenvalues. More... | |
| int | EigenValueSolver (unsigned int nIterationCount, double *pAlpha, double *pBeta, double *pEigenValues, double *pEigenVectors) |
| EigenValue Solving. More... | |
| int | ConvergenceChecking (int nEigenValueCount, double *pEigenValues, double *pEiegnVectors, double *pConvergedEigenValues, double *pConvergedEigenVectors, double fANorm, double *pBeta, int nIterationCount) |
| Checking convergence criteria. More... | |
| int | ConvergenceCheckingEx (int nEigenValueCount, double *pEigenValues, double *pEiegnVectors, bool *pbValidEigenValue, double fANorm, double *pBeta, int nIterationCount) |
| Checking convergence criteria. More... | |
| int | RangeChecking (int nEigenValueCount, double *pEigenValues, double *pEiegnVectors, double *pRangeCheckingEigenValues, double *pRangeCheckingVectors, int nIterationCount) |
| Checking eigenvalue range. More... | |
| int | SpuriousRitzValueChecking (int nEigenValueCount, double *pEigenValues, double *pEigenVectors, double *pNonSpuriousValues, double *pNonSpuriousVectors, double fANorm, int nIterationCount) |
| Checking spurious values. More... | |
| int | DistinguishClusterOfEigenvalue (int nEigenValueCount, double *pEigenValues, double *pEigenVectors, double *pNonClustersValues, double *pNonClustersVectors, int nIterationCount) |
| Distinguish clusters values. More... | |
| int | DistinguishClusterOfEigenvalueEx (int nEigenValueCount, double *pEigenValues, double *pEigenVectors, bool *pbValidEigenValues, int nIterationCount) |
| Distinguish clusters values. More... | |
| double * | BuildTMatrix (unsigned int nOrder, double *pAlpha, double *pBeta) |
| Building T matrix for solving eigenvalue. More... | |
| void | InitVariables () |
| Deallocating member variables. More... | |
| void | ExtractDoubleValues (double *pTarget, double *pSource, unsigned int nSrcCount, int *pFilter, unsigned int nFilterCount, bool bExclusive) |
| Extract value by condition that described in filter. More... | |
| void | ExtractDoubleVector (unsigned int nVectorsize, double *pTarget, double *pSource, unsigned int nSrcCount, int *pFilter, unsigned int nFilterCount, bool bExclusive) |
| Extract vectors by condition that described in filter. More... | |
| bool | InitializeTemporaryArrayAndVector (int nIterationCount) |
| Initialize temporary eigenvalue arrays and vectors. More... | |
| void | FinalizeTemporaryArrayAndVector () |
| Finalize temporary eigenvalue arrays and vectors. More... | |
| void | IntegrateEigenvalues (int nIterationCount, LPEIGENVALUE_RESULT lpResult, unsigned int nCalculatedEigenValueCount, double *pCalcuResult_Value, double *pCalcuResult_Vector) |
| Integrating computing solution during Lanczos method operation. More... | |
| void | IntegrateEigenvaluesEx (int nIterationCount, LPEIGENVALUE_RESULT lpResult, unsigned int nCalculatedEigenValueCount, unsigned int nCalculatedEigenValueCountBeforeConvergenceCheck, double *pCalcuResult_Value, double *pCalcuResult_Vector, bool *pbValidEigenValue) |
| Integrating computing solution during Lanczos method operation. More... | |
| void | BuildWaveFunction (LPEIGENVALUE_RESULT lpResult) |
| Building wavefunction. More... | |
| void | DoResidualCheck (CKNMatrixOperation::CKNCSR *pAMatrix, LPEIGENVALUE_RESULT lpResult) |
| Residual checking. More... | |
Private Attributes | |
| CKNMatrixOperation::CKNVector * | m_pV |
| A member variable for saveing lanczos vectors. More... | |
| CKNMatrixOperation::CKNCSR * | m_pAMatrix |
| A member variable for reference Hemiltonian matrix. More... | |
| CKNMatrixOperation::CKNCSR * | m_pAMyLocalBlock |
| A member variable for reference Hemiltonian matrix. More... | |
| CKNMatrixOperation::CKNCSR * | m_pALeftBlock |
| A member variable for reference Hemiltonian matrix. More... | |
| CKNMatrixOperation::CKNCSR * | m_pARightBoloc |
| A member variable for reference Hemiltonian matrix. More... | |
| unsigned int | m_nMatrixSize |
| A size of Hemiltonian matrix. More... | |
| unsigned int | m_nIterationCount |
| A counts of lanczos interation. More... | |
| unsigned int | m_nEigenValueCheckInterval |
| A interval for checking T matrix eigenvlaue. More... | |
| unsigned int | m_nEigenValueCount |
| A numbers of eigenvlaue that want to calculation. More... | |
| double | m_fEigenvalueMin |
| Minimum range of eigenvalue. More... | |
| double | m_fEignevalueMax |
| Maxinum range of eigenvalue. More... | |
| bool | m_bReorthogonalization |
| Option for doing or not re-orthogonalization. More... | |
| bool | m_bCalcuEigenvector |
| Option for doing or not calculating eigen vector. More... | |
| double | m_fConvergenceTolerance |
| Convergence checking tolerance. More... | |
| double * | m_pEigenValues |
| A temporary eigenvalue array for eig solver. More... | |
| double * | m_pEigenVectors |
| A temporary eigenvector array for eig solver. More... | |
| double * | m_pConvergedEigenValues |
| A temporary eigenvalue array for converged check function. More... | |
| double * | m_pConvergedEigenVectors |
| A temporary eigenvector array for converged check function. More... | |
| double * | m_pRangeCheckedEigenValues |
| A temporary eigenvalue array for range check function. More... | |
| double * | m_pRangeCheckedEigenVectors |
| A temporary eigenvector array for range check function. More... | |
| double * | m_pNoneSpuriousValues |
| A temporary eigenvalue array for spurious value check function. More... | |
| double * | m_pNoneSpuriousVectors |
| A temporary eigenvector array for spurious value check function. More... | |
| double * | m_pNonClustersValues |
| A temporary eigenvalue array for cluster check function. More... | |
| double * | m_pNonClustersVectors |
| A temporary eigenvector array for cluster check function. More... | |
| int * | m_pRangecheckedIndex |
| A temporary index array for range check function. More... | |
| int * | m_pNonSpuriousValueIndex |
| A temporary index array for Spurious check function. More... | |
| int * | m_pConvergedIndex |
| A temporary index array for converged check function. More... | |
| int * | m_pNonClustersValueIndex |
| A temporary index array for cluster check function. More... | |
| bool * | m_pCheckNonClusterValue |
| A temporary check index array for cluster check function. More... | |
| double | m_floadMIC |
| Computing ratio of CPU vs. MIC. More... | |
Static Private Attributes | |
| static bool | m_bStop = false |
| Determind stop iteration before end of iteration count. More... | |
This class for doing Lanczos method.
Definition at line 20 of file KNLanczosMethod.h.
| typedef struct CKNLanczosMethod::EIGENVALUE_RESULT * CKNLanczosMethod::LPEIGENVALUE_RESULT |
| typedef struct CKNLanczosMethod::RESULT_SORT_DATA * CKNLanczosMethod::LPRESULT_SORT_DATA |
| CKNLanczosMethod::CKNLanczosMethod | ( | ) |
Constructor.
Definition at line 32 of file KNLanczosMethod.cpp.
| CKNLanczosMethod::~CKNLanczosMethod | ( | ) |
Destructor.
Definition at line 67 of file KNLanczosMethod.cpp.
|
static |
Checking is aborting computation flag.
Appending eigenvalue into master group if degenerated eigenvalue is finded
| lpResult | Strcuture that include eigen values and eigen vectors |
| fEigenValue | New eigenvalue that has degeneracy |
| nFindIteration | Iteration number that degenerated eigenvalue finding |
| bInsertFirst | Inserting new eigenvalue at front of list |
Definition at line 1908 of file KNLanczosMethod.cpp.
References CKNLanczosMethod::EIGENVALUE_RESULT::nEigenValueCount, CKNLanczosMethod::EIGENVALUE_RESULT::pEigenValueFoundIteration, and CKNLanczosMethod::EIGENVALUE_RESULT::pEigenValues.
|
static |
Appending eigenvector into master group if degenerated eigenvalue is finded.
| lpResult | Strcuture that include eigen values and eigen vectors |
| pEigenVector | New eigenvector that corresponds degenerated eigenvalue |
| bInsertFirst | Inserting new eigenvalue at front of list |
Definition at line 1941 of file KNLanczosMethod.cpp.
References CKNMatrixOperation::CKNVector::Finalize(), CKNMatrixOperation::CKNVector::GetSize(), CKNLanczosMethod::EIGENVALUE_RESULT::nEigenValueCount, CKNLanczosMethod::EIGENVALUE_RESULT::pEigenVectorsForAMatrix, CKNLanczosMethod::EIGENVALUE_RESULT::pWaveFunctions, and CKNMatrixOperation::CKNVector::SetSize().

|
private |
Building T matrix for solving eigenvalue.
| nOrder | T matrix size |
| pAlpha | Alpha array that are calcuated during lanczos iteration |
| pBeta | Beta array that are calcuated during lanczos iteration |
Definition at line 1367 of file KNLanczosMethod.cpp.
References ERROR_MALLOC, CKNTimeMeasurement::MALLOC, CKNTimeMeasurement::MeasurementEnd(), and CKNTimeMeasurement::MeasurementStart().

|
private |
Building wavefunction.
| lpResult | Calculated eigenvalue result |
Definition at line 1530 of file KNLanczosMethod.cpp.
References CKNComplex::GetAbsolute(), CKNMatrixOperation::CKNVector::GetAt(), CKNMPIManager::GetCurrentLoadBalanceCount(), CKNTimeMeasurement::MALLOC, CKNTimeMeasurement::MeasurementEnd(), CKNTimeMeasurement::MeasurementStart(), CKNLanczosMethod::EIGENVALUE_RESULT::nEigenValueCount, CKNLanczosMethod::EIGENVALUE_RESULT::pEigenVectorsForAMatrix, CKNLanczosMethod::EIGENVALUE_RESULT::pWaveFunctions, CKNMatrixOperation::CKNVector::SetAt(), and CKNMatrixOperation::CKNVector::SetSize().

|
private |
Calculate Eigen vector of A Matrix.
| lpResult | [out]: Calculated eigenvectors, eigenvectors and its count |
| V | Vector for calculating eigenvector |
| nIterationIndex | Current iteration count index |
< Follow eigen value count calculate A Matrix Eigen vector
Definition at line 673 of file KNLanczosMethod.cpp.
References CKNMatrixOperation::CKNVector::GetAt(), CKNMPIManager::GetCurrentLoadBalanceCount(), CKNLanczosMethod::EIGENVALUE_RESULT::nEigenValueCount, CKNLanczosMethod::EIGENVALUE_RESULT::pEigenValueFoundIteration, CKNLanczosMethod::EIGENVALUE_RESULT::pEigenVectors, CKNLanczosMethod::EIGENVALUE_RESULT::pEigenVectorsForAMatrix, and CKNMatrixOperation::CKNVector::SetAt().

|
private |
Check current state need selective reorthogonalization and do it.
| nIterationCount | Iteration count until eigenvalue solving |
| pAlpha | Alpha array that are calcuated during lanczos iteration |
| pBeta | Beta array that are calcuated during lanczos iteration |
| pWj | vector for selective reorthogonalization |
| pWjm1 | vector for selective reorthogonalization |
| pWjp1 | vector for selective reorthogonalization |
| fANorm | anorm value |
Currently isn't implement.
Definition at line 708 of file KNLanczosMethod.cpp.
|
static |
Checking pre conditions for Lanczos method operation.
| bCalcuEigenValue | Calculating eigenvector flag |
| bCalcuWaveFunction | Calculating wavefunction flag |
| nDeflationGroup | Degenerated eigenvalue group count |
Definition at line 2413 of file KNLanczosMethod.cpp.
Referenced by CKNTBMS_Solver::Launching_TBMS_Solver().

|
private |
Checking convergence criteria.
| nEigenValueCount | The numbers of eigenvalue that was calculated by before processing | |
| pEigenValues | Eigenvalues that was calculated by before processing | |
| pEigneVectors | Eigenvectors that was calculated by before processing | |
| [out] | pConvergedEigenValues | Converged eigenvalues |
| [out] | pConvergedEigenVectors | Converged eigenvectors |
| fANorm | anorm value | |
| pBeta | Beta array that are calcuated during lanczos iteration | |
| nIterationCount | Iteration count until eigenvalue solving |
Definition at line 1138 of file KNLanczosMethod.cpp.
References ERROR_MALLOC.
|
private |
Checking convergence criteria.
| nEigenValueCount | The numbers of eigenvalue that was calculated by before processing |
| pEigenValues | Eigenvalues that was calculated by before processing |
| pEigneVectors | Eigenvectors that was calculated by before processing |
| pbValidEigenValue | Array for checking valid eigen value |
| fANorm | anorm value |
| pBeta | Beta array that are calcuated during lanczos iteration |
| nIterationCount | Iteration count until eigenvalue solving |
Definition at line 1101 of file KNLanczosMethod.cpp.
|
private |
Distinguish clusters values.
| nEigenValueCount | The numbers of eigenvalue that was calculated by before processing | |
| pEigenValues | Eigenvalues that was calculated by before processing | |
| pEigneVectors | Eigenvectors that was calculated by before processing | |
| [out] | pNonClustersValues | Non clusters eigenvalues |
| [out] | pNonClustersVectors | Non clusters eigenvectors |
| nIterationCount | Iteration count until eigenvalue solving |
Definition at line 1271 of file KNLanczosMethod.cpp.
References ERROR_MALLOC.
|
private |
Distinguish clusters values.
| nEigenValueCount | The numbers of eigenvalue that was calculated by before processing |
| pEigenValues | Eigenvalues that was calculated by before processing |
| pEigneVectors | Eigenvectors that was calculated by before processing |
| pbValidEigenValue | : Array for checking valid eigen value |
| nIterationCount | Iteration count until eigenvalue solving |
Definition at line 1233 of file KNLanczosMethod.cpp.
|
private |
Every user set iteration count calculate eigenvalues.
| nIterationCount | Iteration count until eigenvalue solving | |
| pAlpha | Alpha array that are calcuated during lanczos iteration | |
| pBeta | Beta array that are calcuated during lanczos iteration | |
| fANorm | anorm value | |
| [out] | lpResult | Calculated eigenvalues, eigenvectors and its numbers |
| bFinal | It is or not final iteration |
< For test inverse iteration
Definition at line 872 of file KNLanczosMethod.cpp.
References DO_NOT_CONVERGENCE_CHECKING, ERROR_MALLOC, FREE_MEM, inverse_iter(), CKNMPIManager::IsRootRank(), and CKNLanczosMethod::EIGENVALUE_RESULT::nEigenValueCount.

| CKNLanczosMethod::LPEIGENVALUE_RESULT CKNLanczosMethod::DoLanczosMethod | ( | CKNMatrixOperation::CKNCSR * | pAMatrix, |
| unsigned int | nIterationCount, | ||
| unsigned int | nEigenValueCheckInterval, | ||
| unsigned int | nEigenValueCount, | ||
| double | fEigenvalueMin, | ||
| double | fEignevalueMax, | ||
| double | fConvergenceTolerance, | ||
| bool | bReorthogonalization, | ||
| bool | bCalcuEigVector, | ||
| bool | bWaveFunction, | ||
| double | load_in_MIC, | ||
| CKNMatrixOperation::CKNCSR * | pmylocalblock = NULL, |
||
| CKNMatrixOperation::CKNCSR * | leftlocalblock = NULL, |
||
| CKNMatrixOperation::CKNCSR * | rightlocalblock = NULL |
||
| ) |
Doing lanczos method.
| pAMatrix | The matrix that was wanted to get eigenvalues |
| nIterationCount | Lanczos iteration numbers that want to running |
| nEigenValueCheckInterval | Eigen value will be calculated every eigen value check interval * n |
| nEigenValueCount | How many eigenvalue will be get by this operation |
| fEigenvalueMin | The minimum value of eigenvalue |
| fEigenvalueMax | The maximum value of eigenvalue |
| bReorthogonalization | Do reorthogonalization or not |
| bCalcuEigVector | Do calculate eigen vector or not |
| bWaveFunction | Do calculate wavefunction or not |
| load_in_MIC | MIC load number |
| mylocalblock | The block matrix of my rank |
| leftlocalblock | The block matrix of left neighbor core |
| rightlocalblock | The block matrix of right neighbor core |
Definition at line 130 of file KNLanczosMethod.cpp.
References ERROR_MALLOC, and CKNMatrixOperation::CKNCSR::GetColumnCount().
Referenced by CKNLanczosTest::CompareWithMatLabSeOrth(), CKNLanczosTest::COmpareWIthMatLabSeOrthMPI(), CKNLanczosTest::LanczosThread(), CKNLanczosTest::LanczosThreadForMPI(), CKNLanczosTest::LargeSizeMatrixMPI(), CKNTBMS_Solver::Launching_TBMS_Solver(), CKNLanczosLaunching::LaunchingLanczos(), CKNLanczosTest::SolvingLargeSizeHamlitonian(), CKNLanczosTest::TestLanczos(), and CKNLanczosTest::TestSimpleLanczos().


|
private |
Residual checking.
| pAMatrix | The matrix that was wanted to get eigenvalues |
| lpResult | Calculated eigenvalue result |
Definition at line 1565 of file KNLanczosMethod.cpp.
References CKNMPIManager::BroadcastDouble(), CKNMatrixOperation::CKNVector::Finalize(), GENERAL_TOLERANCE, CKNMatrixOperation::CKNCSR::GetColumnCount(), CKNMPIManager::GetCurrentLoadBalanceCount(), CKNMatrixOperation::CKNVector::GetNorm(), CKNMPIManager::IsRootRank(), CKNMatrixOperation::IsSame(), CKNMatrixOperation::CKNVector::MinusVector(), CKNMatrixOperation::MVMul(), CKNLanczosMethod::EIGENVALUE_RESULT::nEigenValueCount, CKNLanczosMethod::EIGENVALUE_RESULT::pEigenValueFoundIteration, CKNLanczosMethod::EIGENVALUE_RESULT::pEigenValues, CKNLanczosMethod::EIGENVALUE_RESULT::pEigenVectorsForAMatrix, CKNLanczosMethod::EIGENVALUE_RESULT::pWaveFunctions, CKNMatrixOperation::CKNVector::ScalarMultiple(), CKNMatrixOperation::CKNVector::SetSize(), and SHOW_SIMPLE_MSG.

|
private |
Do selective reorthogonalization.
| nIterationCount | Iteration count until eigenvalue solving |
Currently isn't implement.
Definition at line 719 of file KNLanczosMethod.cpp.
|
private |
EigenValue Solving.
| nIterationCount | Iteration count until eigenvalue solving | |
| pAlpha | Alpha array that are calcuated during lanczos iteration | |
| pBeta | Beta array that are calcuated during lanczos iteration | |
| [out] | pEigenValues | Calculated eigenvalue will be stored. |
| [out] | pEigenVectors | Calculated eigenvectors will be stored. |
< Only for dstebz_
For finding optimized lwork value calling dsyevx function using lwork set -1
Definition at line 1321 of file KNLanczosMethod.cpp.
References CKNTimeMeasurement::EVALUE_FREE_MEM, CKNTimeMeasurement::EVALUE_MALLOC, FREE_MEM, CKNTimeMeasurement::MeasurementEnd(), and CKNTimeMeasurement::MeasurementStart().

|
private |
Extract value by condition that described in filter.
| [out] | pTarget | Target buffer that save extracted values |
| pSource | Source buffer that has original values | |
| nSrcCount | Source buffer size | |
| pFilter | Buffer that have extract condition information(index data) | |
| nFilterCount | Condition buffer size | |
| bExclusive | Using filter for exclusive or not |
Definition at line 1421 of file KNLanczosMethod.cpp.
|
private |
Extract vectors by condition that described in filter.
| nVectorsize | Handing vector size | |
| [out] | pTarget | Target buffer that save extracted vectors |
| pSource | Source buffer that has original vectors | |
| nSrcCount | Source buffer size | |
| pFilter | Buffer that have extract condition information(index data) | |
| nFilterCount | Condition buffer size | |
| bExclusive | Using filter for exclusive or not |
Definition at line 1453 of file KNLanczosMethod.cpp.
|
private |
Deallocating omega, alpha, beta.
| pAlpha | Alpha array double pointer that deallocating memory |
| pBeta | Beta array double pointer that deallocating memory |
| pWj | vector for selective reorthogonalization |
| pWjm1 | vector for selective reorthogonalization |
| pWjp1 | vector for selective reorthogonalization |
| pW | Omega array double pointer that deallocating memory |
Definition at line 645 of file KNLanczosMethod.cpp.
References FREE_MEM, CKNTimeMeasurement::FREE_MEM, CKNMPIManager::IsRootRank(), CKNTimeMeasurement::MeasurementEnd(), and CKNTimeMeasurement::MeasurementStart().

|
private |
Finalize temporary eigenvalue arrays and vectors.
Definition at line 95 of file KNLanczosMethod.cpp.
References FREE_MEM.
|
private |
Deallocating lanczos vectors.
Definition at line 595 of file KNLanczosMethod.cpp.
References CKNTimeMeasurement::FREE_MEM, CKNTimeMeasurement::MeasurementEnd(), and CKNTimeMeasurement::MeasurementStart().

|
private |
Initialize temporary eigenvalue arrays and vectors.
| nIterationCount | Lanczos iteration count |
Definition at line 76 of file KNLanczosMethod.cpp.
References ALLOC_WITH_NULL_INIT, CKNTimeMeasurement::MALLOC, CKNTimeMeasurement::MeasurementEnd(), and CKNTimeMeasurement::MeasurementStart().

|
private |
Init omega, alpha, beta array.
| pAlpha | Alpha array double pointer that allocating memory for return |
| pBeta | Beta array double pointer that allocating memory for return |
| pW | Omega array pointer that allocating memory for return |
| pWj | vector for selective reorthogonalization |
| pWjm1 | vector for selective reorthogonalization |
| pWjp1 | vector for selective reorthogonalization |
Definition at line 617 of file KNLanczosMethod.cpp.
References CKNMPIManager::IsRootRank(), CKNTimeMeasurement::MALLOC, CKNTimeMeasurement::MeasurementEnd(), and CKNTimeMeasurement::MeasurementStart().

|
private |
Init lanczos vectors.
Definition at line 576 of file KNLanczosMethod.cpp.
References CKNMPIManager::GetCurrentLoadBalanceCount(), CKNTimeMeasurement::MALLOC, CKNTimeMeasurement::MeasurementEnd(), and CKNTimeMeasurement::MeasurementStart().

|
private |
Deallocating member variables.
Definition at line 1395 of file KNLanczosMethod.cpp.
References CKNTimeMeasurement::FREE_MEM, CKNTimeMeasurement::MeasurementEnd(), and CKNTimeMeasurement::MeasurementStart().

|
private |
Integrating computing solution during Lanczos method operation.
| nIterationCount | IterationCount until now |
| lpResult | Already calculated eigenvalue result |
| nCalculatedEigenValueCount | Last time calculated eigenvalue count |
| pCalcuResult_Value | Last time calculated eigenvalues |
| pCalcuResult_Vector | Last time calculated eigenvectors |
Definition at line 1051 of file KNLanczosMethod.cpp.
References GENERAL_TOLERANCE, CKNMatrixOperation::IsSame(), CKNLanczosMethod::EIGENVALUE_RESULT::nEigenValueCount, CKNLanczosMethod::EIGENVALUE_RESULT::nEigenValueCountForMemeory, CKNLanczosMethod::EIGENVALUE_RESULT::nMaxEigenValueFoundIteration, CKNLanczosMethod::EIGENVALUE_RESULT::pEigenValueFoundIteration, CKNLanczosMethod::EIGENVALUE_RESULT::pEigenValues, and CKNLanczosMethod::EIGENVALUE_RESULT::pEigenVectors.

|
private |
Integrating computing solution during Lanczos method operation.
| nIterationCount | IterationCount until now |
| lpResult | Already calculated eigenvalue result |
| nCalculatedEigenValueCount | Converged check passwd eigen value |
| nCalculatedEigenValueCount | Last time calculated eigenvalue count |
| pCalcuResult_Value | Last time calculated eigenvalues |
| pCalcuResult_Vector | Last time calculated eigenvectors |
| pbValidEigenValue | Array for checking valid eigen value |
Definition at line 948 of file KNLanczosMethod.cpp.
References GENERAL_TOLERANCE, CKNMatrixOperation::IsSame(), CKNTimeMeasurement::MALLOC, CKNTimeMeasurement::MeasurementEnd(), CKNTimeMeasurement::MeasurementStart(), CKNLanczosMethod::EIGENVALUE_RESULT::nEigenValueCount, CKNLanczosMethod::EIGENVALUE_RESULT::nEigenVectorSize, CKNLanczosMethod::EIGENVALUE_RESULT::nMaxEigenValueFoundIteration, CKNLanczosMethod::EIGENVALUE_RESULT::pEigenValueFoundIteration, CKNLanczosMethod::EIGENVALUE_RESULT::pEigenValues, and CKNLanczosMethod::EIGENVALUE_RESULT::pEigenVectors.

|
inlinestatic |
Definition at line 63 of file KNLanczosMethod.h.
References m_bStop.
Referenced by CKNLanczosTest::LanczosThread(), and CKNLanczosTest::LanczosThreadForMPI().

|
private |
Doing lanczos basic iteration.
Definition at line 173 of file KNLanczosMethod.cpp.
References CKNMPIManager::BroadcastLanczosResult(), CKNMatrixOperation::CKNVector::Finalize(), CKNMPIManager::GetCurrentLoadBalanceCount(), CKNMPIManager::GetLanczosGroupIndex(), CKNMPIManager::IsMultiLevelMPI(), CKNMPIManager::IsRootRank(), m_bStop, CKNTimeMeasurement::MALLOC, CKNTimeMeasurement::MeasurementEnd(), CKNTimeMeasurement::MeasurementStart(), CKNLanczosMethod::EIGENVALUE_RESULT::nDegeneratedEigenValueCount, CKNLanczosMethod::EIGENVALUE_RESULT::nEigenValueCount, CKNLanczosMethod::EIGENVALUE_RESULT::nMaxEigenValueFoundIteration, CKNMatrixOperation::CKNVector::Normalize(), CKNLanczosMethod::EIGENVALUE_RESULT::pDegeneratedIndex, CKNLanczosMethod::EIGENVALUE_RESULT::pEigenValueFoundIteration, CKNLanczosMethod::EIGENVALUE_RESULT::pEigenValues, CKNLanczosMethod::EIGENVALUE_RESULT::pEigenVectors, CKNLanczosMethod::EIGENVALUE_RESULT::pEigenVectorsForAMatrix, CKNLanczosMethod::EIGENVALUE_RESULT::pWaveFunctions, CKNMatrixOperation::CKNVector::SetAt(), and CKNMatrixOperation::CKNVector::SetSize().

|
private |
Doing lanczos basic iteration.
| lpResult | [out]: Calculated eigenvectors, eigenvectors and its count |
| V1 | Initial V vector |
| nIterationCount | Iteration count until eigenvalue solving |
| pAlpah | Alpah array that are calcuated during lanczos iteration |
| pAlphaReal | Alpha array real part that are calcuated during lanczos iteration |
| pBeta | Beta array that are calcuated during lanczos iteration |
| pWj | vector for selective reorthogonalization |
| pWjm1 | vector for selective reorthogonalization |
| pWjp1 | vector for selective reorthogonalization |
| bMakeEigVectgor | Option for calculate eigenvector or not |
Using Xeon Phi
aj <- wj*vj
bj+1 <- ||wj||
vj+1 <- wj/bj+1
< After doing selective reorthogonalization calculate vj+1 value
Definition at line 303 of file KNLanczosMethod.cpp.
References CKNMPIManager::BroadcastBool(), CKNTimeMeasurement::COMM, CKNTimeMeasurement::EVALUE, CKNMatrixOperation::CKNVector::Finalize(), CKNMPIManager::GetCurrentLoadBalanceCount(), CKNMPIManager::GetCurrentRank(), CKNMPIManager::GetMPIComm(), CKNMatrixOperation::CKNVector::GetNorm(), CKNComplex::GetRealNumber(), CKNMPIManager::GetTotalNodeCount(), CKNMPIManager::IsRootRank(), m_bStop, CKNMatrixOperation::CKNVector::m_vectValueImaginaryBuffer, CKNMatrixOperation::CKNVector::m_vectValueRealBuffer, CKNTimeMeasurement::MeasurementEnd(), CKNTimeMeasurement::MeasurementStart(), CKNTimeMeasurement::MVMUL, CKNMatrixOperation::MVMulEx_Optimal(), CKNMatrixOperation::MVMulOptimal(), CKNLanczosMethod::EIGENVALUE_RESULT::nEigenValueCount, CKNMatrixOperation::CKNVector::ScalarDivision(), CKNMatrixOperation::CKNVector::ScalarMultiThanMinusVector(), CKNMatrixOperation::CKNVector::SetSize(), CKNIPCCUtility::ShowMsg(), CKNTimeMeasurement::VVDOT, and CKNMatrixOperation::VVDot().

|
static |
Merging eigenvalue into mater group.
| lpResult | Strcuture that include eigen values and eigen vectors |
| nFindingDegeneratedEVCount | Degenerated eigenvalue computing group |
| pA | Problem matrix |
| pLocalBlock | The block matrix of my rank |
| pLeftBlock | The block matrix of left neighbor core |
| pRightBlock | The block matrix of right neighbor core |
< Gather Eigenvalues to master group
< Checking orthgonality of eigenvectors that corresponded to degenerated eigenvalue
< Receive command from deflation master
Definition at line 2010 of file KNLanczosMethod.cpp.
References CKNMPIManager::BarrierAllComm(), CKNMPIManager::BroadcastDouble(), CKNMPIManager::BroadcastInt(), CHECK_EV_ORTH, CHECK_EV_ORTH_SIMPLE, COMMAND_SIZE, DO_ORTHGONAL, CKNMPIManager::ExchangeCommand(), EXIT_MPI_WAIT, CKNMatrixOperation::CKNVector::Finalize(), FREE_MEM, CKNMPIManager::GatherEVFromDeflationGroup(), CKNMPIManager::GatherEVIterationFromDeflationGroup(), GENERAL_TOLERANCE, CKNMPIManager::GetCurrentLoadBalanceCount(), CKNMPIManager::GetCurrentRank(), CKNMPIManager::GetDeflationComm(), CKNMPIManager::GetEigenvalueCountFromDeflationGroup(), CKNMPIManager::GetLanczosComputComm(), CKNMPIManager::GetLanczosGroupIndex(), CKNMatrixOperation::CKNVector::GetNorm(), CKNComplex::GetRealNumber(), CKNMatrixOperation::CKNVector::GetSize(), CKNMPIManager::GetTotalNodeCount(), CKNMatrixOperation::Gram_schmidt(), CKNMPIManager::IsDeflationRoot(), CKNMPIManager::IsLanczosComputeRoot(), CKNMPIManager::IsRootRank(), CKNMatrixOperation::IsSame(), CKNMatrixOperation::IsSameA(), CKNTimeMeasurement::MeasurementEnd(), CKNTimeMeasurement::MeasurementStart(), CKNMatrixOperation::CKNVector::MinusVector(), CKNTimeMeasurement::MVMUL, CKNMatrixOperation::MVMul(), CKNLanczosMethod::EIGENVALUE_RESULT::nDegeneratedEigenValueCount, CKNLanczosMethod::EIGENVALUE_RESULT::nEigenValueCount, NOT_SEND_BACK_EV, CKNLanczosMethod::EIGENVALUE_RESULT::pDegeneratedEigenValues, CKNLanczosMethod::EIGENVALUE_RESULT::pDegeneratedIndex, CKNLanczosMethod::EIGENVALUE_RESULT::pEigenValueFoundIteration, CKNLanczosMethod::EIGENVALUE_RESULT::pEigenValues, CKNLanczosMethod::EIGENVALUE_RESULT::pEigenVectors, CKNLanczosMethod::EIGENVALUE_RESULT::pEigenVectorsForAMatrix, CKNMPIManager::ReceiveVectorSync(), CKNMatrixOperation::CKNVector::ScalarMultiple(), SEND_BACK_EV, SEND_EV_TO_MASTER, CKNMPIManager::SendVectorSync(), CKNMatrixOperation::CKNVector::SetSize(), TOLERANE_M_10_9, and CKNMatrixOperation::VVDot().
Referenced by CKNTBMS_Solver::Launching_TBMS_Solver(), and CKNLanczosLaunching::LaunchingLanczos().


|
private |
Checking eigenvalue range.
| nEigenValueCount | The numbers of eigenvalue that was calculated by before processing | |
| pEigenValues | Eigenvalues that was calculated by before processing | |
| pEigneVectors | Eigenvectors that was calculated by before processing | |
| [out] | pRangeCheckingEigenValues | Rangechcked eigenvalues |
| [out] | pRangeCheckingVectors | Rangechcked eigenvectors |
| nIterationCount | Iteration count until eigenvalue solving |
Definition at line 1173 of file KNLanczosMethod.cpp.
References ERROR_MALLOC.
|
static |
Recalculating wavefunction after merging degenerated eigenvalues.
| lpResult | Strcuture that include eigen values and eigen vectors |
Definition at line 1873 of file KNLanczosMethod.cpp.
References CKNComplex::GetAbsolute(), CKNMatrixOperation::CKNVector::GetAt(), CKNMPIManager::GetCurrentLoadBalanceCount(), CKNMPIManager::IsDeflationRoot(), CKNLanczosMethod::EIGENVALUE_RESULT::nEigenValueCount, CKNLanczosMethod::EIGENVALUE_RESULT::pEigenVectorsForAMatrix, CKNLanczosMethod::EIGENVALUE_RESULT::pWaveFunctions, and CKNMatrixOperation::CKNVector::SetAt().
Referenced by CKNTBMS_Solver::Launching_TBMS_Solver(), and CKNLanczosLaunching::LaunchingLanczos().


|
static |
Release memory for lanczos method result.
| lpResult | Release target strcutre address |
| bReleaseStruct | Release structure self or not |
Definition at line 1480 of file KNLanczosMethod.cpp.
References CKNMatrixOperation::CKNVector::Finalize(), FREE_MEM, CKNTimeMeasurement::FREE_MEM, CKNTimeMeasurement::MeasurementEnd(), CKNTimeMeasurement::MeasurementStart(), CKNLanczosMethod::EIGENVALUE_RESULT::nDegeneratedEigenValueCount, CKNLanczosMethod::EIGENVALUE_RESULT::nEigenValueCount, CKNLanczosMethod::EIGENVALUE_RESULT::pEigenValueFoundIteration, CKNLanczosMethod::EIGENVALUE_RESULT::pEigenValues, CKNLanczosMethod::EIGENVALUE_RESULT::pEigenVectors, CKNLanczosMethod::EIGENVALUE_RESULT::pEigenVectorsForAMatrix, and CKNLanczosMethod::EIGENVALUE_RESULT::pWaveFunctions.
Referenced by CKNLanczosTest::CompareWithMatLabSeOrth(), CKNLanczosTest::COmpareWIthMatLabSeOrthMPI(), CKNLanczosTest::LanczosThread(), CKNLanczosTest::LanczosThreadForMPI(), CKNLanczosTest::LargeSizeMatrixMPI(), CKNTBMS_Solver::Launching_TBMS_Solver(), CKNLanczosTest::SolvingLargeSizeHamlitonian(), CKNLanczosTest::TestLanczos(), and CKNLanczosTest::TestSimpleLanczos().


|
static |
Comparing computing result function for quick sorting.
| pA | Comparing result A |
| pB | Comparing result B |
Definition at line 2433 of file KNLanczosMethod.cpp.
References CKNLanczosMethod::RESULT_SORT_DATA::fEigenValue, and CKNLanczosMethod::RESULT_SORT_DATA::nEigenValueFoundIteration.
Referenced by SortSolution().

|
static |
Saving Lanczos computation result into file.
| lpResult | Lanczos method result |
| nMatrixSize | Hamiltonian matrix size |
| bCalcuEigenvalue | Flag for result including eigenvector or not |
| bWaveFunction | Flag for result including wavefunction or not |
| pKValue | K points |
| nRepeatCount | Lanczos method repeat count |
Definition at line 1654 of file KNLanczosMethod.cpp.
References CKNMPIManager::Barrier(), DEGENERATED_INDEX, CKNTimeMeasurement::FILEIO, CKNMatrixOperation::CKNVector::GetAt(), CKNMPIManager::GetCurrentRank(), CKNComplex::GetImaginaryNumber(), CKNComplex::GetRealNumber(), CKNMatrixOperation::CKNVector::GetSize(), CKNMPIManager::GetTotalNodeCount(), CKNMPIManager::IsDeflationRoot(), CKNMPIManager::IsRootRank(), CKNTimeMeasurement::MeasurementEnd(), CKNTimeMeasurement::MeasurementStart(), CKNLanczosMethod::EIGENVALUE_RESULT::nEigenValueCount, CKNLanczosMethod::EIGENVALUE_RESULT::pEigenValueFoundIteration, CKNLanczosMethod::EIGENVALUE_RESULT::pEigenValues, CKNLanczosMethod::EIGENVALUE_RESULT::pEigenVectorsForAMatrix, and CKNLanczosMethod::EIGENVALUE_RESULT::pWaveFunctions.
Referenced by CKNTBMS_Solver::Launching_TBMS_Solver(), and CKNLanczosLaunching::LaunchingLanczos().


|
static |
Save calculating result into file.
| lpResult | Strcuture that include eigen values and eigen vectors |
| lpParam | Strcuture that include options parameter for program launching |
| lpMapInfo | Structure that include Atom map |
| pKValue | K values that current stage |
| nRepeatCount | Number of repeat |
Definition at line 1822 of file KNLanczosMethod.cpp.
References CKNTimeMeasurement::COMM, DEGENERATED_INDEX, CKNTimeMeasurement::EVALUE, CKNTimeMeasurement::EVALUE_FREE_MEM, CKNTimeMeasurement::EVALUE_MALLOC, CKNTimeMeasurement::FILEIO, CKNTimeMeasurement::FREE_MEM, CKNTimeMeasurement::GetTakeTime(), CKNMPIManager::GetTotalNodeCount(), CKNTimeMeasurement::GetTotalTakeTime(), CKNMPIManager::IsDeflationRoot(), CKNMPIManager::IsRootRank(), CKNTimeMeasurement::MALLOC, CKNTimeMeasurement::MV_COMM, CKNTimeMeasurement::MV_FREE_MEM, CKNTimeMeasurement::MV_MALLOC, CKNTimeMeasurement::MVMUL, CKNLanczosMethod::EIGENVALUE_RESULT::nEigenValueCount, CKNLanczosMethod::EIGENVALUE_RESULT::pEigenValueFoundIteration, CKNLanczosMethod::EIGENVALUE_RESULT::pEigenValues, CKNIPCCUtility::ShowMsg(), CKNTimeMeasurement::VV_COMM, and CKNTimeMeasurement::VVDOT.
Referenced by CKNTBMS_Solver::Launching_TBMS_Solver(), and CKNLanczosLaunching::LaunchingLanczos().


|
static |
Sorting computing eigenvalue.
| lpResult | Computing result for sorting |
Definition at line 2457 of file KNLanczosMethod.cpp.
References CKNLanczosMethod::RESULT_SORT_DATA::fEigenValue, CKNMatrixOperation::CKNVector::Finalize(), FREE_MEM, CKNMPIManager::GetCurrentLoadBalanceCount(), CKNMPIManager::IsRootRank(), CKNLanczosMethod::EIGENVALUE_RESULT::nEigenValueCount, CKNLanczosMethod::RESULT_SORT_DATA::nEigenValueFoundIteration, CKNLanczosMethod::RESULT_SORT_DATA::nOriginalIndex, CKNLanczosMethod::EIGENVALUE_RESULT::pEigenValueFoundIteration, CKNLanczosMethod::EIGENVALUE_RESULT::pEigenValues, CKNLanczosMethod::EIGENVALUE_RESULT::pEigenVectorsForAMatrix, CKNLanczosMethod::EIGENVALUE_RESULT::pWaveFunctions, ResultCompare(), and CKNMatrixOperation::CKNVector::SetSize().
Referenced by CKNTBMS_Solver::Launching_TBMS_Solver().


|
private |
Checking spurious values.
| nEigenValueCount | The numbers of eigenvalue that was calculated by before processing | |
| pEigenValues | Eigenvalues that was calculated by before processing | |
| pEigneVectors | Eigenvectors that was calculated by before processing | |
| [out] | pNonSpuriousValues | Non Spurious eigenvalues |
| [out] | pNonSpuriousVectors | Non Spurious eigenvectors |
| fANorm | anorm value | |
| nIterationCount | Iteration count until eigenvalue solving |
Definition at line 1202 of file KNLanczosMethod.cpp.
References ERROR_MALLOC.
|
static |
Stop lanczos iteration on going state.
Definition at line 1522 of file KNLanczosMethod.cpp.
References m_bStop.
|
private |
Option for doing or not calculating eigen vector.
Definition at line 112 of file KNLanczosMethod.h.
|
private |
Option for doing or not re-orthogonalization.
Definition at line 111 of file KNLanczosMethod.h.
|
staticprivate |
Determind stop iteration before end of iteration count.
Definition at line 131 of file KNLanczosMethod.h.
Referenced by IsAbort(), LanczosIteration(), LanczosIterationLoop(), and StopIteration().
|
private |
Convergence checking tolerance.
Definition at line 113 of file KNLanczosMethod.h.
|
private |
Minimum range of eigenvalue.
Definition at line 109 of file KNLanczosMethod.h.
|
private |
Maxinum range of eigenvalue.
Definition at line 110 of file KNLanczosMethod.h.
|
private |
Computing ratio of CPU vs. MIC.
Definition at line 129 of file KNLanczosMethod.h.
|
private |
A interval for checking T matrix eigenvlaue.
Definition at line 107 of file KNLanczosMethod.h.
|
private |
A numbers of eigenvlaue that want to calculation.
Definition at line 108 of file KNLanczosMethod.h.
|
private |
A counts of lanczos interation.
Definition at line 106 of file KNLanczosMethod.h.
|
private |
A size of Hemiltonian matrix.
Definition at line 105 of file KNLanczosMethod.h.
|
private |
A member variable for reference Hemiltonian matrix.
Definition at line 103 of file KNLanczosMethod.h.
|
private |
A member variable for reference Hemiltonian matrix.
Definition at line 101 of file KNLanczosMethod.h.
|
private |
A member variable for reference Hemiltonian matrix.
Definition at line 102 of file KNLanczosMethod.h.
|
private |
A member variable for reference Hemiltonian matrix.
Definition at line 104 of file KNLanczosMethod.h.
|
private |
A temporary check index array for cluster check function.
Definition at line 128 of file KNLanczosMethod.h.
|
private |
A temporary eigenvalue array for converged check function.
Definition at line 116 of file KNLanczosMethod.h.
|
private |
A temporary eigenvector array for converged check function.
Definition at line 117 of file KNLanczosMethod.h.
|
private |
A temporary index array for converged check function.
Definition at line 126 of file KNLanczosMethod.h.
|
private |
A temporary eigenvalue array for eig solver.
Definition at line 114 of file KNLanczosMethod.h.
|
private |
A temporary eigenvector array for eig solver.
Definition at line 115 of file KNLanczosMethod.h.
|
private |
A temporary index array for cluster check function.
Definition at line 127 of file KNLanczosMethod.h.
|
private |
A temporary eigenvalue array for cluster check function.
Definition at line 122 of file KNLanczosMethod.h.
|
private |
A temporary eigenvector array for cluster check function.
Definition at line 123 of file KNLanczosMethod.h.
|
private |
A temporary eigenvalue array for spurious value check function.
Definition at line 120 of file KNLanczosMethod.h.
|
private |
A temporary eigenvector array for spurious value check function.
Definition at line 121 of file KNLanczosMethod.h.
|
private |
A temporary index array for Spurious check function.
Definition at line 125 of file KNLanczosMethod.h.
|
private |
A temporary eigenvalue array for range check function.
Definition at line 118 of file KNLanczosMethod.h.
|
private |
A temporary eigenvector array for range check function.
Definition at line 119 of file KNLanczosMethod.h.
|
private |
A temporary index array for range check function.
Definition at line 124 of file KNLanczosMethod.h.
|
private |
A member variable for saveing lanczos vectors.
Definition at line 100 of file KNLanczosMethod.h.