Mumps接口
(类来自 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]
基础类:
MumpsCentralizedAssembledLinearSolver,IPLinearSolverInterface方法
__init__([par, comm, cntl_options, ...])do_back_solve(rhs[, raise_on_error])使用Mumps执行回代求解。
do_numeric_factorization(matrix[, ...])执行Mumps分解。
do_symbolic_factorization(matrix[, ...])执行Mumps分析。
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])成员文档
- 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.ndarray 或 pyomo.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
执行Mumps分解。请注意,应在执行数值分解之前调用do_symbolic_factorization。
- Parameters:
matrix (scipy.sparse.spmatrix 或 pyomo.contrib.pynumero.sparse.BlockMatrix) – 此矩阵必须具有与传递给do_symbolic_factorization的矩阵相同的非零结构。如果矩阵尚未处于coo格式,则将其转换为coo格式。如果sym为1或2,矩阵将被转换为下三角形式。
- do_symbolic_factorization(matrix: spmatrix | BlockMatrix, raise_on_error: bool = True) LinearSolverResults
执行Mumps分析。
- Parameters:
matrix (scipy.sparse.spmatrix 或 pyomo.contrib.pynumero.sparse.BlockMatrix) – 此矩阵必须具有与传递给do_numeric_factorization的矩阵相同的非零结构。如果矩阵尚未处于coo格式,则将其转换为coo格式。如果sym为1或2,矩阵将被转换为下三角形式。