| ||||||
| ||||||
| Prototype | ||||||
|
template <class MatT, class MatB, class Side> void tri_solve(const MatT& T, MatB& B, Side s) ; | ||||||
| Description | ||||||
| This solves the equation T*X = B or X*T = B where T is an upper or lower triangular matrix, and B is a general matrix. The resulting matrix X is written onto matrix B. The first equation is solved if left_side is specified. The second equation is solved if right_side is specified. Currently only works with dense storage format. | ||||||
| Definition | ||||||
| mtl.h | ||||||
| Requirements on types | ||||||
| ||||||
| Preconditions | ||||||
|
| ||||||
| Complexity | ||||||
| O(n^3) | ||||||
| Example | ||||||
In matmat_trisolve.cc:
// Example use of tri_solve with upper and lower triangles typedef matrix< double, rectangle<>, dense<>, row_major >::type Matrix; Matrix B(M,N); Matrix X(M,N); triangle_view<Matrix, upper>::type U(M,M); Matrix R(M,N); // fill the matrices ... tri_solve(U, X, left_side()); triangle<Matrix, lower>::type L(M,M); tri_solve(L, X, left_side()); | ||||||
| Notes | ||||||
| See also | ||||||

Copyright ©
1998,1999 University of Notre Dame. All Rights Reserved.