[/ 

THIS FILE IS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT!

]

[section orgbr]

[heading Prototype]
There is one prototype of `orgbr` available, please see below.
``
orgbr( const char vect, const int_t m,
        const int_t n, const int_t k, MatrixA& a,
        const VectorTAU& tau );
``


[heading Description]

`orgbr` (short for $FRIENDLY_NAME) provides a C++
interface to LAPACK routines SORGBR and DORGBR. 
`orgbr` generates one of the real orthogonal matrices Q or P**T
determined by DGEBRD when reducing a real matrix A to bidiagonal
form: A = Q * B * P**T. Q and P**T are defined as products of
elementary reflectors H(i) or G(i) respectively.

If VECT = 'Q', A is assumed to have been an M-by-K matrix, and Q
is of order M:
if m >= k, Q = H(1) H(2) . . . H(k) and `orgbr` returns the first n
columns of Q, where m >= n >= k;
if m < k, Q = H(1) H(2) . . . H(m-1) and `orgbr` returns Q as an
M-by-M matrix.

If VECT = 'P', A is assumed to have been a K-by-N matrix, and P**T
is of order N:
if k < n, P**T = G(k) . . . G(2) G(1) and `orgbr` returns the first m
rows of P**T, where n >= m >= k;
if k >= n, P**T = G(n-1) . . . G(2) G(1) and `orgbr` returns P**T as
an N-by-N matrix.

The selection of the LAPACK routine is done during compile-time, 
and is determined by the type of values contained in type `MatrixA`.
The type of values is obtained through the `value_type` meta-function
 `typename value_type<MatrixA>::type`.
The dispatching table below illustrates to which specific routine 
the code path will be generated. 

[table Dispatching of orgbr
[  [ Value type of MatrixA ] [LAPACK routine] ]
[  [`float`][SORGBR] ]
[  [`double`][DORGBR] ]

]


[heading Definition]
Defined in header [headerref boost/numeric/bindings/lapack/computational/orgbr.hpp].


[heading Parameters or Requirements on Types]

[variablelist Parameters
    [[MatrixA] [The definition of term 1]]
    [[MatrixB] [The definition of term 2]]
    [[MatrixC] [
    The definition of term 3.

    Definitions may contain paragraphs.
    ]]
]


[heading Complexity]


[heading Example]
``
#include <boost/numeric/bindings/lapack/computational/orgbr.hpp>
using namespace boost::numeric::bindings;

lapack::orgbr( x, y, z );

``

this will output

``
[5] 0 1 2 3 4 5
``



[heading Notes]


[heading See Also]

* Originating Fortran source files [@http://www.netlib.org/lapack/single/sorgbr.f sorgbr.f] and [@http://www.netlib.org/lapack/double/dorgbr.f dorgbr.f] at Netlib.

[endsect]
