MumpsInterface

(class from pyomo.contrib.interior_point.linalg.mumps_interface)

class pyomo.contrib.interior_point.linalg.mumps_interface.MumpsInterface(par=1, comm=None, cntl_options=None, icntl_options=None)[source]

Bases: MumpsCentralizedAssembledLinearSolver, IPLinearSolverInterface

__init__(par=1, comm=None, cntl_options=None, icntl_options=None)[source]

Methods

__init__([par, comm, cntl_options, ...])

do_back_solve(rhs[, raise_on_error])

Perform back solve with Mumps.

do_numeric_factorization(matrix[, ...])

Perform Mumps factorization.

do_symbolic_factorization(matrix[, ...])

Perform Mumps analysis.

getLogger()

getLoggerName()

get_cntl(key)

get_error_info()

get_icntl(key)

get_inertia()

get_info(key)

get_infog(key)

get_rinfo(key)

get_rinfog(key)

increase_memory_allocation(factor)

log_header([include_error, extra_fields])

log_info()

set_cntl(key, value)

set_icntl(key, value)

solve(matrix, rhs[, raise_on_error])

Member Documentation

do_back_solve(rhs: ndarray | BlockVector, raise_on_error: bool = True) Tuple[ndarray | BlockVector | None, LinearSolverResults][source]

Perform back solve with Mumps. Note that both do_symbolic_factorization and do_numeric_factorization should be called before do_back_solve.

Parameters:

rhs (numpy.ndarray or pyomo.contrib.pynumero.sparse.BlockVector) – The right hand side in matrix * x = rhs.

Returns:

result – The x in matrix * x = rhs. If rhs is a BlockVector, then, result will be a BlockVector with the same block structure as rhs.

Return type:

numpy.ndarray or pyomo.contrib.pynumero.sparse.BlockVector

do_numeric_factorization(matrix: spmatrix | BlockMatrix, raise_on_error: bool = True) LinearSolverResults

Perform Mumps factorization. Note that do_symbolic_factorization should be called before do_numeric_factorization.

Parameters:

matrix (scipy.sparse.spmatrix or pyomo.contrib.pynumero.sparse.BlockMatrix) – This matrix must have the same nonzero structure as the matrix passed into do_symbolic_factorization. The matrix will be converted to coo format if it is not already in coo format. If sym is 1 or 2, the matrix will be converted to lower triangular.

do_symbolic_factorization(matrix: spmatrix | BlockMatrix, raise_on_error: bool = True) LinearSolverResults

Perform Mumps analysis.

Parameters:

matrix (scipy.sparse.spmatrix or pyomo.contrib.pynumero.sparse.BlockMatrix) – This matrix must have the same nonzero structure as the matrix passed into do_numeric_factorization. The matrix will be converted to coo format if it is not already in coo format. If sym is 1 or 2, the matrix will be converted to lower triangular.