Loading...
Searching...
No Matches
SymEngine::ConjugateMatrixVisitor Class Reference
+ Inheritance diagram for SymEngine::ConjugateMatrixVisitor:
+ Collaboration diagram for SymEngine::ConjugateMatrixVisitor:

Public Member Functions

void bvisit (const Basic &x)
 
void bvisit (const MatrixExpr &x)
 
void bvisit (const IdentityMatrix &x)
 
void bvisit (const ZeroMatrix &x)
 
void bvisit (const DiagonalMatrix &x)
 
void bvisit (const ImmutableDenseMatrix &x)
 
void bvisit (const ConjugateMatrix &x)
 
void bvisit (const Transpose &x)
 
void bvisit (const MatrixAdd &x)
 
void bvisit (const HadamardProduct &x)
 
RCP< const MatrixExprapply (const MatrixExpr &s)
 

Private Attributes

RCP< const MatrixExprconjugate_
 

Detailed Description

Definition at line 47 of file conjugate_matrix.cpp.

Constructor & Destructor Documentation

◆ ConjugateMatrixVisitor()

SymEngine::ConjugateMatrixVisitor::ConjugateMatrixVisitor ( )
inline

Definition at line 53 of file conjugate_matrix.cpp.

53{}

Member Function Documentation

◆ apply()

RCP< const MatrixExpr > SymEngine::ConjugateMatrixVisitor::apply ( const MatrixExpr s)
inline

Definition at line 127 of file conjugate_matrix.cpp.

128 {
129 s.accept(*this);
130 return conjugate_;
131 }

◆ bvisit() [1/10]

void SymEngine::ConjugateMatrixVisitor::bvisit ( const Basic x)
inline

Definition at line 55 of file conjugate_matrix.cpp.

55{};

◆ bvisit() [2/10]

void SymEngine::ConjugateMatrixVisitor::bvisit ( const ConjugateMatrix x)
inline

Definition at line 94 of file conjugate_matrix.cpp.

95 {
96 conjugate_ = x.get_arg();
97 }

◆ bvisit() [3/10]

void SymEngine::ConjugateMatrixVisitor::bvisit ( const DiagonalMatrix x)
inline

Definition at line 73 of file conjugate_matrix.cpp.

74 {
75 auto diag = x.get_container();
76 vec_basic conj(diag.size());
77 for (size_t i = 0; i < diag.size(); i++) {
78 conj[i] = conjugate(diag[i]);
79 }
81 }
void hash_combine(hash_t &seed, const T &v)
Definition basic-inl.h:95
RCP< const Basic > conjugate(const RCP< const Basic > &arg)
Canonicalize Conjugate.

◆ bvisit() [4/10]

void SymEngine::ConjugateMatrixVisitor::bvisit ( const HadamardProduct x)
inline

Definition at line 117 of file conjugate_matrix.cpp.

118 {
119 vec_basic conj;
120 for (auto &e : x.get_factors()) {
121 e->accept(*this);
122 conj.push_back(conjugate_);
123 }
125 }
T push_back(T... args)

◆ bvisit() [5/10]

void SymEngine::ConjugateMatrixVisitor::bvisit ( const IdentityMatrix x)
inline

Definition at line 63 of file conjugate_matrix.cpp.

64 {
65 conjugate_ = rcp_static_cast<const MatrixExpr>(x.rcp_from_this());
66 }

◆ bvisit() [6/10]

void SymEngine::ConjugateMatrixVisitor::bvisit ( const ImmutableDenseMatrix x)
inline

Definition at line 83 of file conjugate_matrix.cpp.

84 {
85 auto values = x.get_values();
86 vec_basic conj(values.size());
87 for (size_t i = 0; i < values.size(); i++) {
88 conj[i] = conjugate(values[i]);
89 }
90 conjugate_
91 = make_rcp<const ImmutableDenseMatrix>(x.nrows(), x.ncols(), conj);
92 }

◆ bvisit() [7/10]

void SymEngine::ConjugateMatrixVisitor::bvisit ( const MatrixAdd x)
inline

Definition at line 107 of file conjugate_matrix.cpp.

108 {
109 vec_basic conj;
110 for (auto &e : x.get_terms()) {
111 e->accept(*this);
112 conj.push_back(conjugate_);
113 }
114 conjugate_ = make_rcp<const MatrixAdd>(conj);
115 }

◆ bvisit() [8/10]

void SymEngine::ConjugateMatrixVisitor::bvisit ( const MatrixExpr x)
inline

Definition at line 57 of file conjugate_matrix.cpp.

58 {
59 auto arg = rcp_static_cast<const MatrixExpr>(x.rcp_from_this());
61 }

◆ bvisit() [9/10]

void SymEngine::ConjugateMatrixVisitor::bvisit ( const Transpose x)
inline

Definition at line 99 of file conjugate_matrix.cpp.

100 {
101 // Shift order to transpose(conj(A))
102 auto arg = x.get_arg();
104 conjugate_ = make_rcp<const Transpose>(conj);
105 }

◆ bvisit() [10/10]

void SymEngine::ConjugateMatrixVisitor::bvisit ( const ZeroMatrix x)
inline

Definition at line 68 of file conjugate_matrix.cpp.

69 {
70 conjugate_ = rcp_static_cast<const MatrixExpr>(x.rcp_from_this());
71 }

Field Documentation

◆ conjugate_

RCP<const MatrixExpr> SymEngine::ConjugateMatrixVisitor::conjugate_
private

Definition at line 50 of file conjugate_matrix.cpp.


The documentation for this class was generated from the following file: