|
| std::expected< Inverse, Failure > | try_bordered_inverse (Inverse fields, TwoBlockCouplings couplings, OperatorHandle border_diagonal, const strategies::inverse::DenseDirect &options={}) |
| | Probe and factor the complete small border Schur complement, retaining nonzero border-to-border couplings.
|
| |
| std::expected< OperatorHandle, Failure > | try_restrict_operator (OperatorHandle operation, std::span< const int > rows, std::span< const int > columns) |
| | Select equation rows and unknown columns without assuming their coordinate orders coincide.
|
| |
| std::expected< Inverse, Failure > | try_coupled_inverse (Inverse first, Inverse second, TwoBlockCouplings couplings, strategies::coupling::CouplingOrder order) |
| | Compose two inverses with the requested treatment of their cross couplings.
|
| |
| std::expected< OperatorHandle, Failure > | try_schur_operator (OperatorHandle retained_diagonal, Inverse eliminated, TwoBlockCouplings couplings) |
| | Form the retained Jacobian minus its response through a fixed linear eliminated inverse.
|
| |
| std::expected< Inverse, Failure > | try_amg_inverse (std::shared_ptr< const ::mfem::SparseMatrix > matrix, const strategies::inverse::FixedAMG &options={}) |
| | Prepare fixed-cycle BoomerAMG on this process; MPI must already be initialized and remains caller-owned.
|
| |
| std::expected< Inverse, Failure > | try_dense_inverse (const ::mfem::DenseMatrix &matrix, const strategies::inverse::DenseDirect &options={}) |
| | Copy and scale a dense matrix, check its pivoted LU and infinity-norm reciprocal condition, then own the factorization.
|
| |
| std::expected< Inverse, Failure > | try_diagonal_inverse (std::span< const double > diagonal) |
| | Own the reciprocal of every finite nonzero entry, including signed diagonals.
|
| |
| std::string_view | sparse_direct_backend () noexcept |
| | The sparse LU backend compiled into this library (Meson option sparse_direct): "accelerate", "umfpack" or "none".
|
| |
| bool | sparse_direct_available () noexcept |
| | True when SparseDirect can be prepared on this machine; with "none", or Accelerate before macOS 15.5, it cannot.
|
| |
| std::expected< Inverse, Failure > | try_sparse_direct_inverse (std::shared_ptr< const ::mfem::SparseMatrix > matrix, const strategies::inverse::SparseDirect &options={}, SparseDirectCache *cache=nullptr) |
| | Factor a finalized square sparse matrix with a pivoted sparse LU; every application is one exact solve.
|
| |
| std::expected< Inverse, Failure > | try_coupled_inverse (Inverse first, Inverse second, TwoBlockCouplings couplings, CouplingOrder order) |
| |
| template<utils::errors::SERiFErrorCode Code, typename... Arguments> |
| std::unexpected< Failure > | failure (const std::string_view message, Arguments... arguments) |
| | Keep preparation failures typed while using the common SERiF diagnostic formatter.
|
| |
| template<utils::errors::SERiFErrorCode Code, typename... Arguments> |
| std::unexpected< Failure > | failure (const std::string_view message, Arguments... arguments) |
| | Keep preparation failures typed while using the common SERiF diagnostic formatter.
|
| |
| template<utils::errors::SERiFErrorCode Code, typename... Arguments> |
| std::unexpected< Failure > | failure (const std::string_view message, Arguments... arguments) |
| | Keep preparation failures typed while using the common SERiF diagnostic formatter.
|
| |