Definition at line 9 of file is_symmetric.cpp.
◆ MatrixSymmetricVisitor()
SymEngine::MatrixSymmetricVisitor::MatrixSymmetricVisitor |
( |
const Assumptions * |
assumptions | ) |
|
|
inline |
Definition at line 38 of file is_symmetric.cpp.
40 {
41 }
void hash_combine(hash_t &seed, const T &v)
◆ apply()
Definition at line 99 of file is_symmetric.cpp.
100 {
101 s.accept(*this);
102 return is_symmetric_;
103 }
◆ bvisit() [1/8]
◆ bvisit() [2/8]
Definition at line 59 of file is_symmetric.cpp.
60 {
61 is_symmetric_ = tribool::tritrue;
62 }
◆ bvisit() [3/8]
Definition at line 94 of file is_symmetric.cpp.
95 {
96 check_vector(x.get_factors());
97 }
◆ bvisit() [4/8]
Definition at line 49 of file is_symmetric.cpp.
50 {
51 is_symmetric_ = tribool::tritrue;
52 }
◆ bvisit() [5/8]
Definition at line 64 of file is_symmetric.cpp.
65 {
66 size_t nrows = x.nrows();
67 size_t ncols = x.ncols();
68 if (nrows != ncols) {
69 is_symmetric_ = tribool::trifalse;
70 return;
71 }
72 ZeroVisitor
visitor(assumptions_);
73 is_symmetric_ = tribool::tritrue;
74 for (size_t i = 0; i < ncols; i++) {
75 for (
size_t j = 0;
j <= i;
j++) {
77 auto e1 = x.get(i,
j);
78 auto e2 = x.get(
j, i);
79 is_symmetric_ = and_tribool(is_symmetric_,
81 }
82 if (is_false(is_symmetric_)) {
83 return;
84 }
85 }
86 }
87 }
RCP< const Basic > sub(const RCP< const Basic > &a, const RCP< const Basic > &b)
Substracts b from a.
◆ bvisit() [6/8]
◆ bvisit() [7/8]
Definition at line 44 of file is_symmetric.cpp.
45 {
46 is_symmetric_ = tribool::indeterminate;
47 }
◆ bvisit() [8/8]
Definition at line 54 of file is_symmetric.cpp.
55 {
56 is_symmetric_ = is_square(x, assumptions_);
57 }
◆ check_vector()
Definition at line 15 of file is_symmetric.cpp.
16 {
20 if (is_indeterminate(is_symmetric_)) {
21 return;
22 } else if (is_false(is_symmetric_)) {
24 return;
25 } else {
27 }
28 }
29 }
31 is_symmetric_ = tribool::trifalse;
32 } else {
33 is_symmetric_ = tribool::tritrue;
34 }
35 }
◆ assumptions_
◆ is_symmetric_
tribool SymEngine::MatrixSymmetricVisitor::is_symmetric_ |
|
private |
The documentation for this class was generated from the following file: