1 #ifndef SYMENGINE_MATRICES_IMMUTABLE_DENSE_MATRIX_H
2 #define SYMENGINE_MATRICES_IMMUTABLE_DENSE_MATRIX_H
5 #include <symengine/matrices/matrix_expr.h>
19 : m_(m), n_(n), values_(values)
21 SYMENGINE_ASSIGN_TYPEID();
22 SYMENGINE_ASSERT(is_canonical(m, n, values));
29 bool is_canonical(
size_t m,
size_t n,
const vec_basic &values)
const;
38 inline RCP<const Basic> get(
size_t i,
size_t j)
const
40 return values_[i * n_ + j];
43 inline size_t nrows()
const
48 inline size_t ncols()
const
53 inline const vec_basic &get_values()
const
59 RCP<const MatrixExpr> immutable_dense_matrix(
size_t m,
size_t n,
60 const vec_basic &container);
The base class for SymEngine.
#define IMPLEMENT_TYPEID(SYMENGINE_ID)
Inline members and functions.
The lowest unit of symbolic representation.
vec_basic get_args() const override
Returns the list of arguments.
hash_t __hash__() const override
int compare(const Basic &o) const override
bool __eq__(const Basic &o) const override
Test equality.
Main namespace for SymEngine package.
std::enable_if< std::is_integral< T >::value, RCP< const Integer > >::type integer(T i)