19 : A(A_), mode(mode_), backend(backend_)
21 MFEM_VERIFY(
A.
SizeI() ==
A.
SizeJ(),
"Blocks must be square.");
47 MFEM_ABORT(
"Not supported.");
DenseTensor A
The LU factors/inverses of the input matrices.
Mode
Solver mode: whether to use LU factorization or inverses.
void Mult(const Vector &x, Vector &y) const
Sets .
BatchedDirectSolver(const DenseTensor &A_, Mode mode_, BatchedLinAlg::Backend backend_=BatchedLinAlg::GetActiveBackend())
Constructor.
void SetOperator(const Operator &op)
Not supported (aborts).
Array< int > P
Pivots (needed only for LU factors).
BatchedLinAlg::Backend backend
Requested batched linear algebra backend.
virtual void Mult(const DenseTensor &A, const Vector &x, Vector &y) const
See BatchedLinAlg::Mult.
virtual void Invert(DenseTensor &A) const =0
See BatchedLinAlg::Invert.
virtual void LUFactor(DenseTensor &A, Array< int > &P) const =0
See BatchedLinAlg::LUFactor.
virtual void LUSolve(const DenseTensor &LU, const Array< int > &P, Vector &x) const =0
See BatchedLinAlg::LUSolve.
Backend
Available backends for implementations of batched algorithms.
static const BatchedLinAlgBase & Get(Backend backend)
Get the BatchedLinAlgBase object associated with a specific backend.
Rank 3 tensor (array of matrices)