#include <direct_lu.hpp>
|
| | ~DirectLU () |
| |
| | DirectLU (const DirectLU &)=delete |
| |
| DirectLU & | operator= (const DirectLU &)=delete |
| |
| void | solve (const double *right, double *solution) const |
| | Solve A x = b; the right-hand side is copied first, so b and x may overlap.
|
| |
| void | solve_many (int count, const double *right, double *solution) const |
| | Solve A X = B for count column-major right-hand sides (leading dimension = size); B is copied first.
|
| |
|
| static std::unique_ptr< DirectLU > | factor (std::shared_ptr< const DirectLUPattern > pattern, const double *values, int &status) |
| | Numerically factor values laid out in pattern's compressed columns; the values are copied. Empty on failure, with a backend status.
|
| |
◆ ~DirectLU()
| serif::solver::preconditioner::backend::mfem::detail::DirectLU::~DirectLU |
( |
| ) |
|
|
default |
◆ DirectLU() [1/2]
| serif::solver::preconditioner::backend::mfem::detail::DirectLU::DirectLU |
( |
const DirectLU & | | ) |
|
|
delete |
◆ DirectLU() [2/2]
| serif::solver::preconditioner::backend::mfem::detail::DirectLU::DirectLU |
( |
std::unique_ptr< State > | state | ) |
|
|
explicitprivate |
◆ factor()
| std::unique_ptr< DirectLU > serif::solver::preconditioner::backend::mfem::detail::DirectLU::factor |
( |
std::shared_ptr< const DirectLUPattern > | pattern, |
|
|
const double * | values, |
|
|
int & | status ) |
|
staticnodiscard |
Numerically factor values laid out in pattern's compressed columns; the values are copied. Empty on failure, with a backend status.
◆ operator=()
| DirectLU & serif::solver::preconditioner::backend::mfem::detail::DirectLU::operator= |
( |
const DirectLU & | | ) |
|
|
delete |
◆ solve()
| void serif::solver::preconditioner::backend::mfem::detail::DirectLU::solve |
( |
const double * | right, |
|
|
double * | solution ) const |
Solve A x = b; the right-hand side is copied first, so b and x may overlap.
◆ solve_many()
| void serif::solver::preconditioner::backend::mfem::detail::DirectLU::solve_many |
( |
int | count, |
|
|
const double * | right, |
|
|
double * | solution ) const |
Solve A X = B for count column-major right-hand sides (leading dimension = size); B is copied first.
- Note
- Accelerate solves the block at once (one pass over the factor); the columns agree with solve() to rounding, not bit for bit. UMFPACK solves the columns one by one, as solve().
◆ m_state
| std::unique_ptr<State> serif::solver::preconditioner::backend::mfem::detail::DirectLU::m_state |
|
private |
The documentation for this class was generated from the following files: