pardiso#
Includes the PARDISO wave function solver.
Classes:
-
PARDISO–Wave function solver using PARDISO for sparse matrix solving.
PARDISO
#
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.