File: MB04XY.html

package info (click to toggle)
slicot 5.9.1-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 23,528 kB
  • sloc: fortran: 148,076; makefile: 964; sh: 57
file content (162 lines) | stat: -rw-r--r-- 5,375 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
<HTML>
<HEAD><TITLE>MB04XY - SLICOT Library Routine Documentation</TITLE>
</HEAD>
<BODY>

<H2><A Name="MB04XY">MB04XY</A></H2>
<H3>
Applying the Householder transformations for bidiagonalization (stored in factored form) to specified one or two matrices, from the left
</H3>
<A HREF ="#Specification"><B>[Specification]</B></A>
<A HREF ="#Arguments"><B>[Arguments]</B></A>
<A HREF ="#Method"><B>[Method]</B></A>
<A HREF ="#References"><B>[References]</B></A>
<A HREF ="#Comments"><B>[Comments]</B></A>
<A HREF ="#Example"><B>[Example]</B></A>

<P>
<B><FONT SIZE="+1">Purpose</FONT></B>
<PRE>
  To apply the Householder transformations Pj stored in factored
  form into the columns of the array X, to the desired columns of
  the matrix U by premultiplication, and/or the Householder
  transformations Qj stored in factored form into the rows of the
  array X, to the desired columns of the matrix V by
  premultiplication. The Householder transformations Pj and Qj
  are stored as produced by LAPACK Library routine DGEBRD.

</PRE>
<A name="Specification"><B><FONT SIZE="+1">Specification</FONT></B></A>
<PRE>
      SUBROUTINE MB04XY( JOBU, JOBV, M, N, X, LDX, TAUP, TAUQ, U,
     $                   LDU, V, LDV, INUL, INFO )
C     .. Scalar Arguments ..
      CHARACTER         JOBU, JOBV
      INTEGER           INFO, LDU, LDV, LDX, M, N
C     .. Array Arguments ..
      LOGICAL           INUL(*)
      DOUBLE PRECISION  TAUP(*), TAUQ(*), U(LDU,*), V(LDV,*),
     $                  X(LDX,*)

</PRE>
<A name="Arguments"><B><FONT SIZE="+1">Arguments</FONT></B></A>
<P>

<B>Mode Parameters</B>
<PRE>
  JOBU    CHARACTER*1
          Specifies whether to transform the columns in U as
          follows:
          = 'N':  Do not transform the columns in U;
          = 'A':  Transform the columns in U (U has M columns);
          = 'S':  Transform the columns in U (U has min(M,N)
                  columns).

  JOBV    CHARACTER*1
          Specifies whether to transform the columns in V as
          follows:
          = 'N':  Do not transform the columns in V;
          = 'A':  Transform the columns in V (V has N columns);
          = 'S':  Transform the columns in V (V has min(M,N)
                  columns).

</PRE>
<B>Input/Output Parameters</B>
<PRE>
  M       (input) INTEGER
          The number of rows of the matrix X.  M &gt;= 0.

  N       (input) INTEGER
          The number of columns of the matrix X.  N &gt;= 0.

  X       (input) DOUBLE PRECISION array, dimension (LDX,N)
          The leading M-by-N part contains in the columns of its
          lower triangle the Householder transformations Pj, and
          in the rows of its upper triangle the Householder
          transformations Qj in factored form.
          X is modified by the routine but restored on exit.

  LDX     INTEGER
          The leading dimension of the array X.   LDX &gt;= MAX(1,M).

  TAUP    (input) DOUBLE PRECISION array, dimension (MIN(M,N))
          The scalar factors of the Householder transformations Pj.

  TAUQ    (input) DOUBLE PRECISION array, dimension (MIN(M,N))
          The scalar factors of the Householder transformations Qj.

  U       (input/output) DOUBLE PRECISION array, dimension (LDU,*)
          On entry, U contains the M-by-M (if JOBU = 'A') or
          M-by-min(M,N) (if JOBU = 'S') matrix U.
          On exit, the Householder transformations Pj have been
          applied to each column i of U corresponding to a parameter
          INUL(i) = .TRUE.
          NOTE that U is not referenced if JOBU = 'N'.

  LDU     INTEGER
          The leading dimension of the array U.
          LDU &gt;= MAX(1,M), if JOBU = 'A' or JOBU = 'S';
          LDU &gt;= 1,        if JOBU = 'N'.

  V       (input/output) DOUBLE PRECISION array, dimension (LDV,*)
          On entry, V contains the N-by-N (if JOBV = 'A') or
          N-by-min(M,N) (if JOBV = 'S') matrix V.
          On exit, the Householder transformations Qj have been
          applied to each column i of V corresponding to a parameter
          INUL(i) = .TRUE.
          NOTE that V is not referenced if JOBV = 'N'.

  LDV     INTEGER
          The leading dimension of the array V.
          LDV &gt;= MAX(1,M), if JOBV = 'A' or JOBV = 'S';
          LDV &gt;= 1,        if JOBV = 'N'.

  INUL    (input) LOGICAL array, dimension (MAX(M,N))
          INUL(i) = .TRUE. if the i-th column of U and/or V is to be
          transformed, and INUL(i) = .FALSE., otherwise.
          (1 &lt;= i &lt;= MAX(M,N)).

</PRE>
<B>Error Indicator</B>
<PRE>
  INFO    INTEGER
          = 0:  successful exit;
          &lt; 0:  if INFO = -i, the i-th argument had an illegal
                value.

</PRE>
<A name="Method"><B><FONT SIZE="+1">Method</FONT></B></A>
<PRE>
  The Householder transformations Pj or Qj are applied to the
  columns of U or V indexed by I for which INUL(I) = .TRUE..

</PRE>
<A name="Numerical Aspects"><B><FONT SIZE="+1">Numerical Aspects</FONT></B></A>
<PRE>
  The algorithm is backward stable.

</PRE>

<A name="Comments"><B><FONT SIZE="+1">Further Comments</FONT></B></A>
<PRE>
  None
</PRE>

<A name="Example"><B><FONT SIZE="+1">Example</FONT></B></A>
<P>
<B>Program Text</B>
<PRE>
  None
</PRE>
<B>Program Data</B>
<PRE>
  None
</PRE>
<B>Program Results</B>
<PRE>
  None
</PRE>

<HR>
<A HREF=support.html><B>Return to Supporting Routines index</B></A></BODY>
</HTML>