Developer Reference

  • 2020.2
  • 07/15/2020
  • Public Content
Contents

?gebd2

Reduces a general matrix to bidiagonal form using an unblocked algorithm.

Syntax

call sgebd2
(
m
,
n
,
a
,
lda
,
d
,
e
,
tauq
,
taup
,
work
,
info
)
call dgebd2
(
m
,
n
,
a
,
lda
,
d
,
e
,
tauq
,
taup
,
work
,
info
)
call cgebd2
(
m
,
n
,
a
,
lda
,
d
,
e
,
tauq
,
taup
,
work
,
info
)
call zgebd2
(
m
,
n
,
a
,
lda
,
d
,
e
,
tauq
,
taup
,
work
,
info
)
Include Files
  • mkl.fi
Description
The routine reduces a general
m
-by-
n
matrix
A
to upper or lower bidiagonal form
B
by an orthogonal (unitary) transformation:
Q
T
*
A
*
P
=
B
(for real flavors) or
Q
H
*
A
*
P
=
B
(for complex flavors).
If
m
n
,
B
is upper bidiagonal; if
m
<
n
,
B
is lower bidiagonal.
The routine does not form the matrices
Q
and
P
explicitly, but represents them as products of elementary reflectors. if
m
n
,
Q
=
H
(1)*
H
(2)*...*
H
(
n
)
, and
P
=
G
(1)*
G
(2)*...*
G
(
n
-1)
if
m
<
n
,
Q
=
H
(1)*
H
(2)*...*
H
(
m
-1)
, and
P
=
G
(1)*
G
(2)*...*
G
(
m
)
Each
H
(i)
and
G
(i)
has the form
H
(i) =
I
-
tauq
*
v
*
v
T
and
G
(i) =
I
-
taup
*
u
*
u
T
for real flavors, or
H
(i) =
I
-
tauq
*
v
*
v
H
and
G
(i) =
I
-
taup
*
u
*
u
H
for complex flavors
where
tauq
and
taup
are scalars (real for
sgebd2
/
dgebd2
, complex for
cgebd2
/
zgebd2
), and
v
and
u
are vectors (real for
sgebd2
/
dgebd2
, complex for
cgebd2
/
zgebd2
).
Input Parameters
m
INTEGER
. The number of rows in the matrix
A
(
m
0
).
n
INTEGER
. The number of columns in
A
(
n
0
).
a
,
work
<