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

Classes | |
| struct | EIGENVALUE_RESULT |
| Structure for engienvalue computing. More... | |
| struct | RESULT_SORT_DATA |
| Structure for eigenvalue result sorting. More... | |
Public Types | |
| typedef struct CLanczosMethod::EIGENVALUE_RESULT * | LPEIGENVALUE_RESULT |
| typedef struct CLanczosMethod::RESULT_SORT_DATA * | LPRESULT_SORT_DATA |
Public Member Functions | |
| CLanczosMethod () | |
| Constructor. More... | |
| ~CLanczosMethod () | |
| Destructor. More... | |
| LPEIGENVALUE_RESULT | DoLanczosMethod (CMatrixOperation::CCSR *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, CMatrixOperation::CCSR *pmylocalblock=NULL, CMatrixOperation::CCSR *leftlocalblock=NULL, CMatrixOperation::CCSR *rightlocalblock=NULL) |
| Doing lanczos method. More... | |
| void | SetLBIndex (int nLBIndex) |
| int | GetLBIndex () |
| void | SortSolution (LPEIGENVALUE_RESULT lpResult) |
| Sorting computing eigenvalue. More... | |
| void | MergeDegeneratedEigenvalues (CLanczosMethod::LPEIGENVALUE_RESULT lpResult, unsigned int nFindingDegeneratedEVCount, CMatrixOperation::CCSR *pA, CMatrixOperation::CCSR *pLocalBlock, CMatrixOperation::CCSR *pLeftBlock, CMatrixOperation::CCSR *pRightBlock) |
| Merging eigenvalue into mater group. More... | |
| void | RecalcuWaveFunction (CLanczosMethod::LPEIGENVALUE_RESULT lpResult) |
| Recalculating wavefunction after merging degenerated eigenvalues. More... | |
Static Public Member Functions | |
| static void | SaveLanczosResult (CLanczosMethod::LPEIGENVALUE_RESULT lpResult, bool bCalcuEigenvalue, bool bWaveFunction, double *pKValue, int nRepeatCount) |
| Saving Lanczos computation result into file. More... | |
| static void | ShowLanczosResult (CLanczosMethod::LPEIGENVALUE_RESULT lpResult, bool bCalculateEigenVectors, bool bCalculateWaveFunction, double *pKValue, int nRepeatCount) |
| Showing calculating result into screen. More... | |
| static void | ShowLanczosWorkingTime () |
| Showing operation time into screen. 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, CMatrixOperation::CVector *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 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 (CComplex **pAlpha, double **pAlphaReal, double **pBeta, double **pWj, double **pWjm1, double **pWjp1, CMatrixOperation::CVector **pW) |
| Init omega, alpha, beta array. More... | |
| void | FinalizeLanczosInterationVariable (CComplex *pAlpha, double *pAlphaReal, double *pBeta, double *pWj, double *pWjm1, double *pWjp1, CMatrixOperation::CVector *pW) |
| Deallocating omega, alpha, beta. More... | |
| LPEIGENVALUE_RESULT | LanczosIteration () |
| Doing lanczos basic iteration. More... | |
| void | LanczosIterationLoop (LPEIGENVALUE_RESULT lpResult, CMatrixOperation::CVector *V1, unsigned int nIterationCount, CComplex *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, CMatrixOperation::CVector 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 (CMatrixOperation::CCSR *pAMatrix, LPEIGENVALUE_RESULT lpResult) |
| Residual checking. More... | |
Private Attributes | |
| CMatrixOperation::CVector * | m_pV |
| A member variable for saveing lanczos vectors. More... | |
| CMatrixOperation::CCSR * | m_pAMatrix |
| A member variable for reference Hemiltonian matrix. More... | |
| CMatrixOperation::CCSR * | m_pAMyLocalBlock |
| A member variable for reference Hemiltonian matrix. More... | |
| CMatrixOperation::CCSR * | m_pALeftBlock |
| A member variable for reference Hemiltonian matrix. More... | |
| CMatrixOperation::CCSR * | 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... | |
| int | m_nLBIndex |
Static Private Attributes | |
| static bool | m_bStop = false |
| Determind stop iteration before end of iteration count. More... | |
| typedef struct CLanczosMethod::EIGENVALUE_RESULT * CLanczosMethod::LPEIGENVALUE_RESULT |
| typedef struct CLanczosMethod::RESULT_SORT_DATA * CLanczosMethod::LPRESULT_SORT_DATA |
| CLanczosMethod::CLanczosMethod | ( | ) |
Constructor.
Definition at line 31 of file LanczosMethod.cpp.
| CLanczosMethod::~CLanczosMethod | ( | ) |
Destructor.
Definition at line 66 of file LanczosMethod.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 1972 of file LanczosMethod.cpp.
References CLanczosMethod::EIGENVALUE_RESULT::nEigenValueCount, CLanczosMethod::EIGENVALUE_RESULT::pEigenValueFoundIteration, and CLanczosMethod::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 2005 of file LanczosMethod.cpp.
References CMatrixOperation::CVector::Finalize(), CMatrixOperation::CVector::GetSize(), CTimeMeasurement::MALLOC, CTimeMeasurement::MeasurementEnd(), CTimeMeasurement::MeasurementStart(), CLanczosMethod::EIGENVALUE_RESULT::nEigenValueCount, CLanczosMethod::EIGENVALUE_RESULT::pEigenVectorsForAMatrix, CLanczosMethod::EIGENVALUE_RESULT::pWaveFunctions, and CMatrixOperation::CVector::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 1410 of file LanczosMethod.cpp.
References ERROR_MALLOC, CTimeMeasurement::MALLOC, CTimeMeasurement::MeasurementEnd(), and CTimeMeasurement::MeasurementStart().

|
private |
Building wavefunction.
| lpResult | Calculated eigenvalue result |
Definition at line 1574 of file LanczosMethod.cpp.
References CComplex::GetAbsolute(), CMatrixOperation::CVector::GetAt(), CMPIManager::GetCurrentLoadBalanceCount(), CTimeMeasurement::MALLOC, CTimeMeasurement::MeasurementEnd(), CTimeMeasurement::MeasurementStart(), CLanczosMethod::EIGENVALUE_RESULT::nEigenValueCount, CLanczosMethod::EIGENVALUE_RESULT::pEigenVectorsForAMatrix, CLanczosMethod::EIGENVALUE_RESULT::pWaveFunctions, CMatrixOperation::CVector::SetAt(), and CMatrixOperation::CVector::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 701 of file LanczosMethod.cpp.
References CMatrixOperation::CVector::GetAt(), CMPIManager::GetCurrentLoadBalanceCount(), CLanczosMethod::EIGENVALUE_RESULT::nEigenValueCount, CLanczosMethod::EIGENVALUE_RESULT::pEigenValueFoundIteration, CLanczosMethod::EIGENVALUE_RESULT::pEigenVectors, CLanczosMethod::EIGENVALUE_RESULT::pEigenVectorsForAMatrix, and CMatrixOperation::CVector::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 736 of file LanczosMethod.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 2504 of file LanczosMethod.cpp.
Referenced by InitEnvironment(), and CTBMS_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 1181 of file LanczosMethod.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 1144 of file LanczosMethod.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 1314 of file LanczosMethod.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 1276 of file LanczosMethod.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 909 of file LanczosMethod.cpp.
References DO_NOT_CONVERGENCE_CHECKING, ERROR_MALLOC, FREE_MEM, inverse_iter(), CMPIManager::IsRootRank(), CTimeMeasurement::MALLOC, CTimeMeasurement::MeasurementEnd(), CTimeMeasurement::MeasurementStart(), and CLanczosMethod::EIGENVALUE_RESULT::nEigenValueCount.

| CLanczosMethod::LPEIGENVALUE_RESULT CLanczosMethod::DoLanczosMethod | ( | CMatrixOperation::CCSR * | 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, | ||
| CMatrixOperation::CCSR * | pmylocalblock = NULL, |
||
| CMatrixOperation::CCSR * | leftlocalblock = NULL, |
||
| CMatrixOperation::CCSR * | 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 129 of file LanczosMethod.cpp.
References ERROR_MALLOC, and CMatrixOperation::CCSR::GetColumnCount().
Referenced by CTBMS_Solver::Launching_TBMS_Solver(), CLanczosLaunching::LaunchingLanczos(), and CSPLoop::SolveSchroedinger().


|
private |
Residual checking.
| pAMatrix | The matrix that was wanted to get eigenvalues |
| lpResult | Calculated eigenvalue result |
Definition at line 1609 of file LanczosMethod.cpp.
References CMPIManager::BroadcastDouble(), CMatrixOperation::CVector::Finalize(), GENERAL_TOLERANCE, CMatrixOperation::CCSR::GetColumnCount(), CMPIManager::GetCurrentLoadBalanceCount(), CMatrixOperation::CVector::GetNorm(), CMPIManager::IsRootRank(), CMatrixOperation::IsSame(), CTimeMeasurement::MeasurementEnd(), CTimeMeasurement::MeasurementStart(), CMatrixOperation::CVector::MinusVector(), CTimeMeasurement::MVMUL, CMatrixOperation::MVMul(), CLanczosMethod::EIGENVALUE_RESULT::nEigenValueCount, CLanczosMethod::EIGENVALUE_RESULT::pEigenValueFoundIteration, CLanczosMethod::EIGENVALUE_RESULT::pEigenValues, CLanczosMethod::EIGENVALUE_RESULT::pEigenVectorsForAMatrix, CLanczosMethod::EIGENVALUE_RESULT::pWaveFunctions, CMatrixOperation::CVector::ScalarMultiple(), CMatrixOperation::CVector::SetSize(), and SHOW_SIMPLE_MSG.

|
private |
Do selective reorthogonalization.
| nIterationCount | Iteration count until eigenvalue solving |
Currently isn't implement.
Definition at line 747 of file LanczosMethod.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 1364 of file LanczosMethod.cpp.
References CTimeMeasurement::EVALUE_FREE_MEM, CTimeMeasurement::EVALUE_MALLOC, FREE_MEM, CTimeMeasurement::MeasurementEnd(), and CTimeMeasurement::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 1465 of file LanczosMethod.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 1497 of file LanczosMethod.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 673 of file LanczosMethod.cpp.
References FREE_MEM, CTimeMeasurement::FREE_MEM, CMPIManager::IsRootRank(), CTimeMeasurement::MeasurementEnd(), and CTimeMeasurement::MeasurementStart().

|
private |
Finalize temporary eigenvalue arrays and vectors.
Definition at line 94 of file LanczosMethod.cpp.
References FREE_MEM.
|
private |
Deallocating lanczos vectors.
Definition at line 623 of file LanczosMethod.cpp.
References CTimeMeasurement::FREE_MEM, CTimeMeasurement::MeasurementEnd(), and CTimeMeasurement::MeasurementStart().

|
inline |
Definition at line 56 of file LanczosMethod.h.
References m_nLBIndex.
Referenced by CSPLoop::executeSPLoop().

|
private |
Initialize temporary eigenvalue arrays and vectors.
| nIterationCount | Lanczos iteration count |
Definition at line 75 of file LanczosMethod.cpp.
References ALLOC_WITH_NULL_INIT, CTimeMeasurement::MALLOC, CTimeMeasurement::MeasurementEnd(), and CTimeMeasurement::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 645 of file LanczosMethod.cpp.
References CMPIManager::IsRootRank(), CTimeMeasurement::MALLOC, CTimeMeasurement::MeasurementEnd(), and CTimeMeasurement::MeasurementStart().

|
private |
Init lanczos vectors.
Definition at line 604 of file LanczosMethod.cpp.
References CMPIManager::GetCurrentLoadBalanceCount(), CTimeMeasurement::MALLOC, CTimeMeasurement::MeasurementEnd(), and CTimeMeasurement::MeasurementStart().

|
private |
Deallocating member variables.
Definition at line 1438 of file LanczosMethod.cpp.
References CTimeMeasurement::FREE_MEM, CTimeMeasurement::MeasurementEnd(), and CTimeMeasurement::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 1094 of file LanczosMethod.cpp.
References GENERAL_TOLERANCE, CMatrixOperation::IsSame(), CLanczosMethod::EIGENVALUE_RESULT::nEigenValueCount, CLanczosMethod::EIGENVALUE_RESULT::nEigenValueCountForMemeory, CLanczosMethod::EIGENVALUE_RESULT::nMaxEigenValueFoundIteration, CLanczosMethod::EIGENVALUE_RESULT::pEigenValueFoundIteration, CLanczosMethod::EIGENVALUE_RESULT::pEigenValues, and CLanczosMethod::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 991 of file LanczosMethod.cpp.
References GENERAL_TOLERANCE, CMatrixOperation::IsSame(), CTimeMeasurement::MALLOC, CTimeMeasurement::MeasurementEnd(), CTimeMeasurement::MeasurementStart(), CLanczosMethod::EIGENVALUE_RESULT::nEigenValueCount, CLanczosMethod::EIGENVALUE_RESULT::nEigenVectorSize, CLanczosMethod::EIGENVALUE_RESULT::nMaxEigenValueFoundIteration, CLanczosMethod::EIGENVALUE_RESULT::pEigenValueFoundIteration, CLanczosMethod::EIGENVALUE_RESULT::pEigenValues, and CLanczosMethod::EIGENVALUE_RESULT::pEigenVectors.

|
inlinestatic |
Definition at line 65 of file LanczosMethod.h.
References m_bStop.
|
private |
Doing lanczos basic iteration.
Definition at line 178 of file LanczosMethod.cpp.
References CMPIManager::BroadcastLanczosResult(), CMatrixOperation::CVector::Finalize(), CMPIManager::GetCurrentLoadBalanceCount(), CMPIManager::GetLanczosGroupIndex(), CMPIManager::IsMultiLevelMPI(), CMPIManager::IsRootRank(), m_bStop, CTimeMeasurement::MALLOC, CTimeMeasurement::MeasurementEnd(), CTimeMeasurement::MeasurementStart(), CLanczosMethod::EIGENVALUE_RESULT::nDegeneratedEigenValueCount, CLanczosMethod::EIGENVALUE_RESULT::nEigenValueCount, CLanczosMethod::EIGENVALUE_RESULT::nMaxEigenValueFoundIteration, CMatrixOperation::CVector::Normalize(), CLanczosMethod::EIGENVALUE_RESULT::pDegeneratedIndex, CLanczosMethod::EIGENVALUE_RESULT::pEigenValueFoundIteration, CLanczosMethod::EIGENVALUE_RESULT::pEigenValues, CLanczosMethod::EIGENVALUE_RESULT::pEigenVectors, CLanczosMethod::EIGENVALUE_RESULT::pEigenVectorsForAMatrix, CLanczosMethod::EIGENVALUE_RESULT::pWaveFunctions, CMatrixOperation::CVector::SetAt(), and CMatrixOperation::CVector::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 |
aj <- wj*vj
bj+1 <- ||wj||
vj+1 <- wj/bj+1
< After doing selective reorthogonalization calculate vj+1 value
Definition at line 308 of file LanczosMethod.cpp.
References CMPIManager::BroadcastBool(), CTimeMeasurement::COMM, CTimeMeasurement::EVALUE, CMatrixOperation::CVector::Finalize(), CMPIManager::GetCurrentLoadBalanceCount(), CMPIManager::GetCurrentRank(), CMPIManager::GetMPIComm(), CMatrixOperation::CVector::GetNorm(), CComplex::GetRealNumber(), CMPIManager::GetTotalNodeCount(), CMPIManager::IsRootRank(), m_bStop, CMatrixOperation::CVector::m_vectValueImaginaryBuffer, CMatrixOperation::CVector::m_vectValueRealBuffer, CTimeMeasurement::MeasurementEnd(), CTimeMeasurement::MeasurementStart(), CTimeMeasurement::MVMUL, CMatrixOperation::MVMulEx_Optimal(), CMatrixOperation::MVMulOptimal(), CLanczosMethod::EIGENVALUE_RESULT::nEigenValueCount, CMatrixOperation::CVector::ScalarDivision(), CMatrixOperation::CVector::ScalarMultiThanMinusVector(), CMatrixOperation::CVector::SetSize(), CUtility::ShowMsg(), CTimeMeasurement::VVDOT, and CMatrixOperation::VVDot().

| void CLanczosMethod::MergeDegeneratedEigenvalues | ( | CLanczosMethod::LPEIGENVALUE_RESULT | lpResult, |
| unsigned int | nFindingDegeneratedEVCount, | ||
| CMatrixOperation::CCSR * | pA, | ||
| CMatrixOperation::CCSR * | pLocalBlock, | ||
| CMatrixOperation::CCSR * | pLeftBlock, | ||
| CMatrixOperation::CCSR * | pRightBlock | ||
| ) |
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 2077 of file LanczosMethod.cpp.
References CMPIManager::BarrierAllComm(), CMPIManager::BroadcastDouble(), CMPIManager::BroadcastInt(), CHECK_EV_ORTH, CHECK_EV_ORTH_SIMPLE, COMMAND_SIZE, DO_ORTHGONAL, CMPIManager::ExchangeCommand(), EXIT_MPI_WAIT, CMatrixOperation::CVector::Finalize(), FREE_MEM, CMPIManager::GatherEVFromDeflationGroup(), CMPIManager::GatherEVIterationFromDeflationGroup(), GENERAL_TOLERANCE, CMPIManager::GetCurrentLoadBalanceCount(), CMPIManager::GetCurrentRank(), CMPIManager::GetDeflationComm(), CMPIManager::GetEigenvalueCountFromDeflationGroup(), CMPIManager::GetLanczosComputComm(), CMPIManager::GetLanczosGroupIndex(), CMatrixOperation::CVector::GetNorm(), CComplex::GetRealNumber(), CMatrixOperation::CVector::GetSize(), CMPIManager::GetTotalNodeCount(), CMatrixOperation::Gram_schmidt(), CMPIManager::IsDeflationRoot(), CMPIManager::IsLanczosComputeRoot(), CMPIManager::IsRootRank(), CMatrixOperation::IsSame(), CMatrixOperation::IsSameA(), CTimeMeasurement::MALLOC, CTimeMeasurement::MeasurementEnd(), CTimeMeasurement::MeasurementStart(), CMatrixOperation::CVector::MinusVector(), CTimeMeasurement::MVMUL, CMatrixOperation::MVMul(), CLanczosMethod::EIGENVALUE_RESULT::nDegeneratedEigenValueCount, CLanczosMethod::EIGENVALUE_RESULT::nEigenValueCount, NOT_SEND_BACK_EV, CLanczosMethod::EIGENVALUE_RESULT::pDegeneratedEigenValues, CLanczosMethod::EIGENVALUE_RESULT::pDegeneratedIndex, CLanczosMethod::EIGENVALUE_RESULT::pEigenValueFoundIteration, CLanczosMethod::EIGENVALUE_RESULT::pEigenValues, CLanczosMethod::EIGENVALUE_RESULT::pEigenVectors, CLanczosMethod::EIGENVALUE_RESULT::pEigenVectorsForAMatrix, CMPIManager::ReceiveVectorSync(), CMatrixOperation::CVector::ScalarMultiple(), SEND_BACK_EV, SEND_EV_TO_MASTER, CMPIManager::SendVectorSync(), CMatrixOperation::CVector::SetSize(), TOLERANE_M_10_9, CTimeMeasurement::VVDOT, and CMatrixOperation::VVDot().
Referenced by CTBMS_Solver::Launching_TBMS_Solver(), CLanczosLaunching::LaunchingLanczos(), and CSPLoop::SolveSchroedinger().


|
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 1216 of file LanczosMethod.cpp.
References ERROR_MALLOC.
| void CLanczosMethod::RecalcuWaveFunction | ( | CLanczosMethod::LPEIGENVALUE_RESULT | lpResult | ) |
Recalculating wavefunction after merging degenerated eigenvalues.
| lpResult | Strcuture that include eigen values and eigen vectors |
Definition at line 1937 of file LanczosMethod.cpp.
References CComplex::GetAbsolute(), CMatrixOperation::CVector::GetAt(), CMPIManager::GetCurrentLoadBalanceCount(), CMPIManager::IsDeflationRoot(), CLanczosMethod::EIGENVALUE_RESULT::nEigenValueCount, CLanczosMethod::EIGENVALUE_RESULT::pEigenVectorsForAMatrix, CLanczosMethod::EIGENVALUE_RESULT::pWaveFunctions, and CMatrixOperation::CVector::SetAt().
Referenced by CTBMS_Solver::Launching_TBMS_Solver(), CLanczosLaunching::LaunchingLanczos(), and CSPLoop::SolveSchroedinger().


|
static |
Release memory for lanczos method result.
| lpResult | Release target strcutre address |
| bReleaseStruct | Release structure self or not |
Definition at line 1524 of file LanczosMethod.cpp.
References CMatrixOperation::CVector::Finalize(), FREE_MEM, CTimeMeasurement::FREE_MEM, CTimeMeasurement::MeasurementEnd(), CTimeMeasurement::MeasurementStart(), CLanczosMethod::EIGENVALUE_RESULT::nDegeneratedEigenValueCount, CLanczosMethod::EIGENVALUE_RESULT::nEigenValueCount, CLanczosMethod::EIGENVALUE_RESULT::pEigenValueFoundIteration, CLanczosMethod::EIGENVALUE_RESULT::pEigenValues, CLanczosMethod::EIGENVALUE_RESULT::pEigenVectors, CLanczosMethod::EIGENVALUE_RESULT::pEigenVectorsForAMatrix, and CLanczosMethod::EIGENVALUE_RESULT::pWaveFunctions.
Referenced by CTBMS_Solver::Launching_TBMS_Solver(), and CSPLoop::SolveSchroedinger().


|
static |
Comparing computing result function for quick sorting.
| pA | Comparing result A |
| pB | Comparing result B |
Definition at line 2524 of file LanczosMethod.cpp.
References CLanczosMethod::RESULT_SORT_DATA::fEigenValue, and CLanczosMethod::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 1700 of file LanczosMethod.cpp.
References CMPIManager::Barrier(), DEGENERATED_INDEX, CTimeMeasurement::FILEIO, CMatrixOperation::CVector::GetAt(), CMPIManager::GetCurrentRank(), CComplex::GetImaginaryNumber(), CComplex::GetRealNumber(), CMatrixOperation::CVector::GetSize(), CMPIManager::GetTotalNodeCount(), CMPIManager::IsDeflationRoot(), CMPIManager::IsRootRank(), CTimeMeasurement::MeasurementEnd(), CTimeMeasurement::MeasurementStart(), CLanczosMethod::EIGENVALUE_RESULT::nEigenValueCount, CLanczosMethod::EIGENVALUE_RESULT::pEigenValueFoundIteration, CLanczosMethod::EIGENVALUE_RESULT::pEigenValues, CLanczosMethod::EIGENVALUE_RESULT::pEigenVectorsForAMatrix, and CLanczosMethod::EIGENVALUE_RESULT::pWaveFunctions.
Referenced by CTBMS_Solver::Launching_TBMS_Solver(), and CLanczosLaunching::LaunchingLanczos().


|
inline |
Definition at line 55 of file LanczosMethod.h.
References m_nLBIndex.
Referenced by CSPLoop::BuildHamiltonian(), CTBMS_Solver::Launching_TBMS_Solver(), and CLanczosLaunching::LaunchingLanczos().

|
static |
Showing calculating result into screen.
| 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 1878 of file LanczosMethod.cpp.
References DEGENERATED_INDEX, CMPIManager::IsDeflationRoot(), CMPIManager::IsRootRank(), CLanczosMethod::EIGENVALUE_RESULT::nEigenValueCount, CLanczosMethod::EIGENVALUE_RESULT::pEigenValueFoundIteration, CLanczosMethod::EIGENVALUE_RESULT::pEigenValues, and CUtility::ShowMsg().
Referenced by CTBMS_Solver::Launching_TBMS_Solver(), CLanczosLaunching::LaunchingLanczos(), and CSPLoop::SolveSchroedinger().


|
static |
Showing operation time into screen.
Definition at line 1901 of file LanczosMethod.cpp.
References CTimeMeasurement::COMM, CTimeMeasurement::EVALUE, CTimeMeasurement::EVALUE_FREE_MEM, CTimeMeasurement::EVALUE_MALLOC, CTimeMeasurement::FILEIO, CTimeMeasurement::FREE_MEM, CTimeMeasurement::GetTakeTime(), CMPIManager::GetTotalNodeCount(), CTimeMeasurement::GetTotalTakeTime(), CMPIManager::IsDeflationRoot(), CMPIManager::IsRootRank(), CTimeMeasurement::MALLOC, CTimeMeasurement::MV_COMM, CTimeMeasurement::MV_FREE_MEM, CTimeMeasurement::MV_MALLOC, CTimeMeasurement::MVMUL, CUtility::ShowMsg(), CTimeMeasurement::VV_COMM, and CTimeMeasurement::VVDOT.
Referenced by CSPLoop::executeSPLoop(), CTBMS_Solver::Launching_TBMS_Solver(), and CLanczosLaunching::LaunchingLanczos().


| void CLanczosMethod::SortSolution | ( | LPEIGENVALUE_RESULT | lpResult | ) |
Sorting computing eigenvalue.
| lpResult | Computing result for sorting |
Definition at line 2548 of file LanczosMethod.cpp.
References CLanczosMethod::RESULT_SORT_DATA::fEigenValue, CMatrixOperation::CVector::Finalize(), FREE_MEM, CMPIManager::GetCurrentLoadBalanceCount(), CMPIManager::IsRootRank(), CTimeMeasurement::MALLOC, CTimeMeasurement::MeasurementEnd(), CTimeMeasurement::MeasurementStart(), CLanczosMethod::EIGENVALUE_RESULT::nEigenValueCount, CLanczosMethod::RESULT_SORT_DATA::nEigenValueFoundIteration, CLanczosMethod::RESULT_SORT_DATA::nOriginalIndex, CLanczosMethod::EIGENVALUE_RESULT::pEigenValueFoundIteration, CLanczosMethod::EIGENVALUE_RESULT::pEigenValues, CLanczosMethod::EIGENVALUE_RESULT::pEigenVectorsForAMatrix, CLanczosMethod::EIGENVALUE_RESULT::pWaveFunctions, ResultCompare(), and CMatrixOperation::CVector::SetSize().
Referenced by CTBMS_Solver::Launching_TBMS_Solver(), and CSPLoop::SolveSchroedinger().


|
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 1245 of file LanczosMethod.cpp.
References ERROR_MALLOC.
|
static |
Stop lanczos iteration on going state.
Definition at line 1566 of file LanczosMethod.cpp.
References m_bStop.
|
private |
Option for doing or not calculating eigen vector.
Definition at line 113 of file LanczosMethod.h.
|
private |
Option for doing or not re-orthogonalization.
Definition at line 112 of file LanczosMethod.h.
|
staticprivate |
Determind stop iteration before end of iteration count.
Definition at line 133 of file LanczosMethod.h.
Referenced by IsAbort(), LanczosIteration(), LanczosIterationLoop(), and StopIteration().
|
private |
Convergence checking tolerance.
Definition at line 114 of file LanczosMethod.h.
|
private |
Minimum range of eigenvalue.
Definition at line 110 of file LanczosMethod.h.
|
private |
Maxinum range of eigenvalue.
Definition at line 111 of file LanczosMethod.h.
|
private |
Computing ratio of CPU vs. MIC.
Definition at line 130 of file LanczosMethod.h.
|
private |
A interval for checking T matrix eigenvlaue.
Definition at line 108 of file LanczosMethod.h.
|
private |
A numbers of eigenvlaue that want to calculation.
Definition at line 109 of file LanczosMethod.h.
|
private |
A counts of lanczos interation.
Definition at line 107 of file LanczosMethod.h.
|
private |
Definition at line 131 of file LanczosMethod.h.
Referenced by GetLBIndex(), and SetLBIndex().
|
private |
A size of Hemiltonian matrix.
Definition at line 106 of file LanczosMethod.h.
|
private |
A member variable for reference Hemiltonian matrix.
Definition at line 104 of file LanczosMethod.h.
|
private |
A member variable for reference Hemiltonian matrix.
Definition at line 102 of file LanczosMethod.h.
|
private |
A member variable for reference Hemiltonian matrix.
Definition at line 103 of file LanczosMethod.h.
|
private |
A member variable for reference Hemiltonian matrix.
Definition at line 105 of file LanczosMethod.h.
|
private |
A temporary check index array for cluster check function.
Definition at line 129 of file LanczosMethod.h.
|
private |
A temporary eigenvalue array for converged check function.
Definition at line 117 of file LanczosMethod.h.
|
private |
A temporary eigenvector array for converged check function.
Definition at line 118 of file LanczosMethod.h.
|
private |
A temporary index array for converged check function.
Definition at line 127 of file LanczosMethod.h.
|
private |
A temporary eigenvalue array for eig solver.
Definition at line 115 of file LanczosMethod.h.
|
private |
A temporary eigenvector array for eig solver.
Definition at line 116 of file LanczosMethod.h.
|
private |
A temporary index array for cluster check function.
Definition at line 128 of file LanczosMethod.h.
|
private |
A temporary eigenvalue array for cluster check function.
Definition at line 123 of file LanczosMethod.h.
|
private |
A temporary eigenvector array for cluster check function.
Definition at line 124 of file LanczosMethod.h.
|
private |
A temporary eigenvalue array for spurious value check function.
Definition at line 121 of file LanczosMethod.h.
|
private |
A temporary eigenvector array for spurious value check function.
Definition at line 122 of file LanczosMethod.h.
|
private |
A temporary index array for Spurious check function.
Definition at line 126 of file LanczosMethod.h.
|
private |
A temporary eigenvalue array for range check function.
Definition at line 119 of file LanczosMethod.h.
|
private |
A temporary eigenvector array for range check function.
Definition at line 120 of file LanczosMethod.h.
|
private |
A temporary index array for range check function.
Definition at line 125 of file LanczosMethod.h.
|
private |
A member variable for saveing lanczos vectors.
Definition at line 101 of file LanczosMethod.h.