Loading...
Searching...
No Matches
conjugate_matrix.h
1#ifndef SYMENGINE_MATRICES_CONJUGATE_MATRIX_H
2#define SYMENGINE_MATRICES_CONJUGATE_MATRIX_H
3
4#include <symengine/basic.h>
5#include <symengine/matrices/matrix_expr.h>
6
7namespace SymEngine
8{
9
11{
12private:
14
15public:
17 {
18 SYMENGINE_ASSIGN_TYPEID();
19 SYMENGINE_ASSERT(is_canonical(arg));
20 }
21
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 RCP<const MatrixExpr> &arg) const;
27 vec_basic get_args() const override;
28
29 inline RCP<const MatrixExpr> get_arg() const
30 {
31 return arg_;
32 }
33};
34
35RCP<const MatrixExpr> conjugate_matrix(const RCP<const MatrixExpr> &arg);
36} // namespace SymEngine
37
38#endif
The base class for SymEngine.
#define IMPLEMENT_TYPEID(SYMENGINE_ID)
Inline members and functions.
Definition basic.h:340
The lowest unit of symbolic representation.
Definition basic.h:97
vec_basic get_args() const override
Returns the list of arguments.
int compare(const Basic &o) const override
hash_t __hash__() const override
bool __eq__(const Basic &o) const override
Test equality.
Main namespace for SymEngine package.
Definition add.cpp:19
void hash_combine(hash_t &seed, const T &v)
Definition basic-inl.h:95