Developer Reference

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

?orbdb2/?unbdb2

Simultaneously bidiagonalizes the blocks of a tall and skinny matrix with orthonormal columns.

Syntax

call sorbdb2
(
m
,
p
,
q
,
x11
,
ldx11
,
x21
,
ldx21
,
theta
,
phi
,
taup1
,
taup2
,
tauq1
,
work
,
lwork
,
info
)
call dorbdb2
(
m
,
p
,
q
,
x11
,
ldx11
,
x21
,
ldx21
,
theta
,
phi
,
taup1
,
taup2
,
tauq1
,
work
,
lwork
,
info
)
call cunbdb2
(
m
,
p
,
q
,
x11
,
ldx11
,
x21
,
ldx21
,
theta
,
phi
,
taup1
,
taup2
,
tauq1
,
work
,
lwork
,
info
)
call zunbdb2
(
m
,
p
,
q
,
x11
,
ldx11
,
x21
,
ldx21
,
theta
,
phi
,
taup1
,
taup2
,
tauq1
,
work
,
lwork
,
info
)
Include Files
  • mkl.fi
    ,
    lapack.f90
Description
The routines
?orbdb2
/
?unbdb2
simultaneously bidiagonalize the blocks of a tall and skinny matrix
X
with orthonormal columns:
The size of
x
11
is
p
by
q
, and
x
12
is (
m
-
p
) by
q
.
q
must not be larger than
p
,
m
-
p
, or
m
-
q
.
Tall and Skinny Matrix Routines
q
min(
p
,
m
-
p
,
m
-
q
)
?orbdb1
/
?unbdb1
p
min(
q
,
m
-
p
,
m
-
q
)
?orbdb2
/
?unbdb2
m
-
p
min(
p
,
q
,
m
-
q
)
?orbdb3
/
?unbdb3