MumpsCentralizedAssembledLinearSolver

(类来自 pyomo.contrib.pynumero.linalg.mumps_interface)

class pyomo.contrib.pynumero.linalg.mumps_interface.MumpsCentralizedAssembledLinearSolver(sym=0, par=1, comm=None, cntl_options=None, icntl_options=None)[source]

基础:DirectLinearSolverInterface

一个围绕pymumps的薄包装,使用集中组装的矩阵格式。 换句话说,ICNTL(5) = 0 和 ICNTL(18) = 0。

解矩阵 * x = rhs 求 x。

请参阅Mumps文档以了解参数的描述。下面列出的章节编号参考了Mumps 5.2.1版本的文档。

Parameters:
  • sym (int, 可选) – 参见Mumps文档的第5.2.1节

  • par (int, optional) – 参见第5.1.3节

  • comm (mpi4py comm, 可选) – 参见第5.1.3节

  • cntl_options (dict, optional) – 参见第6.2节

  • icntl_options (dict, optional) – 参见第6.1节

__init__(sym=0, par=1, comm=None, cntl_options=None, icntl_options=None)[源代码]

方法

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

do_back_solve(rhs[, raise_on_error])

使用Mumps执行回代求解。

do_numeric_factorization(matrix[, ...])

执行Mumps分解。

do_symbolic_factorization(matrix[, ...])

执行Mumps分析。

get_cntl(key)

get_icntl(key)

get_info(key)

get_infog(key)

get_rinfo(key)

get_rinfog(key)

increase_memory_allocation(factor)

set_cntl(key, value)

set_icntl(key, value)

solve(matrix, rhs[, raise_on_error])

成员文档

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

使用Mumps执行回代求解。注意,在调用do_back_solve之前,应先调用do_symbolic_factorization和do_numeric_factorization。

Parameters:

rhs (numpy.ndarraypyomo.contrib.pynumero.sparse.BlockVector) – 矩阵 * x = rhs 中的右侧。

Returns:

result – 矩阵 * x = rhs 中的 x。如果 rhs 是一个 BlockVector,那么 result 将是一个与 rhs 具有相同块结构的 BlockVector。

Return type:

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

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

执行Mumps分解。请注意,应在执行数值分解之前调用do_symbolic_factorization。

Parameters:

matrix (scipy.sparse.spmatrixpyomo.contrib.pynumero.sparse.BlockMatrix) – 此矩阵必须具有与传递给do_symbolic_factorization的矩阵相同的非零结构。如果矩阵尚未处于coo格式,则将其转换为coo格式。如果sym为1或2,矩阵将被转换为下三角形式。

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

执行Mumps分析。

Parameters:

matrix (scipy.sparse.spmatrixpyomo.contrib.pynumero.sparse.BlockMatrix) – 此矩阵必须具有与传递给do_numeric_factorization的矩阵相同的非零结构。如果矩阵尚未处于coo格式,则将其转换为coo格式。如果sym为1或2,矩阵将被转换为下三角形式。