dedalus.libraries.matsolvers

Matrix solver wrappers.

Module Contents

matsolvers
add_solver(solver)
class SolverBase(matrix, solver=None)

Abstract base class for all solvers.

config
solve(vector)
abstract solve_H(vector)
class DummySolver(matrix, solver=None)

Dummy solver that returns zeros for testing.

solve(vector)
class SparseSolver(matrix, solver=None)

Base class for sparse solvers.

sparse = True
banded = False
class BandedSolver(matrix, solver=None)

Base class for banded solvers.

sparse = False
banded = True
static sparse_to_banded(matrix, u=None, l=None)

Convert sparse matrix to banded format.

class DenseSolver(matrix, solver=None)

Base class for dense solvers.

sparse = False
banded = False
class UmfpackSpsolve(matrix, solver=None)

UMFPACK spsolve.

solve(vector)
class SuperluNaturalSpsolve(matrix, solver=None)

SuperLU spsolve with ‘NATURAL’ column permutation.

permc_spec = 'NATURAL'
class SuperluColamdSpsolve(matrix, solver=None)

SuperLU spsolve with ‘COLAMD’ column permutation.

permc_spec = 'COLAMD'
class UmfpackFactorized(matrix, solver=None)

UMFPACK LU factorized solve.

solve(vector)
class SuperluNaturalFactorized(matrix, solver=None)

SuperLU factorized solve with ‘NATURAL’ column permutation.

permc_spec = 'NATURAL'
class SuperluNaturalFactorizedTranspose(matrix, solver=None)

SuperLU factorized solve with ‘NATURAL’ row permutation.

permc_spec = 'NATURAL'
trans = 'T'
class SuperluColamdFactorized(matrix, solver=None)

SuperLU factorized solve with ‘COLAMD’ column permutation.

permc_spec = 'COLAMD'
class SuperluColamdFactorizedTranspose(matrix, solver=None)

SuperLU factorized solve with ‘COLAMD’ row permutation.

permc_spec = 'COLAMD'
trans = 'T'
class ScipyBanded(matrix, solver=None)

Scipy banded solve.

solve(vector)
class SPQR_solve(matrix, solver=None)

SuiteSparse QR solve.

solve(vector)
class BandedQR(matrix, solver=None)

pybanded QR solve.

solve(vector)
class SparseInverse(matrix, solver=None)

Sparse inversion solve.

solve(vector)
class DenseInverse(matrix, solver=None)

Dense inversion solve.

solve(vector)
class BlockInverse(matrix, solver)

Block inversion solve.

class ScipyDenseLU(matrix, solver=None)

Scipy dense LU factorized solve.

solve(vector)
class Woodbury(matrix, subproblem, matsolver)

Solve top & right bordered matrix using Woodbury formula.

config
solve(Y)
woodbury_matsolvers