Options for Linear solver algorithms

BICG

Module: gemseo.algos.linear_solvers.lib_scipy_linalg

Linear solver implemented in the SciPy library.

More details about the algorithm and its options on https://docs.scipy.org/doc/scipy/reference/generated/BICG.html.

Here are the options available in GEMSEO:

Options
  • atol (Optional[float])

    The absolute tolerance for convergence, norm(RHS.dot(sol)) <= max(tol*norm(LHS), atol).

    By default it is set to None.

  • inner_m (int)

    By default it is set to 30.

  • max_iter (int)

    The maximum number of iterations.

    By default it is set to 1000.

  • outer_k (int)

    The number of vectors to carry between inner GMRES iterations.

    By default it is set to 3.

  • outer_v (Optional[List[Tuple]])

    The data used to augment the Krylov subspace.

    By default it is set to None.

  • preconditioner (Optional[Union[ndarray,)

    The preconditionner, approximation of RHS^-1. If None, no preconditioner is used.

    By default it is set to None.

  • prepend_outer_v (bool)

    Whether to put outer_v augmentation vectors before the Krylov iterates.

    By default it is set to False.

  • save_when_fail (bool)

    Whether to save the linear system to the disk when the solver failed to converge.

    By default it is set to False.

  • store_outer_av (bool)

    By default it is set to True.

  • store_residuals (bool)

    Whether to store the residuals convergence history.

    By default it is set to False.

  • tol (float)

    The relative tolerance for convergence, norm(RHS.dot(sol)) <= max(tol*norm(LHS), atol).

    By default it is set to 1e-12.

  • use_ilu_precond (bool)

    Whether to use superLU to compute an incomplete LU factorization as preconditioner.

    By default it is set to True.

  • x0 (Optional[ndarray])

    The initial guess for the solution. M{sparse matrix, dense matrix, LinearOperator}. If None, solvers usually start from the null vector. inner_m int: The number of inner GMRES iterations per outer iteration.

    By default it is set to None.

BICGSTAB

Module: gemseo.algos.linear_solvers.lib_scipy_linalg

Linear solver implemented in the SciPy library.

More details about the algorithm and its options on https://docs.scipy.org/doc/scipy/reference/generated/BICGSTAB.html.

Here are the options available in GEMSEO:

Options
  • atol (Optional[float])

    The absolute tolerance for convergence, norm(RHS.dot(sol)) <= max(tol*norm(LHS), atol).

    By default it is set to None.

  • inner_m (int)

    By default it is set to 30.

  • max_iter (int)

    The maximum number of iterations.

    By default it is set to 1000.

  • outer_k (int)

    The number of vectors to carry between inner GMRES iterations.

    By default it is set to 3.

  • outer_v (Optional[List[Tuple]])

    The data used to augment the Krylov subspace.

    By default it is set to None.

  • preconditioner (Optional[Union[ndarray,)

    The preconditionner, approximation of RHS^-1. If None, no preconditioner is used.

    By default it is set to None.

  • prepend_outer_v (bool)

    Whether to put outer_v augmentation vectors before the Krylov iterates.

    By default it is set to False.

  • save_when_fail (bool)

    Whether to save the linear system to the disk when the solver failed to converge.

    By default it is set to False.

  • store_outer_av (bool)

    By default it is set to True.

  • store_residuals (bool)

    Whether to store the residuals convergence history.

    By default it is set to False.

  • tol (float)

    The relative tolerance for convergence, norm(RHS.dot(sol)) <= max(tol*norm(LHS), atol).

    By default it is set to 1e-12.

  • use_ilu_precond (bool)

    Whether to use superLU to compute an incomplete LU factorization as preconditioner.

    By default it is set to True.

  • x0 (Optional[ndarray])

    The initial guess for the solution. M{sparse matrix, dense matrix, LinearOperator}. If None, solvers usually start from the null vector. inner_m int: The number of inner GMRES iterations per outer iteration.

    By default it is set to None.

DEFAULT

Module: gemseo.algos.linear_solvers.lib_scipy_linalg

This starts by LGMRES, but if it fails, switches to GMRES, then direct method super LU factorization.

More details about the algorithm and its options on https://docs.scipy.org/doc/scipy/reference/generated/DEFAULT.html.

Here are the options available in GEMSEO:

Options
  • atol (Optional[float])

    The absolute tolerance for convergence, norm(RHS.dot(sol)) <= max(tol*norm(LHS), atol).

    By default it is set to None.

  • inner_m (int)

    By default it is set to 30.

  • max_iter (int)

    The maximum number of iterations.

    By default it is set to 1000.

  • outer_k (int)

    The number of vectors to carry between inner GMRES iterations.

    By default it is set to 3.

  • outer_v (Optional[List[Tuple]])

    The data used to augment the Krylov subspace.

    By default it is set to None.

  • preconditioner (Optional[Union[ndarray,)

    The preconditionner, approximation of RHS^-1. If None, no preconditioner is used.

    By default it is set to None.

  • prepend_outer_v (bool)

    Whether to put outer_v augmentation vectors before the Krylov iterates.

    By default it is set to False.

  • save_when_fail (bool)

    Whether to save the linear system to the disk when the solver failed to converge.

    By default it is set to False.

  • store_outer_av (bool)

    By default it is set to True.

  • store_residuals (bool)

    Whether to store the residuals convergence history.

    By default it is set to False.

  • tol (float)

    The relative tolerance for convergence, norm(RHS.dot(sol)) <= max(tol*norm(LHS), atol).

    By default it is set to 1e-12.

  • use_ilu_precond (bool)

    Whether to use superLU to compute an incomplete LU factorization as preconditioner.

    By default it is set to True.

  • x0 (Optional[ndarray])

    The initial guess for the solution. M{sparse matrix, dense matrix, LinearOperator}. If None, solvers usually start from the null vector. inner_m int: The number of inner GMRES iterations per outer iteration.

    By default it is set to None.

GMRES

Module: gemseo.algos.linear_solvers.lib_scipy_linalg

Linear solver implemented in the SciPy library.

More details about the algorithm and its options on https://docs.scipy.org/doc/scipy/reference/generated/GMRES.html.

Here are the options available in GEMSEO:

Options
  • atol (Optional[float])

    The absolute tolerance for convergence, norm(RHS.dot(sol)) <= max(tol*norm(LHS), atol).

    By default it is set to None.

  • inner_m (int)

    By default it is set to 30.

  • max_iter (int)

    The maximum number of iterations.

    By default it is set to 1000.

  • outer_k (int)

    The number of vectors to carry between inner GMRES iterations.

    By default it is set to 3.

  • outer_v (Optional[List[Tuple]])

    The data used to augment the Krylov subspace.

    By default it is set to None.

  • preconditioner (Optional[Union[ndarray,)

    The preconditionner, approximation of RHS^-1. If None, no preconditioner is used.

    By default it is set to None.

  • prepend_outer_v (bool)

    Whether to put outer_v augmentation vectors before the Krylov iterates.

    By default it is set to False.

  • save_when_fail (bool)

    Whether to save the linear system to the disk when the solver failed to converge.

    By default it is set to False.

  • store_outer_av (bool)

    By default it is set to True.

  • store_residuals (bool)

    Whether to store the residuals convergence history.

    By default it is set to False.

  • tol (float)

    The relative tolerance for convergence, norm(RHS.dot(sol)) <= max(tol*norm(LHS), atol).

    By default it is set to 1e-12.

  • use_ilu_precond (bool)

    Whether to use superLU to compute an incomplete LU factorization as preconditioner.

    By default it is set to True.

  • x0 (Optional[ndarray])

    The initial guess for the solution. M{sparse matrix, dense matrix, LinearOperator}. If None, solvers usually start from the null vector. inner_m int: The number of inner GMRES iterations per outer iteration.

    By default it is set to None.

LGMRES

Module: gemseo.algos.linear_solvers.lib_scipy_linalg

Linear solver implemented in the SciPy library.

More details about the algorithm and its options on https://docs.scipy.org/doc/scipy/reference/generated/LGMRES.html.

Here are the options available in GEMSEO:

Options
  • atol (Optional[float])

    The absolute tolerance for convergence, norm(RHS.dot(sol)) <= max(tol*norm(LHS), atol).

    By default it is set to None.

  • inner_m (int)

    By default it is set to 30.

  • max_iter (int)

    The maximum number of iterations.

    By default it is set to 1000.

  • outer_k (int)

    The number of vectors to carry between inner GMRES iterations.

    By default it is set to 3.

  • outer_v (Optional[List[Tuple]])

    The data used to augment the Krylov subspace.

    By default it is set to None.

  • preconditioner (Optional[Union[ndarray,)

    The preconditionner, approximation of RHS^-1. If None, no preconditioner is used.

    By default it is set to None.

  • prepend_outer_v (bool)

    Whether to put outer_v augmentation vectors before the Krylov iterates.

    By default it is set to False.

  • save_when_fail (bool)

    Whether to save the linear system to the disk when the solver failed to converge.

    By default it is set to False.

  • store_outer_av (bool)

    By default it is set to True.

  • store_residuals (bool)

    Whether to store the residuals convergence history.

    By default it is set to False.

  • tol (float)

    The relative tolerance for convergence, norm(RHS.dot(sol)) <= max(tol*norm(LHS), atol).

    By default it is set to 1e-12.

  • use_ilu_precond (bool)

    Whether to use superLU to compute an incomplete LU factorization as preconditioner.

    By default it is set to True.

  • x0 (Optional[ndarray])

    The initial guess for the solution. M{sparse matrix, dense matrix, LinearOperator}. If None, solvers usually start from the null vector. inner_m int: The number of inner GMRES iterations per outer iteration.

    By default it is set to None.

QMR

Module: gemseo.algos.linear_solvers.lib_scipy_linalg

Linear solver implemented in the SciPy library.

More details about the algorithm and its options on https://docs.scipy.org/doc/scipy/reference/generated/QMR.html.

Here are the options available in GEMSEO:

Options
  • atol (Optional[float])

    The absolute tolerance for convergence, norm(RHS.dot(sol)) <= max(tol*norm(LHS), atol).

    By default it is set to None.

  • inner_m (int)

    By default it is set to 30.

  • max_iter (int)

    The maximum number of iterations.

    By default it is set to 1000.

  • outer_k (int)

    The number of vectors to carry between inner GMRES iterations.

    By default it is set to 3.

  • outer_v (Optional[List[Tuple]])

    The data used to augment the Krylov subspace.

    By default it is set to None.

  • preconditioner (Optional[Union[ndarray,)

    The preconditionner, approximation of RHS^-1. If None, no preconditioner is used.

    By default it is set to None.

  • prepend_outer_v (bool)

    Whether to put outer_v augmentation vectors before the Krylov iterates.

    By default it is set to False.

  • save_when_fail (bool)

    Whether to save the linear system to the disk when the solver failed to converge.

    By default it is set to False.

  • store_outer_av (bool)

    By default it is set to True.

  • store_residuals (bool)

    Whether to store the residuals convergence history.

    By default it is set to False.

  • tol (float)

    The relative tolerance for convergence, norm(RHS.dot(sol)) <= max(tol*norm(LHS), atol).

    By default it is set to 1e-12.

  • use_ilu_precond (bool)

    Whether to use superLU to compute an incomplete LU factorization as preconditioner.

    By default it is set to True.

  • x0 (Optional[ndarray])

    The initial guess for the solution. M{sparse matrix, dense matrix, LinearOperator}. If None, solvers usually start from the null vector. inner_m int: The number of inner GMRES iterations per outer iteration.

    By default it is set to None.