SERiF v0.0.1a
Stellar Evolution and Rotation in Four Dimensions
Loading...
Searching...
No Matches
sparse_direct.hpp File Reference
#include <expected>
#include <memory>
#include <string_view>
#include "mfem/linalg/sparsemat.hpp"
#include "serif/backend/mfem/solver/preconditioner/inverse.hpp"
#include "serif/solver/preconditioner/strategies/inverse/sparse_direct.hpp"
Include dependency graph for sparse_direct.hpp:
This graph shows which files directly or indirectly include this file:

Classes

class  serif::solver::preconditioner::backend::mfem::SparseDirectCache
 The symbolic analysis (fill-reducing ordering) of the last matrix factored through this cache. More...
 

Namespaces

namespace  serif
 
namespace  serif::solver
 
namespace  serif::solver::preconditioner
 
namespace  serif::solver::preconditioner::backend
 
namespace  serif::solver::preconditioner::backend::mfem
 
namespace  serif::solver::preconditioner::backend::mfem::detail
 

Functions

std::string_view serif::solver::preconditioner::backend::mfem::sparse_direct_backend () noexcept
 The sparse LU backend compiled into this library (Meson option sparse_direct): "accelerate", "umfpack" or "none".
 
bool serif::solver::preconditioner::backend::mfem::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 > serif::solver::preconditioner::backend::mfem::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.