10 throw std::invalid_argument(
"DenseOp::apply: input dimension mismatch");
20 throw std::invalid_argument(
"SparseOp::apply: input dimension mismatch");
constexpr idx rows() const noexcept
constexpr idx cols() const noexcept
constexpr idx size() const noexcept
void matvec(const Matrix &A, const Vector &x, Vector &y, Backend b=default_backend)
y = A * x
void sparse_matvec(const SparseMatrix &A, const Vector &x, Vector &y)
y = A * x
BasicVector< real > Vector
Real-valued dense vector with full backend dispatch (CPU + GPU)
Dense Matrix adapter for the operator protocol.
SparseMatrix adapter for the operator protocol.
void apply(const Vector &x, Vector &y) const
void apply(const Vector &x, Vector &y) const