Contents

# ?latm5

Generates matrices involved in the Generalized Sylvester equation.

## Syntax

Include Files
• mkl.h
Description
The
?latm5
routine generates matrices involved in the Generalized Sylvester equation:
A
*
R
-
L
*
B
=
C
D
*
R
-
L
*
E
=
F
They also satisfy the diagonalization condition:
Input Parameters
prtype
Specifies the type of matrices to generate.
• If
prtype
= 1
,
A
and
B
are Jordan blocks,
D
and
E
are identity matrices.
A
:
If
(
i
==
j
)
then
A
i
,
j
= 1.0
.
If
(
j
==
i
+ 1)
then
A
i
,
j
= -1.0
.
Otherwise
A
i
,
j
= 0.0,
i
,
j
= 1...
m
B
:
If
(
i
==
j
)
then
B
i
,
j
= 1.0 -
alpha
.
If
(
j
==
i
+ 1)
then
B
i
,
j
= 1.0
.
Otherwise
B
i
,
j
= 0.0,
i
,
j
= 1...
n
.
D
:
If
(
i
==
j
)
then
D
i
,
j
= 1.0
.
Otherwise
D
i
,
j
= 0.0,
i
,
j
= 1...
m
.
E:
If
(
i
==
j
)
then
E
i
,
j
= 1.0
Otherwise
E
i
,
j
= 0.0,
i
,
j
= 1...
n
.
L
=
R
are chosen from [-10...10], which specifies the right hand sides (
C
,
F
).
• If
prtype
= 2 or 3
: Triangular and/or quasi- triangular.
A
:
If
(
i
j
)
then
A
i
,
j
= [-1...1]
.
Otherwise
A
i
,
j
= 0.0,
i
,
j
= 1...M
.
If (
prtype
= 3) then
A
k
+ 1,
k
+ 1
=
A
k
,
k
;
A
k
+ 1,
k
= [-1...1]
;
sign(
A
k
,
k
+ 1
) = -(sign(
A
k
+ 1,
k
)
.
k
= 1,
m
- 1,
qblcka
B
:
If
(
i
j
)
then
B
i
,
j
= [-1...1]
.
Otherwise
B
i
,
j
= 0.0,
i
,
j
= 1...
n
.
If (
prtype
= 3) then
B
k
+ 1,
k
+ 1
=
B
k
,
k
B
k
+ 1,
k
= [-1...1]
sign(
B
k
,
k
+ 1
)
= -(sign(
B
k
+ 1,
k
)
k
= 1,
n
- 1,
qblckb
.
D
:
If
(
i
j
)
then
D
i
,
j
= [-1...1]
.
Otherwise
D
i
,
j
= 0.0,
i
,
j
= 1...
m
.
E
:
If
(i <= j)
then
E
i
,
j
= [-1...1]
.
Otherwise
E
i
,
j
= 0.0, i, j = 1...N
.
L
,
R
are chosen from [-10...10], which specifies the right hand sides (
C
,
F
).
• If
prtype
= 4 Full

A
i
,
j
= [-10...10]

D
i
,
j
= [-1...1]
i
,
j
= 1...
m

B
i
,
j
= [-10...10]

E
i
,
j
= [-1...1]
i
,
j
= 1...
n

R
i
,
j
= [-10...10]

L
i
,
j
= [-1...1]
i
= 1..
m
,
j
= 1...
n
L
and
R
specifies the right hand sides (
C
,
F
).
• If
prtype
= 5 special case common and/or close eigs.
m
Specifies the order of
A
and
D
and the number of rows in
C
,
F
,
R
and
L
.
n
Specifies the order of
B
and
E
and the number of columns in
C
,
F
,
R
and
L
.
lda
a
.
ldb
b
.
ldc
c
.
ldd
d
.
lde
e
.
ldf
f
.
ldr
r
.
ldl
l
.
alpha
Parameter used in generating
prtype
= 1 and 5 matrices.
qblcka
When
prtype
= 3, specifies the distance between 2-by-2 blocks on the diagonal in
A
. Otherwise,
qblcka
is not referenced.
qblcka
> 1.
qblckb
When
prtype
= 3, specifies the distance between 2-by-2 blocks on the diagonal in
B
. Otherwise,
qblckb
is not referenced.
qblckb
> 1.
Output Parameters
a
Array, size
lda
*
m
. On exit
a
contains the
m
-by-
m
array
A
initialized according to
prtype
.
b
Array, size
ldb
*
n
. On exit
b
contains the
n
-by-
n
array
B
initialized according to
prtype
.
c
Array, size
ldc
*
n
. On exit
c
contains the
m
-by-
n
array
C
initialized according to
prtype
.
d
Array, size
ldd
*
m
. On exit
d
contains the
m
-by-
m
array
D
initialized according to
prtype
.
e
Array, size
lde
*
n
. On exit
e
contains the
n
-by-
n
array
E
initialized according to
prtype
.
f
Array, size
ldf
*
n
. On exit
f
contains the
m
-by-
n
array
F
initialized according to
prtype
.
r
Array, size
ldr
*
n
. On exit
R
contains the
m
-by-
n
array
R
initialized according to
prtype
.
l
Array, size
ldl
*
n
. On exit
l
contains the
m
-by-
n
array
L
initialized according to
prtype
.