1[/
2
3THIS FILE IS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT!
4
5]
6
7[section upmtr]
8
9[heading Prototype]
10There is one prototype of `upmtr` available, please see below.
11``
12upmtr( const Side side, const char uplo, const VectorAP& ap,
13        const VectorTAU& tau, MatrixC& c );
14``
15
16
17[heading Description]
18
19`upmtr` (short for $FRIENDLY_NAME) provides a C++
20interface to LAPACK routines SOPMTR, DOPMTR, CUPMTR, and ZUPMTR.
21`upmtr` overwrites the general complex M-by-N matrix C with
22
23SIDE = 'L' SIDE = 'R'
24TRANS = 'N': Q * C  C * Q
25TRANS = 'C': Q**H * C C * Q**H
26
27where Q is a complex unitary matrix of order nq, with nq = m if
28SIDE = 'L' and nq = n if SIDE = 'R'. Q is defined as the product of
29nq-1 elementary reflectors, as returned by ZHPTRD using packed
30storage:
31
32if UPLO = 'U', Q = H(nq-1) . . . H(2) H(1);
33
34if UPLO = 'L', Q = H(1) H(2) . . . H(nq-1).
35
36The selection of the LAPACK routine is done during compile-time,
37and is determined by the type of values contained in type `VectorAP`.
38The type of values is obtained through the `value_type` meta-function
39 `typename value_type<VectorAP>::type`.
40The dispatching table below illustrates to which specific routine
41the code path will be generated.
42
43[table Dispatching of upmtr
44[  [ Value type of VectorAP ] [LAPACK routine] ]
45[  [`float`][SOPMTR] ]
46[  [`double`][DOPMTR] ]
47[  [`complex<float>`][CUPMTR] ]
48[  [`complex<double>`][ZUPMTR] ]
49
50]
51
52
53[heading Definition]
54Defined in header [headerref boost/numeric/bindings/lapack/computational/upmtr.hpp].
55
56
57[heading Parameters or Requirements on Types]
58
59[variablelist Parameters
60    [[MatrixA] [The definition of term 1]]
61    [[MatrixB] [The definition of term 2]]
62    [[MatrixC] [
63    The definition of term 3.
64
65    Definitions may contain paragraphs.
66    ]]
67]
68
69
70[heading Complexity]
71
72
73[heading Example]
74``
75#include <boost/numeric/bindings/lapack/computational/upmtr.hpp>
76using namespace boost::numeric::bindings;
77
78lapack::upmtr( x, y, z );
79
80``
81
82this will output
83
84``
85[5] 0 1 2 3 4 5
86``
87
88
89
90[heading Notes]
91
92
93[heading See Also]
94
95* Originating Fortran source files [@http://www.netlib.org/lapack/single/sopmtr.f sopmtr.f], [@http://www.netlib.org/lapack/double/dopmtr.f dopmtr.f], [@http://www.netlib.org/lapack/complex/cupmtr.f cupmtr.f], and [@http://www.netlib.org/lapack/complex16/zupmtr.f zupmtr.f] at Netlib.
96
97[endsect]
98