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