Eigensolvers¶
-
group
Eigensolvers
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
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. If not called, preconditioning is not used.
-
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. 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.
-
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)¶
-
HYPRE_Int