MCPcopy Create free account
hub / github.com/NGSolve/ngsolve / TransposeOperator

Function TransposeOperator

linalg/basematrix.cpp:670–687  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

668 }
669
670 shared_ptr<BaseMatrix> TransposeOperator (shared_ptr<BaseMatrix> mat)
671 {
672 if (auto emb = dynamic_pointer_cast<Embedding> (mat))
673 return make_shared<EmbeddingTranspose> (emb->Height(), emb->GetRange(), emb->IsComplex());
674
675 if (auto emb = dynamic_pointer_cast<EmbeddingTranspose> (mat))
676 return make_shared<Embedding> (emb->Width(), emb->GetRange(), emb->IsComplex());
677
678 if (auto parmat = dynamic_pointer_cast<ParallelMatrix> (mat))
679 return make_shared<ParallelMatrix> (TransposeOperator(parmat->GetMatrix()),
680 parmat->GetColParallelDofs(),
681 parmat->GetRowParallelDofs(),
682 ParallelOp(InvertType(ColType(parmat->GetOpType())),
683 InvertType(RowType(parmat->GetOpType()))));
684
685
686 return make_shared<Transpose> (mat);
687 }
688
689
690

Callers 6

AssembleBDBMethod · 0.85
CreateMassOperatorMethod · 0.85
CreateDeviceMatrixMethod · 0.85
CreateMatrixFMMMethod · 0.85

Calls 12

ParallelOpFunction · 0.85
InvertTypeFunction · 0.85
ColTypeFunction · 0.85
RowTypeFunction · 0.85
HeightMethod · 0.45
GetRangeMethod · 0.45
IsComplexMethod · 0.45
WidthMethod · 0.45
GetMatrixMethod · 0.45
GetColParallelDofsMethod · 0.45
GetRowParallelDofsMethod · 0.45
GetOpTypeMethod · 0.45

Tested by

no test coverage detected