1 #ifndef SYMENGINE_MATRICES_DIAGONAL_MATRIX_H
2 #define SYMENGINE_MATRICES_DIAGONAL_MATRIX_H
5 #include <symengine/matrices/matrix_expr.h>
18 SYMENGINE_ASSIGN_TYPEID();
19 SYMENGINE_ASSERT(is_canonical(container));
23 hash_t __hash__()
const override;
24 bool __eq__(
const Basic &o)
const override;
25 int compare(
const Basic &o)
const override;
26 bool is_canonical(
const vec_basic &container)
const;
30 return vec_basic(diag_.begin(), diag_.end());
33 inline const vec_basic &get_container()
const
38 inline RCP<const Basic> get(
size_t i)
const
44 SYMENGINE_EXPORT
bool is_zero_vec(
const vec_basic &container);
45 SYMENGINE_EXPORT
bool is_identity_vec(
const vec_basic &container);
47 SYMENGINE_EXPORT RCP<const MatrixExpr>
48 diagonal_matrix(
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.
Main namespace for SymEngine package.