diff --git a/doc/samples/Jamfile.v2 b/doc/samples/Jamfile.v2 index d32c8742..55a8e6a6 100644 --- a/doc/samples/Jamfile.v2 +++ b/doc/samples/Jamfile.v2 @@ -222,3 +222,7 @@ exe triangular_matrix exe triangular_adaptor : triangular_adaptor.cpp ; + +exe ex_triangular + : ex_triangular.cpp + ; diff --git a/doc/samples/ex_triangular.cpp b/doc/samples/ex_triangular.cpp new file mode 100644 index 00000000..a2a34d96 --- /dev/null +++ b/doc/samples/ex_triangular.cpp @@ -0,0 +1,58 @@ +// Copyright Gunter Winkler 2004 - 2009. +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) + + +#include + +#include +#include + +#include + +using std::cout; +using std::endl; + + + +namespace ublas = boost::numeric::ublas; + + +int main(int argc, char * argv[] ) { + + ublas::matrix M (3, 3); + for (std::size_t i=0; i < M.data().size(); ++i) { M.data()[i] = 1+i ; } + + std::cout << "full M = " << M << "\n" ; + + ublas::triangular_matrix L; + ublas::triangular_matrix UL; + ublas::triangular_matrix SL; + + L = ublas::triangular_adaptor, ublas::lower> (M); + SL = ublas::triangular_adaptor, ublas::strict_lower> (M); + UL = ublas::triangular_adaptor, ublas::unit_lower> (M); + + std::cout << "lower L = " << L << "\n" + << "strict lower SL = " << SL << "\n" + << "unit lower UL = " << UL << "\n" ; + + ublas::triangular_matrix U; + ublas::triangular_matrix UU; + ublas::triangular_matrix SU; + + U = ublas::triangular_adaptor, ublas::upper> (M); + SU = ublas::triangular_adaptor, ublas::strict_upper> (M); + UU = ublas::triangular_adaptor, ublas::unit_upper> (M); + + std::cout << "upper U = " << U << "\n" + << "strict upper SU = " << SU << "\n" + << "unit upper UU = " << UU << "\n" ; + + std::cout << "M = L + SU ? " << ((norm_inf( M - (L + SU) ) == 0.0)?"ok":"failed") << "\n"; + std::cout << "M = U + SL ? " << ((norm_inf( M - (U + SL) ) == 0.0)?"ok":"failed") << "\n"; + +} + + diff --git a/doc/triangular.htm b/doc/triangular.htm index eea59333..f2ff474c 100644 --- a/doc/triangular.htm +++ b/doc/triangular.htm @@ -21,7 +21,7 @@ For a (n x n )-dimensional lower triangular matrix and ti, j = 0 , if i > j. If furthermore holds ti, i= 1 the matrix is called unit lower triangular. For a (n x n -)-dimensional upper triangular matrix and 0 <= i < +)-dimensional lower triangular matrix and 0 <= i < n,0 <= j < n holds ti, j = 0 , if i < j. If furthermore holds ti, i= 1 the matrix is called @@ -46,6 +46,8 @@ int main () { std::cout << mu << std::endl; } +

Please read the full triangular example for more details.

+

Definition

Defined in the header triangular.hpp.

Template parameters

@@ -348,6 +350,8 @@ int main () { std::cout << tau << std::endl; } +

Please read the full triangular example for more details.

+

Definition

Defined in the header triangular.hpp.

Template parameters