Skip to content

cudss#

Includes the cuDSS wave function solver.

Classes:

  • cuDSS

    Wavefunction solver using NVIDIA's cuDSS library for sparse

cuDSS #

cuDSS(matrix_type: str | None = None, matrix_view: str | None = None)

Bases: WFSolver

Wavefunction solver using NVIDIA's cuDSS library for sparse direct solves on GPUs.

Parameters:

  • matrix_type (str, default: None ) –

    The type of the system matrix. This describes properties like symmetry and definiteness. If None, the solver will use a general matrix type.

  • matrix_view (str, default: None ) –

    The view of the system matrix sparsity. This solver supports 'full', 'upper', and 'lower' views. If None, the solver will use the 'full' view.

Methods:

  • solve

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

solve #

solve(a: csr_matrix, b: NDArray, reuse_analysis: bool = False, reuse_factorization: bool = False)

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

Parameters:

  • a (csr_matrix) –

    The sparse system matrix in CSR format.

  • b (NDArray) –

    The dense right-hand side array with shape (n, batchsize).

  • reuse_analysis (bool, default: False ) –

    Whether to reuse the symbolic factorization from a previous solve. Default is 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. Default is 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 array with shape (n, batchsize).