Skip to content

pardiso#

Includes the PARDISO wave function solver.

Classes:

  • PARDISO

    Wave function solver using PARDISO for sparse matrix solving.

PARDISO #

PARDISO(matrix_type: str | None = None, matrix_view: str | None = None, verbose: bool = False)

Bases: WFSolver

Wave function solver using PARDISO for sparse matrix solving.

Parameters:

  • matrix_type (str, default: None ) –

    The type of the system matrix. Must be one of the valid PARDISO matrix types. Default is 'complex_nonsymmetric'.

  • matrix_view (str, default: None ) –

    The view of the matrix. Valid options are 'default' and 'up'. The 'up' view is a hint to the user to use the upper triangular part of the matrix, which is required for symmetric matrices. Default is 'default', meaning the full matrix is used.

  • verbose (bool, default: False ) –

    If True, enable verbose output from PARDISO. Default is False.

Methods:

  • solve

    Solves the sparse linear system a @ x = b using PARDISO.

solve #

solve(a: spmatrix, b: NDArray, reuse_analysis: bool = False, reuse_factorization: bool = False) -> NDArray

Solves the sparse linear system a @ x = b using PARDISO.

Parameters:

  • a (spmatrix) –

    The sparse system matrix.

  • b (NDArray) –

    The right-hand side vector.

  • reuse_analysis (bool, default: False ) –

    Whether to reuse the symbolic factorization from a previous solve, by default False. This is useful when solving multiple linear systems with the same sparsity pattern but different numerical values.

  • reuse_factorization (bool, default: False ) –

    Whether to reuse the numerical factorization from a previous solve, by default False. This can only be True if reuse_analysis is also True. Note that this must only be True if the matrix values have not changed since the last factorization.

Returns:

  • x ( NDArray ) –

    The solution vector.