|
HYPRE_Int | HYPRE_LOBPCGCreate (mv_InterfaceInterpreter *interpreter, HYPRE_MatvecFunctions *mvfunctions, HYPRE_Solver *solver) |
|
HYPRE_Int | HYPRE_LOBPCGDestroy (HYPRE_Solver solver) |
|
HYPRE_Int | HYPRE_LOBPCGSetPrecond (HYPRE_Solver solver, HYPRE_PtrToSolverFcn precond, HYPRE_PtrToSolverFcn precond_setup, HYPRE_Solver precond_solver) |
|
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) |
|
HYPRE_Int | HYPRE_LOBPCGSetupB (HYPRE_Solver solver, HYPRE_Matrix B, HYPRE_Vector x) |
|
HYPRE_Int | HYPRE_LOBPCGSetupT (HYPRE_Solver solver, HYPRE_Matrix T, HYPRE_Vector x) |
|
HYPRE_Int | HYPRE_LOBPCGSolve (HYPRE_Solver solver, mv_MultiVectorPtr y, mv_MultiVectorPtr x, HYPRE_Real *lambda) |
|
HYPRE_Int | HYPRE_LOBPCGSetTol (HYPRE_Solver solver, HYPRE_Real tol) |
|
HYPRE_Int | HYPRE_LOBPCGSetRTol (HYPRE_Solver solver, HYPRE_Real tol) |
|
HYPRE_Int | HYPRE_LOBPCGSetMaxIter (HYPRE_Solver solver, HYPRE_Int max_iter) |
|
HYPRE_Int | HYPRE_LOBPCGSetPrecondUsageMode (HYPRE_Solver solver, HYPRE_Int mode) |
|
HYPRE_Int | HYPRE_LOBPCGSetPrintLevel (HYPRE_Solver solver, HYPRE_Int level) |
|
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) |
|
These eigensolvers support many of the matrix/vector storage schemes in hypre. They should be used in conjunction with the storage-specific interfaces.
@memo A basic interface for eigensolvers
◆ HYPRE_LOBPCGCreate()
HYPRE_Int HYPRE_LOBPCGCreate |
( |
mv_InterfaceInterpreter * | interpreter, |
|
|
HYPRE_MatvecFunctions * | mvfunctions, |
|
|
HYPRE_Solver * | solver ) |
◆ HYPRE_LOBPCGDestroy()
◆ HYPRE_LOBPCGEigenvaluesHistory()
utilities_FortranMatrix * HYPRE_LOBPCGEigenvaluesHistory |
( |
HYPRE_Solver | solver | ) |
|
◆ HYPRE_LOBPCGGetPrecond()
◆ HYPRE_LOBPCGIterations()
◆ hypre_LOBPCGMultiOperatorB()
void hypre_LOBPCGMultiOperatorB |
( |
void * | data, |
|
|
void * | x, |
|
|
void * | y ) |
◆ HYPRE_LOBPCGResidualNorms()
utilities_FortranMatrix * HYPRE_LOBPCGResidualNorms |
( |
HYPRE_Solver | solver | ) |
|
◆ HYPRE_LOBPCGResidualNormsHistory()
utilities_FortranMatrix * HYPRE_LOBPCGResidualNormsHistory |
( |
HYPRE_Solver | solver | ) |
|
◆ HYPRE_LOBPCGSetMaxIter()
HYPRE_Int HYPRE_LOBPCGSetMaxIter |
( |
HYPRE_Solver | solver, |
|
|
HYPRE_Int | max_iter ) |
(Optional) Set maximum number of iterations.
◆ HYPRE_LOBPCGSetPrecond()
(Optional) Set the preconditioner to use. If not called, preconditioning is not used.
◆ HYPRE_LOBPCGSetPrecondUsageMode()
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_LOBPCGSetPrintLevel()
HYPRE_Int HYPRE_LOBPCGSetPrintLevel |
( |
HYPRE_Solver | solver, |
|
|
HYPRE_Int | level ) |
(Optional) Set the amount of printing to do to the screen.
◆ HYPRE_LOBPCGSetRTol()
HYPRE_Int HYPRE_LOBPCGSetRTol |
( |
HYPRE_Solver | solver, |
|
|
HYPRE_Real | tol ) |
(Optional) Set the relative convergence tolerance.
◆ HYPRE_LOBPCGSetTol()
HYPRE_Int HYPRE_LOBPCGSetTol |
( |
HYPRE_Solver | solver, |
|
|
HYPRE_Real | tol ) |
(Optional) Set the absolute convergence tolerance.
◆ HYPRE_LOBPCGSetup()
Set up A and the preconditioner (if there is one).
◆ HYPRE_LOBPCGSetupB()
(Optional) Set up B. If not called, B = I.
◆ HYPRE_LOBPCGSetupT()
(Optional) Set the preconditioning to be applied to Tx = b, not Ax = b.
◆ HYPRE_LOBPCGSolve()
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.
◆ lobpcg_MultiVectorByMultiVector()
void lobpcg_MultiVectorByMultiVector |
( |
mv_MultiVectorPtr | x, |
|
|
mv_MultiVectorPtr | y, |
|
|
utilities_FortranMatrix * | xy ) |