hypre 2.32.0
|
A basic interface for eigensolvers. More...
LOBPCG Eigensolver | |
HYPRE_Int | HYPRE_LOBPCGCreate (mv_InterfaceInterpreter *interpreter, HYPRE_MatvecFunctions *mvfunctions, HYPRE_Solver *solver) |
LOBPCG constructor. | |
HYPRE_Int | HYPRE_LOBPCGDestroy (HYPRE_Solver solver) |
LOBPCG destructor. | |
HYPRE_Int | HYPRE_LOBPCGSetPrecond (HYPRE_Solver solver, HYPRE_PtrToSolverFcn precond, HYPRE_PtrToSolverFcn precond_setup, HYPRE_Solver precond_solver) |
(Optional) Set the preconditioner to use. | |
HYPRE_Int | HYPRE_LOBPCGGetPrecond (HYPRE_Solver solver, HYPRE_Solver *precond_data_ptr) |
HYPRE_Int | HYPRE_LOBPCGSetup (HYPRE_Solver solver, HYPRE_Matrix A, HYPRE_Vector b, HYPRE_Vector x) |
Set up A and the preconditioner (if there is one). | |
HYPRE_Int | HYPRE_LOBPCGSetupB (HYPRE_Solver solver, HYPRE_Matrix B, HYPRE_Vector x) |
(Optional) Set up B. | |
HYPRE_Int | HYPRE_LOBPCGSetupT (HYPRE_Solver solver, HYPRE_Matrix T, HYPRE_Vector x) |
(Optional) Set the preconditioning to be applied to Tx = b, not Ax = b. | |
HYPRE_Int | HYPRE_LOBPCGSolve (HYPRE_Solver solver, mv_MultiVectorPtr y, mv_MultiVectorPtr x, HYPRE_Real *lambda) |
Solve A x = lambda B x, y'x = 0. | |
HYPRE_Int | HYPRE_LOBPCGSetTol (HYPRE_Solver solver, HYPRE_Real tol) |
(Optional) Set the absolute convergence tolerance. | |
HYPRE_Int | HYPRE_LOBPCGSetRTol (HYPRE_Solver solver, HYPRE_Real tol) |
(Optional) Set the relative convergence tolerance. | |
HYPRE_Int | HYPRE_LOBPCGSetMaxIter (HYPRE_Solver solver, HYPRE_Int max_iter) |
(Optional) Set maximum number of iterations. | |
HYPRE_Int | HYPRE_LOBPCGSetPrecondUsageMode (HYPRE_Solver solver, HYPRE_Int mode) |
Define which initial guess for inner PCG iterations to use: mode = 0: use zero initial guess, otherwise use RHS. | |
HYPRE_Int | HYPRE_LOBPCGSetPrintLevel (HYPRE_Solver solver, HYPRE_Int level) |
(Optional) Set the amount of printing to do to the screen. | |
utilities_FortranMatrix * | HYPRE_LOBPCGResidualNorms (HYPRE_Solver solver) |
utilities_FortranMatrix * | HYPRE_LOBPCGResidualNormsHistory (HYPRE_Solver solver) |
utilities_FortranMatrix * | HYPRE_LOBPCGEigenvaluesHistory (HYPRE_Solver solver) |
HYPRE_Int | HYPRE_LOBPCGIterations (HYPRE_Solver solver) |
void | hypre_LOBPCGMultiOperatorB (void *data, void *x, void *y) |
void | lobpcg_MultiVectorByMultiVector (mv_MultiVectorPtr x, mv_MultiVectorPtr y, utilities_FortranMatrix *xy) |
A basic interface for eigensolvers.
These eigensolvers support many of the matrix/vector storage schemes in hypre. They should be used in conjunction with the storage-specific interfaces.
HYPRE_Int HYPRE_LOBPCGCreate | ( | mv_InterfaceInterpreter * | interpreter, |
HYPRE_MatvecFunctions * | mvfunctions, | ||
HYPRE_Solver * | solver ) |
LOBPCG constructor.
HYPRE_Int HYPRE_LOBPCGDestroy | ( | HYPRE_Solver | solver | ) |
LOBPCG destructor.
utilities_FortranMatrix * HYPRE_LOBPCGEigenvaluesHistory | ( | HYPRE_Solver | solver | ) |
HYPRE_Int HYPRE_LOBPCGGetPrecond | ( | HYPRE_Solver | solver, |
HYPRE_Solver * | precond_data_ptr ) |
HYPRE_Int HYPRE_LOBPCGIterations | ( | HYPRE_Solver | solver | ) |
void hypre_LOBPCGMultiOperatorB | ( | void * | data, |
void * | x, | ||
void * | y ) |
utilities_FortranMatrix * HYPRE_LOBPCGResidualNorms | ( | HYPRE_Solver | solver | ) |
utilities_FortranMatrix * HYPRE_LOBPCGResidualNormsHistory | ( | HYPRE_Solver | solver | ) |
HYPRE_Int HYPRE_LOBPCGSetMaxIter | ( | HYPRE_Solver | solver, |
HYPRE_Int | max_iter ) |
(Optional) Set maximum number of iterations.
HYPRE_Int HYPRE_LOBPCGSetPrecond | ( | HYPRE_Solver | solver, |
HYPRE_PtrToSolverFcn | precond, | ||
HYPRE_PtrToSolverFcn | precond_setup, | ||
HYPRE_Solver | precond_solver ) |
(Optional) Set the preconditioner to use.
If not called, preconditioning is not used.
HYPRE_Int HYPRE_LOBPCGSetPrecondUsageMode | ( | HYPRE_Solver | solver, |
HYPRE_Int | mode ) |
Define which initial guess for inner PCG iterations to use: mode = 0: use zero initial guess, otherwise use RHS.
HYPRE_Int HYPRE_LOBPCGSetPrintLevel | ( | HYPRE_Solver | solver, |
HYPRE_Int | level ) |
(Optional) Set the amount of printing to do to the screen.
HYPRE_Int HYPRE_LOBPCGSetRTol | ( | HYPRE_Solver | solver, |
HYPRE_Real | tol ) |
(Optional) Set the relative convergence tolerance.
HYPRE_Int HYPRE_LOBPCGSetTol | ( | HYPRE_Solver | solver, |
HYPRE_Real | tol ) |
(Optional) Set the absolute convergence tolerance.
HYPRE_Int HYPRE_LOBPCGSetup | ( | HYPRE_Solver | solver, |
HYPRE_Matrix | A, | ||
HYPRE_Vector | b, | ||
HYPRE_Vector | x ) |
Set up A and the preconditioner (if there is one).
HYPRE_Int HYPRE_LOBPCGSetupB | ( | HYPRE_Solver | solver, |
HYPRE_Matrix | B, | ||
HYPRE_Vector | x ) |
(Optional) Set up B.
If not called, B = I.
HYPRE_Int HYPRE_LOBPCGSetupT | ( | HYPRE_Solver | solver, |
HYPRE_Matrix | T, | ||
HYPRE_Vector | x ) |
(Optional) Set the preconditioning to be applied to Tx = b, not Ax = b.
HYPRE_Int HYPRE_LOBPCGSolve | ( | HYPRE_Solver | solver, |
mv_MultiVectorPtr | y, | ||
mv_MultiVectorPtr | x, | ||
HYPRE_Real * | lambda ) |
Solve A x = lambda B x, y'x = 0.
void lobpcg_MultiVectorByMultiVector | ( | mv_MultiVectorPtr | x, |
mv_MultiVectorPtr | y, | ||
utilities_FortranMatrix * | xy ) |