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

Function MultTriangularUR2

basiclinalg/triangular.cpp:566–585  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

564 }
565
566 void MultTriangularUR2 (SliceMatrix<double> X, BareSliceMatrix<double> T)
567 {
568 size_t n = X.Width();
569 if (n <= 128)
570 {
571 MultTriangularUR3 (X,T);
572 return;
573 }
574 IntRange r1(0,n/2), r2(n/2,n);
575 auto T11 = T.Rows(r1).Cols(r1);
576 auto T12 = T.Rows(r1).Cols(r2).AddSize(r1.Size(), r2.Size());
577 // auto T21 = T.Rows(r2).Cols(r1).AddSize(r2.Size(), r1.Size());
578 auto T22 = T.Rows(r2).Cols(r2);
579 auto X1 = X.Cols(r1);
580 auto X2 = X.Cols(r2);
581
582 MultTriangularUR2 (X2,T22);
583 X2 += X1 * T12;
584 MultTriangularUR2 (X1,T11);
585 }
586
587 void MultTriangularUR (SliceMatrix<double> X, BareSliceMatrix<double> U)
588 {

Callers 1

MultTriangularURFunction · 0.85

Calls 5

MultTriangularUR3Function · 0.85
WidthMethod · 0.45
ColsMethod · 0.45
RowsMethod · 0.45
SizeMethod · 0.45

Tested by

no test coverage detected