Vocabulary/LAPACK

From J Wiki
Jump to: navigation, search

Loading

First, go to Package Manager and make sure you have the latest version of the math/lapack2 addon.

To use it:

   load 'math/lapack2'

Finding a LAPACK function

The LAPACK documentation is here. Browse through it to find the function you need, and go to the manual page to find the meaning of the arguments.

Examples of use

QR decomposition

You have a matrix a and you want to find the QR decomposition.

   ]a=: 3 3 $12. _51 4 6 167 _68 _4 24 _41  NB. Floating-point matrix
12 _51   4
 6 167 _68
_4  24 _41

Decide which LAPACK function to use

Go through the LAPACK library and decide which function you want to use. This may take some time, as there are often several different routines depending on what you know about your inputs (are they symmetric, upper-triangular, etc?) and what form of output you want. Consult whatever references you need.

For QR factorization we find GEQRF, listed in some references as ?GEQRF. This needs one more letter to complete the name of the function.

The first letter of a LAPACK function indicates the argument precision, the rest indicate the operation. J floating-point values are double-precision floating-point, so they begin with the letter D.

The routine we will use is DGEQRF in LAPACK. The j verb is named dgeqrf.

Understand the argument layout

Starting from the page at http://www.netlib.org/lapack/explore-html/modules.html, we expand Modules>LAPACK>General Matrices>Computational Routines>double>dgeqrf to get to the page on [dgeqrf]. Read and understand the parameters.

The parameters match those given in the J function header created by the math/lapack2 addon:

   load 'math/lapack2'
   dgeqrf_jlapack2_
'"c:/j901/addons/math/lapack2/lib/liblapack3.dll" dgeqrf_ + n *i *i *d *i *d *d *i *i '&cd

The part of this you need to understand is the argument descriptors n *i *i *d *i *d *d *i *i. (For the full description of the last line see here.) The first field describes the result; the value n indicates that the function does not return a result. The other 8 fields correspond to the definition on the dgeqrf page. i signifies an integer, d floating-point.

Note that every argument is passed by a pointer, indicated by the * in each argument descriptor. This is the FORTRAN call-by-reference standard. What this means to you is that every argument whose descriptor contains * must be an array, not an atom.

Also be aware that the LAPACK routines, being FORTRAN routines, expect matrices to be stored in column-major order rather than J's row-major order. Thus, you will need to transpose arrays going into and coming out of LAPACK routines unless you know they are symmetric.

Write the interface routine

We will build up the routine for QR factorization step by step in an explicit definition.

Reading the argument description, we see that the argument WORK is an array whose size must be determined by a preliminary call to dgeqrf. We'll start with that call:

require 'math/lapack2'
NB. QR factorization of y
NB. Result is Q;R such that Q is unitary, R is upper-triangular, and y -: Q +/ . * R
dgeqrf =: 3 : 0
assert. 2 = #@$ y  NB. y must be a matrix
'r c' =. ,"0 $ y  NB. get # rows and columns, as lists
NB. preliminary call to find best LWORK
ret =. dgeqrf_jlapack2_ c;r;(|:y);(1>.c);((r<.c)$0.);(1$0.);(,_1);,_1
assert. 0 = _1 {:: ret
ret
)
   dgeqrf a
+-+-+-+-----------+-+-----+-+--+-+
|0|3|3| 12   6  _4|3|0 0 0|3|_1|0|
| | | |_51 167  24| |     | |  | |
| | | |  4 _68 _41| |     | |  | |
+-+-+-+-----------+-+-----+-+--+-+

It worked. Good return (the 0 at the end), and the WORK argument has been filled in with the value to use for LWORK. We will extend our program to use that value of LWORK to do the work:

Warning.png If you pass a name into a LAPACK routine, J makes a copy of the name before calling LAPACK. Thus, the name itself is unchanged, even if the LAPACK documentation says that the field is modified. To see the result of the LAPACK function you must look in the boxed result of the call (ret here).

   dgeqrf =: 3 : 0
assert. 2 = #@$ y  NB. y must be a matrix
'r c' =. ,"0 $ y  NB. get # rows and columns, as lists
NB. preliminary call to find best LWORK
ret =. dgeqrf_jlapack2_ c;r;(|:y);(1>.c);((r<.c)$0.);(1$0.);(,_1);,_1
assert. 0 = _1 {:: ret
lwork =. , (6;0) {:: ret  NB. extract 
best value for LWORKret
ret =. dgeqrf_jlapack2_ c;r;(|:y);(1>.c);((r<.c)$0.);(lwork$0.);lwork;,_1
assert. 0 = _1 {:: ret
ret
)
   dgeqrf a
+-+-+-+-------------+-+---------------+-------+-+-+
|0|3|3| 14  _3     2|3|0.142857 1.28 2|3 126 0|3|0|
| | | | 21 175 _0.75| |               |       | | |
| | | |_14 _70    35| |               |       | | |
+-+-+-+-------------+-+---------------+-------+-+-+

We have the result of dgeqrf, but where are Q and R? After examination of the description of dgeqrf we realize that Q and R are packed into the result matrix, with the main diagonal and above being R and the part below the diagonal representing a sequence of Householder transformations that identify Q. To realize Q itself we need another search through our resources, and we finally land on the function dorgqr]. It takes the result of dgeqrf and expands the product to produce Q. This makes the whole program:

   dgeqrf =: 3 : 0
assert. 2 = #@$ y  NB. y must be a matrix
'r c' =. ,"0 $ y  NB. get # rows and columns, as lists
NB. preliminary call to find best LWORK
ret =. dgeqrf_jlapack2_ c;r;(|:y);(1>.c);((r<.c)$0.);(1$0.);(,_1);,_1
assert. 0 = _1 {:: ret
lwork =. , (6;0) {:: ret  NB. extract recommended size of workarea
ret =. dgeqrf_jlapack2_ c;r;(|:y);(1>.c);((r<.c)$0.);(lwork$0.);lwork;,_1
assert. 0 = _1 {:: ret
R =. |: ({."0 1~  #\) 3 {:: ret  NB. Remember transposed order!  take up through the main diagonal of each row, then transpose
ret =. dorgqr_jlapack2_ (1 2 2 3 4 5 6 7{ret),<,_1  NB. Realize Q.  Reuse workareas
assert. 0 = _1 {:: ret
(|: 4{::ret);R  NB. Return Q and R, remembering to transpose the Q result
)
      dgeqrf a
+-----------------------------+----------+
| 0.857143 _0.394286 _0.331429|14  21 _14|
| 0.428571  0.902857 0.0342857| 0 175 _70|
|_0.285714  0.171429 _0.942857| 0   0  35|
+-----------------------------+----------+
      +/ . *&>/ dgeqrf a
12 _51   4
 6 167 _68
_4  24 _41

Estimate condition number of a symmetric matrix

Searching resources we find the LAPACK call DSYCON which requires first calculating the 1-norm of the matrix and then factoring it using DSYTRF. We can calculate the 1-norm in J directly. The program is

require 'math/lapack2'
NB. Program to estimate the reciprocal condition number (in the 1-norm) of symmetric real matrix y.
NB. Result is reciprocal condition number
dsycon =: 3 : 0
assert. 2 = #@$ y
n =. ,#y  NB. # rows, as vector
ret =. dsytrf_jlapack2_ (,'U');n;y;n;(n$00);(1$0.);(,_1);,_1    NB. no need to transpose symmetric matrix
assert. 0 = _1{::ret
lwork =. , (6;0) {:: ret  NB. extract size of workarea
ret =. dsytrf_jlapack2_ (,'U');n;y;n;(n$00);(lwork$0.);(,lwork);,_1  NB. Call again with workarea allocated
assert. 0 = _1{::ret
ret =. dsycon_jlapack2_ (1 2 3 4 5{ret),(, >./ +/"1 | y);(1$0.);((2*n)$0.);(n$01);,_1
assert. 0 = _1{::ret
7{::ret
)
   dsycon  2 2 $ 2 0 0 1
0.5

Verbs defined in math/lapack2

The lapack2 addon consists mainly of a set of cover verbs for the LAPACK functions. These verbs call the LAPACK DLL. You need to understand how to pass parameters to a DLL. The cover verbs are already set up to give your argument the correct datatype.

All these verbs are defined in the jlapack2 locale.

Function name Result/arguments (first field is result)
sgetrf n *i *i *f *i *i *i
dgetrf n *i *i *d *i *i *i
cgetrf n *i *i *z *i *i *i
zgetrf n *i *i *j *i *i *i
sgetrf2 n *i *i *f *i *i *i
dgetrf2 n *i *i *d *i *i *i
cgetrf2 n *i *i *z *i *i *i
zgetrf2 n *i *i *j *i *i *i
sgbtrf n *i *i *i *i *f *i *i *i
dgbtrf n *i *i *i *i *d *i *i *i
cgbtrf n *i *i *i *i *z *i *i *i
zgbtrf n *i *i *i *i *j *i *i *i
sgttrf n *i *f *f *f *f *i *i
dgttrf n *i *d *d *d *d *i *i
cgttrf n *i *z *z *z *z *i *i
zgttrf n *i *j *j *j *j *i *i
spotrf2 n *c *i *f *i *i
dpotrf2 n *c *i *d *i *i
cpotrf2 n *c *i *z *i *i
zpotrf2 n *c *i *j *i *i
spotrf n *c *i *f *i *i
dpotrf n *c *i *d *i *i
cpotrf n *c *i *z *i *i
zpotrf n *c *i *j *i *i
dpstrf n *c *i *d *i *i *i *d *d *i
spstrf n *c *i *f *i *i *i *f *f *i
zpstrf n *c *i *j *i *i *i *d *d *i
cpstrf n *c *i *z *i *i *i *f *f *i
dpftrf n *c *c *i *d *i
spftrf n *c *c *i *f *i
zpftrf n *c *c *i *j *i
cpftrf n *c *c *i *z *i
spptrf n *c *i *f *i
dpptrf n *c *i *d *i
cpptrf n *c *i *z *i
zpptrf n *c *i *j *i
spbtrf n *c *i *i *f *i *i
dpbtrf n *c *i *i *d *i *i
cpbtrf n *c *i *i *z *i *i
zpbtrf n *c *i *i *j *i *i
spttrf n *i *f *f *i
dpttrf n *i *d *d *i
cpttrf n *i *f *z *i
zpttrf n *i *d *j *i
ssytrf n *c *i *f *i *i *f *i *i
dsytrf n *c *i *d *i *i *d *i *i
csytrf n *c *i *z *i *i *z *i *i
zsytrf n *c *i *j *i *i *j *i *i
chetrf n *c *i *z *i *i *z *i *i
zhetrf n *c *i *j *i *i *j *i *i
ssptrf n *c *i *f *i *i
dsptrf n *c *i *d *i *i
csptrf n *c *i *z *i *i
zsptrf n *c *i *j *i *i
chptrf n *c *i *z *i *i
zhptrf n *c *i *j *i *i
sgetrs n *c *i *i *f *i *i *f *i *i
dgetrs n *c *i *i *d *i *i *d *i *i
cgetrs n *c *i *i *z *i *i *z *i *i
zgetrs n *c *i *i *j *i *i *j *i *i
sgbtrs n *c *i *i *i *i *f *i *i *f *i *i
dgbtrs n *c *i *i *i *i *d *i *i *d *i *i
cgbtrs n *c *i *i *i *i *z *i *i *z *i *i
zgbtrs n *c *i *i *i *i *j *i *i *j *i *i
sgttrs n *c *i *i *f *f *f *f *i *f *i *i
dgttrs n *c *i *i *d *d *d *d *i *d *i *i
cgttrs n *c *i *i *z *z *z *z *i *z *i *i
zgttrs n *c *i *i *j *j *j *j *i *j *i *i
spotrs n *c *i *i *f *i *f *i *i
dpotrs n *c *i *i *d *i *d *i *i
cpotrs n *c *i *i *z *i *z *i *i
zpotrs n *c *i *i *j *i *j *i *i
dpftrs n *c *c *i *i *d *d *i *i
spftrs n *c *c *i *i *f *f *i *i
zpftrs n *c *c *i *i *j *j *i *i
cpftrs n *c *c *i *i *z *z *i *i
spptrs n *c *i *i *f *f *i *i
dpptrs n *c *i *i *d *d *i *i
cpptrs n *c *i *i *z *z *i *i
zpptrs n *c *i *i *j *j *i *i
spbtrs n *c *i *i *i *f *i *f *i *i
dpbtrs n *c *i *i *i *d *i *d *i *i
cpbtrs n *c *i *i *i *z *i *z *i *i
zpbtrs n *c *i *i *i *j *i *j *i *i
spttrs n *i *i *f *f *f *i *i
dpttrs n *i *i *d *d *d *i *i
cpttrs n *c *i *i *f *z *z *i *i
zpttrs n *c *i *i *d *j *j *i *i
ssytrs n *c *i *i *f *i *i *f *i *i
dsytrs n *c *i *i *d *i *i *d *i *i
csytrs n *c *i *i *z *i *i *z *i *i
zsytrs n *c *i *i *j *i *i *j *i *i
chetrs n *c *i *i *z *i *i *z *i *i
zhetrs n *c *i *i *j *i *i *j *i *i
ssptrs n *c *i *i *f *i *f *i *i
dsptrs n *c *i *i *d *i *d *i *i
csptrs n *c *i *i *z *i *z *i *i
zsptrs n *c *i *i *j *i *j *i *i
chptrs n *c *i *i *z *i *z *i *i
zhptrs n *c *i *i *j *i *j *i *i
strtrs n *c *c *c *i *i *f *i *f *i *i
dtrtrs n *c *c *c *i *i *d *i *d *i *i
ctrtrs n *c *c *c *i *i *z *i *z *i *i
ztrtrs n *c *c *c *i *i *j *i *j *i *i
stptrs n *c *c *c *i *i *f *f *i *i
dtptrs n *c *c *c *i *i *d *d *i *i
ctptrs n *c *c *c *i *i *z *z *i *i
ztptrs n *c *c *c *i *i *j *j *i *i
stbtrs n *c *c *c *i *i *i *f *i *f *i *i
dtbtrs n *c *c *c *i *i *i *d *i *d *i *i
ctbtrs n *c *c *c *i *i *i *z *i *z *i *i
ztbtrs n *c *c *c *i *i *i *j *i *j *i *i
sgecon n *c *i *f *i *f *f *f *i *i
dgecon n *c *i *d *i *d *d *d *i *i
cgecon n *c *i *z *i *f *f *z *f *i
zgecon n *c *i *j *i *d *d *j *d *i
sgbcon n *c *i *i *i *f *i *i *f *f *f *i *i
dgbcon n *c *i *i *i *d *i *i *d *d *d *i *i
cgbcon n *c *i *i *i *z *i *i *f *f *z *f *i
zgbcon n *c *i *i *i *j *i *i *d *d *j *d *i
sgtcon n *c *i *f *f *f *f *i *f *f *f *i *i
dgtcon n *c *i *d *d *d *d *i *d *d *d *i *i
cgtcon n *c *i *z *z *z *z *i *f *f *z *i
zgtcon n *c *i *j *j *j *j *i *d *d *j *i
spocon n *c *i *f *i *f *f *f *i *i
dpocon n *c *i *d *i *d *d *d *i *i
cpocon n *c *i *z *i *f *f *z *f *i
zpocon n *c *i *j *i *d *d *j *d *i
sppcon n *c *i *f *f *f *f *i *i
dppcon n *c *i *d *d *d *d *i *i
cppcon n *c *i *z *f *f *z *f *i
zppcon n *c *i *j *d *d *j *d *i
spbcon n *c *i *i *f *i *f *f *f *i *i
dpbcon n *c *i *i *d *i *d *d *d *i *i
cpbcon n *c *i *i *z *i *f *f *z *f *i
zpbcon n *c *i *i *j *i *d *d *j *d *i
sptcon n *i *f *f *f *f *f *i
dptcon n *i *d *d *d *d *d *i
cptcon n *i *f *z *f *f *f *i
zptcon n *i *d *j *d *d *d *i
ssycon n *c *i *f *i *i *f *f *f *i *i
dsycon n *c *i *d *i *i *d *d *d *i *i
csycon n *c *i *z *i *i *f *f *z *i
zsycon n *c *i *j *i *i *d *d *j *i
checon n *c *i *z *i *i *f *f *z *i
zhecon n *c *i *j *i *i *d *d *j *i
sspcon n *c *i *f *i *f *f *f *i *i
dspcon n *c *i *d *i *d *d *d *i *i
cspcon n *c *i *z *i *f *f *z *i
zspcon n *c *i *j *i *d *d *j *i
chpcon n *c *i *z *i *f *f *z *i
zhpcon n *c *i *j *i *d *d *j *i
strcon n *c *c *c *i *f *i *f *f *i *i
dtrcon n *c *c *c *i *d *i *d *d *i *i
ctrcon n *c *c *c *i *z *i *f *z *f *i
ztrcon n *c *c *c *i *j *i *d *j *d *i
stpcon n *c *c *c *i *f *f *f *i *i
dtpcon n *c *c *c *i *d *d *d *i *i
ctpcon n *c *c *c *i *z *f *z *f *i
ztpcon n *c *c *c *i *j *d *j *d *i
stbcon n *c *c *c *i *i *f *i *f *f *i *i
dtbcon n *c *c *c *i *i *d *i *d *d *i *i
ctbcon n *c *c *c *i *i *z *i *f *z *f *i
ztbcon n *c *c *c *i *i *j *i *d *j *d *i
sgerfs n *c *i *i *f *i *f *i *i *f *i *f *i *f *f *f *i *i
dgerfs n *c *i *i *d *i *d *i *i *d *i *d *i *d *d *d *i *i
cgerfs n *c *i *i *z *i *z *i *i *z *i *z *i *f *f *z *f *i
zgerfs n *c *i *i *j *i *j *i *i *j *i *j *i *d *d *j *d *i
dgerfsx n *c *c *i *i *d *i *d *i *i *d *d *d *i *d *i *d *d *i *d *d *i *d *d *i *i
sgerfsx n *c *c *i *i *f *i *f *i *i *f *f *f *i *f *i *f *f *i *f *f *i *f *f *i *i
zgerfsx n *c *c *i *i *j *i *j *i *i *d *d *j *i *j *i *d *d *i *d *d *i *d *j *d *i
cgerfsx n *c *c *i *i *z *i *z *i *i *f *f *z *i *z *i *f *f *i *f *f *i *f *z *f *i
sgbrfs n *c *i *i *i *i *f *i *f *i *i *f *i *f *i *f *f *f *i *i
dgbrfs n *c *i *i *i *i *d *i *d *i *i *d *i *d *i *d *d *d *i *i
cgbrfs n *c *i *i *i *i *z *i *z *i *i *z *i *z *i *f *f *z *f *i
zgbrfs n *c *i *i *i *i *j *i *j *i *i *j *i *j *i *d *d *j *d *i
dgbrfsx n *c *c *i *i *i *i *d *i *d *i *i *d *d *d *i *d *i *d *d *i *d *d *i *d *d *i *i
sgbrfsx n *c *c *i *i *i *i *f *i *f *i *i *f *f *f *i *f *i *f *f *i *f *f *i *f *f *i *i
zgbrfsx n *c *c *i *i *i *i *j *i *j *i *i *d *d *j *i *j *i *d *d *i *d *d *i *d *j *d *i
cgbrfsx n *c *c *i *i *i *i *z *i *z *i *i *f *f *z *i *z *i *f *f *i *f *f *i *f *z *f *i
sgtrfs n *c *i *i *f *f *f *f *f *f *f *i *f *i *f *i *f *f *f *i *i
dgtrfs n *c *i *i *d *d *d *d *d *d *d *i *d *i *d *i *d *d *d *i *i
cgtrfs n *c *i *i *z *z *z *z *z *z *z *i *z *i *z *i *f *f *z *f *i
zgtrfs n *c *i *i *j *j *j *j *j *j *j *i *j *i *j *i *d *d *j *d *i
sporfs n *c *i *i *f *i *f *i *f *i *f *i *f *f *f *i *i
dporfs n *c *i *i *d *i *d *i *d *i *d *i *d *d *d *i *i
cporfs n *c *i *i *z *i *z *i *z *i *z *i *f *f *z *f *i
zporfs n *c *i *i *j *i *j *i *j *i *j *i *d *d *j *d *i
dporfsx n *c *c *i *i *d *i *d *i *d *d *i *d *i *d *d *i *d *d *i *d *d *i *i
sporfsx n *c *c *i *i *f *i *f *i *f *f *i *f *i *f *f *i *f *f *i *f *f *i *i
zporfsx n *c *c *i *i *j *i *j *i *d *j *i *j *i *d *d *i *d *d *i *d *j *d *i
cporfsx n *c *c *i *i *z *i *z *i *f *z *i *z *i *f *f *i *f *f *i *f *z *f *i
spprfs n *c *i *i *f *f *f *i *f *i *f *f *f *i *i
dpprfs n *c *i *i *d *d *d *i *d *i *d *d *d *i *i
cpprfs n *c *i *i *z *z *z *i *z *i *f *f *z *f *i
zpprfs n *c *i *i *j *j *j *i *j *i *d *d *j *d *i
spbrfs n *c *i *i *i *f *i *f *i *f *i *f *i *f *f *f *i *i
dpbrfs n *c *i *i *i *d *i *d *i *d *i *d *i *d *d *d *i *i
cpbrfs n *c *i *i *i *z *i *z *i *z *i *z *i *f *f *z *f *i
zpbrfs n *c *i *i *i *j *i *j *i *j *i *j *i *d *d *j *d *i
sptrfs n *i *i *f *f *f *f *f *i *f *i *f *f *f *i
dptrfs n *i *i *d *d *d *d *d *i *d *i *d *d *d *i
cptrfs n *c *i *i *f *z *f *z *z *i *z *i *f *f *z *f *i
zptrfs n *c *i *i *d *j *d *j *j *i *j *i *d *d *j *d *i
ssyrfs n *c *i *i *f *i *f *i *i *f *i *f *i *f *f *f *i *i
dsyrfs n *c *i *i *d *i *d *i *i *d *i *d *i *d *d *d *i *i
csyrfs n *c *i *i *z *i *z *i *i *z *i *z *i *f *f *z *f *i
zsyrfs n *c *i *i *j *i *j *i *i *j *i *j *i *d *d *j *d *i
dsyrfsx n *c *c *i *i *d *i *d *i *i *d *d *i *d *i *d *d *i *d *d *i *d *d *i *i
ssyrfsx n *c *c *i *i *f *i *f *i *i *f *f *i *f *i *f *f *i *f *f *i *f *f *i *i
zsyrfsx n *c *c *i *i *j *i *j *i *i *d *j *i *j *i *d *d *i *d *d *i *d *j *d *i
csyrfsx n *c *c *i *i *z *i *z *i *i *f *z *i *z *i *f *f *i *f *f *i *f *z *f *i
cherfs n *c *i *i *z *i *z *i *i *z *i *z *i *f *f *z *f *i
zherfs n *c *i *i *j *i *j *i *i *j *i *j *i *d *d *j *d *i
zherfsx n *c *c *i *i *j *i *j *i *i *d *j *i *j *i *d *d *i *d *d *i *d *j *d *i
cherfsx n *c *c *i *i *z *i *z *i *i *f *z *i *z *i *f *f *i *f *f *i *f *z *f *i
ssprfs n *c *i *i *f *f *i *f *i *f *i *f *f *f *i *i
dsprfs n *c *i *i *d *d *i *d *i *d *i *d *d *d *i *i
csprfs n *c *i *i *z *z *i *z *i *z *i *f *f *z *f *i
zsprfs n *c *i *i *j *j *i *j *i *j *i *d *d *j *d *i
chprfs n *c *i *i *z *z *i *z *i *z *i *f *f *z *f *i
zhprfs n *c *i *i *j *j *i *j *i *j *i *d *d *j *d *i
strrfs n *c *c *c *i *i *f *i *f *i *f *i *f *f *f *i *i
dtrrfs n *c *c *c *i *i *d *i *d *i *d *i *d *d *d *i *i
ctrrfs n *c *c *c *i *i *z *i *z *i *z *i *f *f *z *f *i
ztrrfs n *c *c *c *i *i *j *i *j *i *j *i *d *d *j *d *i
stprfs n *c *c *c *i *i *f *f *i *f *i *f *f *f *i *i
dtprfs n *c *c *c *i *i *d *d *i *d *i *d *d *d *i *i
ctprfs n *c *c *c *i *i *z *z *i *z *i *f *f *z *f *i
ztprfs n *c *c *c *i *i *j *j *i *j *i *d *d *j *d *i
stbrfs n *c *c *c *i *i *i *f *i *f *i *f *i *f *f *f *i *i
dtbrfs n *c *c *c *i *i *i *d *i *d *i *d *i *d *d *d *i *i
ctbrfs n *c *c *c *i *i *i *z *i *z *i *z *i *f *f *z *f *i
ztbrfs n *c *c *c *i *i *i *j *i *j *i *j *i *d *d *j *d *i
sgetri n *i *f *i *i *f *i *i
dgetri n *i *d *i *i *d *i *i
cgetri n *i *z *i *i *z *i *i
zgetri n *i *j *i *i *j *i *i
spotri n *c *i *f *i *i
dpotri n *c *i *d *i *i
cpotri n *c *i *z *i *i
zpotri n *c *i *j *i *i
dpftri n *c *c *i *d *i
spftri n *c *c *i *f *i
zpftri n *c *c *i *j *i
cpftri n *c *c *i *z *i
spptri n *c *i *f *i
dpptri n *c *i *d *i
cpptri n *c *i *z *i
zpptri n *c *i *j *i
ssytri n *c *i *f *i *i *f *i
dsytri n *c *i *d *i *i *d *i
csytri n *c *i *z *i *i *z *i
zsytri n *c *i *j *i *i *j *i
chetri n *c *i *z *i *i *z *i
zhetri n *c *i *j *i *i *j *i
ssptri n *c *i *f *i *f *i
dsptri n *c *i *d *i *d *i
csptri n *c *i *z *i *z *i
zsptri n *c *i *j *i *j *i
chptri n *c *i *z *i *z *i
zhptri n *c *i *j *i *j *i
strtri n *c *c *i *f *i *i
dtrtri n *c *c *i *d *i *i
ctrtri n *c *c *i *z *i *i
ztrtri n *c *c *i *j *i *i
dtftri n *c *c *c *i *d *i
stftri n *c *c *c *i *f *i
ztftri n *c *c *c *i *j *i
ctftri n *c *c *c *i *z *i
stptri n *c *c *i *f *i
dtptri n *c *c *i *d *i
ctptri n *c *c *i *z *i
ztptri n *c *c *i *j *i
sgeequ n *i *i *f *i *f *f *f *f *f *i
dgeequ n *i *i *d *i *d *d *d *d *d *i
cgeequ n *i *i *z *i *f *f *f *f *f *i
zgeequ n *i *i *j *i *d *d *d *d *d *i
dgeequb n *i *i *d *i *d *d *d *d *d *i
sgeequb n *i *i *f *i *f *f *f *f *f *i
zgeequb n *i *i *j *i *d *d *d *d *d *i
cgeequb n *i *i *z *i *f *f *f *f *f *i
sgbequ n *i *i *i *i *f *i *f *f *f *f *f *i
dgbequ n *i *i *i *i *d *i *d *d *d *d *d *i
cgbequ n *i *i *i *i *z *i *f *f *f *f *f *i
zgbequ n *i *i *i *i *j *i *d *d *d *d *d *i
dgbequb n *i *i *i *i *d *i *d *d *d *d *d *i
sgbequb n *i *i *i *i *f *i *f *f *f *f *f *i
zgbequb n *i *i *i *i *j *i *d *d *d *d *d *i
cgbequb n *i *i *i *i *z *i *f *f *f *f *f *i
spoequ n *i *f *i *f *f *f *i
dpoequ n *i *d *i *d *d *d *i
cpoequ n *i *z *i *f *f *f *i
zpoequ n *i *j *i *d *d *d *i
dpoequb n *i *d *i *d *d *d *i
spoequb n *i *f *i *f *f *f *i
zpoequb n *i *j *i *d *d *d *i
cpoequb n *i *z *i *f *f *f *i
sppequ n *c *i *f *f *f *f *i
dppequ n *c *i *d *d *d *d *i
cppequ n *c *i *z *f *f *f *i
zppequ n *c *i *j *d *d *d *i
spbequ n *c *i *i *f *i *f *f *f *i
dpbequ n *c *i *i *d *i *d *d *d *i
cpbequ n *c *i *i *z *i *f *f *f *i
zpbequ n *c *i *i *j *i *d *d *d *i
dsyequb n *c *i *d *i *d *d *d *d *i
ssyequb n *c *i *f *i *f *f *f *f *i
zsyequb n *c *i *j *i *d *d *d *j *i
csyequb n *c *i *z *i *f *f *f *z *i
zheequb n *c *i *j *i *d *d *d *j *i
cheequb n *c *i *z *i *f *f *f *z *i
sgesv n *i *i *f *i *i *f *i *i
dgesv n *i *i *d *i *i *d *i *i
cgesv n *i *i *z *i *i *z *i *i
zgesv n *i *i *j *i *i *j *i *i
dsgesv n *i *i *d *i *i *d *i *d *i *d *f *i *i
zcgesv n *i *i *j *i *i *j *i *j *i *j *z *d *i *i
sgesvx n *c *c *i *i *f *i *f *i *i *c *f *f *f *i *f *i *f *f *f *f *i *i
dgesvx n *c *c *i *i *d *i *d *i *i *c *d *d *d *i *d *i *d *d *d *d *i *i
cgesvx n *c *c *i *i *z *i *z *i *i *c *f *f *z *i *z *i *f *f *f *z *f *i
zgesvx n *c *c *i *i *j *i *j *i *i *c *d *d *j *i *j *i *d *d *d *j *d *i
dgesvxx n *c *c *i *i *d *i *d *i *i *c *d *d *d *i *d *i *d *d *d *i *d *d *i *d *d *i *i
sgesvxx n *c *c *i *i *f *i *f *i *i *c *f *f *f *i *f *i *f *f *f *i *f *f *i *f *f *i *i
zgesvxx n *c *c *i *i *j *i *j *i *i *c *d *d *j *i *j *i *d *d *d *i *d *d *i *d *j *d *i
cgesvxx n *c *c *i *i *z *i *z *i *i *c *f *f *z *i *z *i *f *f *f *i *f *f *i *f *z *f *i
sgbsv n *i *i *i *i *f *i *i *f *i *i
dgbsv n *i *i *i *i *d *i *i *d *i *i
cgbsv n *i *i *i *i *z *i *i *z *i *i
zgbsv n *i *i *i *i *j *i *i *j *i *i
sgbsvx n *c *c *i *i *i *i *f *i *f *i *i *c *f *f *f *i *f *i *f *f *f *f *i *i
dgbsvx n *c *c *i *i *i *i *d *i *d *i *i *c *d *d *d *i *d *i *d *d *d *d *i *i
cgbsvx n *c *c *i *i *i *i *z *i *z *i *i *c *f *f *z *i *z *i *f *f *f *z *f *i
zgbsvx n *c *c *i *i *i *i *j *i *j *i *i *c *d *d *j *i *j *i *d *d *d *j *d *i
dgbsvxx n *c *c *i *i *i *i *d *i *d *i *i *c *d *d *d *i *d *i *d *d *d *i *d *d *i *d *d *i *i
sgbsvxx n *c *c *i *i *i *i *f *i *f *i *i *c *f *f *f *i *f *i *f *f *f *i *f *f *i *f *f *i *i
zgbsvxx n *c *c *i *i *i *i *j *i *j *i *i *c *d *d *j *i *j *i *d *d *d *i *d *d *i *d *j *d *i
cgbsvxx n *c *c *i *i *i *i *z *i *z *i *i *c *f *f *z *i *z *i *f *f *f *i *f *f *i *f *z *f *i
sgtsv n *i *i *f *f *f *f *i *i
dgtsv n *i *i *d *d *d *d *i *i
cgtsv n *i *i *z *z *z *z *i *i
zgtsv n *i *i *j *j *j *j *i *i
sgtsvx n *c *c *i *i *f *f *f *f *f *f *f *i *f *i *f *i *f *f *f *f *i *i
dgtsvx n *c *c *i *i *d *d *d *d *d *d *d *i *d *i *d *i *d *d *d *d *i *i
cgtsvx n *c *c *i *i *z *z *z *z *z *z *z *i *z *i *z *i *f *f *f *z *f *i
zgtsvx n *c *c *i *i *j *j *j *j *j *j *j *i *j *i *j *i *d *d *d *j *d *i
sposv n *c *i *i *f *i *f *i *i
dposv n *c *i *i *d *i *d *i *i
cposv n *c *i *i *z *i *z *i *i
zposv n *c *i *i *j *i *j *i *i
dsposv n *c *i *i *d *i *d *i *d *i *d *f *i *i
zcposv n *c *i *i *j *i *j *i *j *i *j *z *d *i *i
sposvx n *c *c *i *i *f *i *f *i *c *f *f *i *f *i *f *f *f *f *i *i
dposvx n *c *c *i *i *d *i *d *i *c *d *d *i *d *i *d *d *d *d *i *i
cposvx n *c *c *i *i *z *i *z *i *c *f *z *i *z *i *f *f *f *z *f *i
zposvx n *c *c *i *i *j *i *j *i *c *d *j *i *j *i *d *d *d *j *d *i
dposvxx n *c *c *i *i *d *i *d *i *c *d *d *i *d *i *d *d *d *i *d *d *i *d *d *i *i
sposvxx n *c *c *i *i *f *i *f *i *c *f *f *i *f *i *f *f *f *i *f *f *i *f *f *i *i
zposvxx n *c *c *i *i *j *i *j *i *c *d *j *i *j *i *d *d *d *i *d *d *i *d *j *d *i
cposvxx n *c *c *i *i *z *i *z *i *c *f *z *i *z *i *f *f *f *i *f *f *i *f *z *f *i
sppsv n *c *i *i *f *f *i *i
dppsv n *c *i *i *d *d *i *i
cppsv n *c *i *i *z *z *i *i
zppsv n *c *i *i *j *j *i *i
sppsvx n *c *c *i *i *f *f *c *f *f *i *f *i *f *f *f *f *i *i
dppsvx n *c *c *i *i *d *d *c *d *d *i *d *i *d *d *d *d *i *i
cppsvx n *c *c *i *i *z *z *c *f *z *i *z *i *f *f *f *z *f *i
zppsvx n *c *c *i *i *j *j *c *d *j *i *j *i *d *d *d *j *d *i
spbsv n *c *i *i *i *f *i *f *i *i
dpbsv n *c *i *i *i *d *i *d *i *i
cpbsv n *c *i *i *i *z *i *z *i *i
zpbsv n *c *i *i *i *j *i *j *i *i
spbsvx n *c *c *i *i *i *f *i *f *i *c *f *f *i *f *i *f *f *f *f *i *i
dpbsvx n *c *c *i *i *i *d *i *d *i *c *d *d *i *d *i *d *d *d *d *i *i
cpbsvx n *c *c *i *i *i *z *i *z *i *c *f *z *i *z *i *f *f *f *z *f *i
zpbsvx n *c *c *i *i *i *j *i *j *i *c *d *j *i *j *i *d *d *d *j *d *i
sptsv n *i *i *f *f *f *i *i
dptsv n *i *i *d *d *d *i *i
cptsv n *i *i *f *z *z *i *i
zptsv n *i *i *d *j *j *i *i
sptsvx n *c *i *i *f *f *f *f *f *i *f *i *f *f *f *f *i
dptsvx n *c *i *i *d *d *d *d *d *i *d *i *d *d *d *d *i
cptsvx n *c *i *i *f *z *f *z *z *i *z *i *f *f *f *z *f *i
zptsvx n *c *i *i *d *j *d *j *j *i *j *i *d *d *d *j *d *i
ssysv n *c *i *i *f *i *i *f *i *f *i *i
dsysv n *c *i *i *d *i *i *d *i *d *i *i
csysv n *c *i *i *z *i *i *z *i *z *i *i
zsysv n *c *i *i *j *i *i *j *i *j *i *i
ssysvx n *c *c *i *i *f *i *f *i *i *f *i *f *i *f *f *f *f *i *i *i
dsysvx n *c *c *i *i *d *i *d *i *i *d *i *d *i *d *d *d *d *i *i *i
csysvx n *c *c *i *i *z *i *z *i *i *z *i *z *i *f *f *f *z *i *f *i
zsysvx n *c *c *i *i *j *i *j *i *i *j *i *j *i *d *d *d *j *i *d *i
dsysvxx n *c *c *i *i *d *i *d *i *i *c *d *d *i *d *i *d *d *d *i *d *d *i *d *d *i *i
ssysvxx n *c *c *i *i *f *i *f *i *i *c *f *f *i *f *i *f *f *f *i *f *f *i *f *f *i *i
zsysvxx n *c *c *i *i *j *i *j *i *i *c *d *j *i *j *i *d *d *d *i *d *d *i *d *j *d *i
csysvxx n *c *c *i *i *z *i *z *i *i *c *f *z *i *z *i *f *f *f *i *f *f *i *f *z *f *i
chesv n *c *i *i *z *i *i *z *i *z *i *i
zhesv n *c *i *i *j *i *i *j *i *j *i *i
chesvx n *c *c *i *i *z *i *z *i *i *z *i *z *i *f *f *f *z *i *f *i
zhesvx n *c *c *i *i *j *i *j *i *i *j *i *j *i *d *d *d *j *i *d *i
zhesvxx n *c *c *i *i *j *i *j *i *i *c *d *j *i *j *i *d *d *d *i *d *d *i *d *j *d *i
chesvxx n *c *c *i *i *z *i *z *i *i *c *f *z *i *z *i *f *f *f *i *f *f *i *f *z *f *i
sspsv n *c *i *i *f *i *f *i *i
dspsv n *c *i *i *d *i *d *i *i
cspsv n *c *i *i *z *i *z *i *i
zspsv n *c *i *i *j *i *j *i *i
sspsvx n *c *c *i *i *f *f *i *f *i *f *i *f *f *f *f *i *i
dspsvx n *c *c *i *i *d *d *i *d *i *d *i *d *d *d *d *i *i
cspsvx n *c *c *i *i *z *z *i *z *i *z *i *f *f *f *z *f *i
zspsvx n *c *c *i *i *j *j *i *j *i *j *i *d *d *d *j *d *i
chpsv n *c *i *i *z *i *z *i *i
zhpsv n *c *i *i *j *i *j *i *i
chpsvx n *c *c *i *i *z *z *i *z *i *z *i *f *f *f *z *f *i
zhpsvx n *c *c *i *i *j *j *i *j *i *j *i *d *d *d *j *d *i
sgeqrf n *i *i *f *i *f *f *i *i
dgeqrf n *i *i *d *i *d *d *i *i
cgeqrf n *i *i *z *i *z *z *i *i
zgeqrf n *i *i *j *i *j *j *i *i
sgeqpf n *i *i *f *i *i *f *f *i
dgeqpf n *i *i *d *i *i *d *d *i
cgeqpf n *i *i *z *i *i *z *z *f *i
zgeqpf n *i *i *j *i *i *j *j *d *i
sgeqp3 n *i *i *f *i *i *f *f *i *i
dgeqp3 n *i *i *d *i *i *d *d *i *i
cgeqp3 n *i *i *z *i *i *z *z *i *f *i
zgeqp3 n *i *i *j *i *i *j *j *i *d *i
sorgqr n *i *i *i *f *i *f *f *i *i
dorgqr n *i *i *i *d *i *d *d *i *i
sormqr n *c *c *i *i *i *f *i *f *f *i *f *i *i
dormqr n *c *c *i *i *i *d *i *d *d *i *d *i *i
cungqr n *i *i *i *z *i *z *z *i *i
zungqr n *i *i *i *j *i *j *j *i *i
cunmqr n *c *c *i *i *i *z *i *z *z *i *z *i *i
zunmqr n *c *c *i *i *i *j *i *j *j *i *j *i *i
sgelqf n *i *i *f *i *f *f *i *i
dgelqf n *i *i *d *i *d *d *i *i
cgelqf n *i *i *z *i *z *z *i *i
zgelqf n *i *i *j *i *j *j *i *i
sorglq n *i *i *i *f *i *f *f *i *i
dorglq n *i *i *i *d *i *d *d *i *i
sormlq n *c *c *i *i *i *f *i *f *f *i *f *i *i
dormlq n *c *c *i *i *i *d *i *d *d *i *d *i *i
cunglq n *i *i *i *z *i *z *z *i *i
zunglq n *i *i *i *j *i *j *j *i *i
cunmlq n *c *c *i *i *i *z *i *z *z *i *z *i *i
zunmlq n *c *c *i *i *i *j *i *j *j *i *j *i *i
sgeqlf n *i *i *f *i *f *f *i *i
dgeqlf n *i *i *d *i *d *d *i *i
cgeqlf n *i *i *z *i *z *z *i *i
zgeqlf n *i *i *j *i *j *j *i *i
sorgql n *i *i *i *f *i *f *f *i *i
dorgql n *i *i *i *d *i *d *d *i *i
cungql n *i *i *i *z *i *z *z *i *i
zungql n *i *i *i *j *i *j *j *i *i
sormql n *c *c *i *i *i *f *i *f *f *i *f *i *i
dormql n *c *c *i *i *i *d *i *d *d *i *d *i *i
cunmql n *c *c *i *i *i *z *i *z *z *i *z *i *i
zunmql n *c *c *i *i *i *j *i *j *j *i *j *i *i
sgerqf n *i *i *f *i *f *f *i *i
dgerqf n *i *i *d *i *d *d *i *i
cgerqf n *i *i *z *i *z *z *i *i
zgerqf n *i *i *j *i *j *j *i *i
sorgrq n *i *i *i *f *i *f *f *i *i
dorgrq n *i *i *i *d *i *d *d *i *i
cungrq n *i *i *i *z *i *z *z *i *i
zungrq n *i *i *i *j *i *j *j *i *i
sormrq n *c *c *i *i *i *f *i *f *f *i *f *i *i
dormrq n *c *c *i *i *i *d *i *d *d *i *d *i *i
cunmrq n *c *c *i *i *i *z *i *z *z *i *z *i *i
zunmrq n *c *c *i *i *i *j *i *j *j *i *j *i *i
stzrzf n *i *i *f *i *f *f *i *i
dtzrzf n *i *i *d *i *d *d *i *i
ctzrzf n *i *i *z *i *z *z *i *i
ztzrzf n *i *i *j *i *j *j *i *i
sormrz n *c *c *i *i *i *i *f *i *f *f *i *f *i *i
dormrz n *c *c *i *i *i *i *d *i *d *d *i *d *i *i
cunmrz n *c *c *i *i *i *i *z *i *z *z *i *z *i *i
zunmrz n *c *c *i *i *i *i *j *i *j *j *i *j *i *i
sggqrf n *i *i *i *f *i *f *f *i *f *f *i *i
dggqrf n *i *i *i *d *i *d *d *i *d *d *i *i
cggqrf n *i *i *i *z *i *z *z *i *z *z *i *i
zggqrf n *i *i *i *j *i *j *j *i *j *j *i *i
sggrqf n *i *i *i *f *i *f *f *i *f *f *i *i
dggrqf n *i *i *i *d *i *d *d *i *d *d *i *i
cggrqf n *i *i *i *z *i *z *z *i *z *z *i *i
zggrqf n *i *i *i *j *i *j *j *i *j *j *i *i
sgebrd n *i *i *f *i *f *f *f *f *f *i *i
dgebrd n *i *i *d *i *d *d *d *d *d *i *i
cgebrd n *i *i *z *i *f *f *z *z *z *i *i
zgebrd n *i *i *j *i *d *d *j *j *j *i *i
sgbbrd n *c *i *i *i *i *i *f *i *f *f *f *i *f *i *f *i *f *i
dgbbrd n *c *i *i *i *i *i *d *i *d *d *d *i *d *i *d *i *d *i
cgbbrd n *c *i *i *i *i *i *z *i *f *f *z *i *z *i *z *i *z *f *i
zgbbrd n *c *i *i *i *i *i *j *i *d *d *j *i *j *i *j *i *j *d *i
sorgbr n *c *i *i *i *f *i *f *f *i *i
dorgbr n *c *i *i *i *d *i *d *d *i *i
sormbr n *c *c *c *i *i *i *f *i *f *f *i *f *i *i
dormbr n *c *c *c *i *i *i *d *i *d *d *i *d *i *i
cungbr n *c *i *i *i *z *i *z *z *i *i
zungbr n *c *i *i *i *j *i *j *j *i *i
cunmbr n *c *c *c *i *i *i *z *i *z *z *i *z *i *i
zunmbr n *c *c *c *i *i *i *j *i *j *j *i *j *i *i
sbdsqr n *c *i *i *i *i *f *f *f *i *f *i *f *i *f *i
dbdsqr n *c *i *i *i *i *d *d *d *i *d *i *d *i *d *i
cbdsqr n *c *i *i *i *i *f *f *z *i *z *i *z *i *f *i
zbdsqr n *c *i *i *i *i *d *d *j *i *j *i *j *i *d *i
sbdsdc n *c *c *i *f *f *f *i *f *i *f *i *f *i *i
dbdsdc n *c *c *i *d *d *d *i *d *i *d *i *d *i *i
sbdsvdx n *c *c *c *i *f *f *f *f *i *i *i *f *f *i *f *i *i
dbdsvdx n *c *c *c *i *d *d *d *d *i *i *i *d *d *i *d *i *i
ssytrd n *c *i *f *i *f *f *f *f *i *i
dsytrd n *c *i *d *i *d *d *d *d *i *i
sorgtr n *c *i *f *i *f *f *i *i
dorgtr n *c *i *d *i *d *d *i *i
sormtr n *c *c *c *i *i *f *i *f *f *i *f *i *i
dormtr n *c *c *c *i *i *d *i *d *d *i *d *i *i
chetrd n *c *i *z *i *f *f *z *z *i *i
zhetrd n *c *i *j *i *d *d *j *j *i *i
cungtr n *c *i *z *i *z *z *i *i
zungtr n *c *i *j *i *j *j *i *i
cunmtr n *c *c *c *i *i *z *i *z *z *i *z *i *i
zunmtr n *c *c *c *i *i *j *i *j *j *i *j *i *i
ssptrd n *c *i *f *f *f *f *i
dsptrd n *c *i *d *d *d *d *i
sopgtr n *c *i *f *f *f *i *f *i
dopgtr n *c *i *d *d *d *i *d *i
sopmtr n *c *c *c *i *i *f *f *f *i *f *i
dopmtr n *c *c *c *i *i *d *d *d *i *d *i
chptrd n *c *i *z *f *f *z *i
zhptrd n *c *i *j *d *d *j *i
cupgtr n *c *i *z *z *z *i *z *i
zupgtr n *c *i *j *j *j *i *j *i
cupmtr n *c *c *c *i *i *z *z *z *i *z *i
zupmtr n *c *c *c *i *i *j *j *j *i *j *i
ssbtrd n *c *c *i *i *f *i *f *f *f *i *f *i
dsbtrd n *c *c *i *i *d *i *d *d *d *i *d *i
chbtrd n *c *c *i *i *z *i *f *f *z *i *z *i
zhbtrd n *c *c *i *i *j *i *d *d *j *i *j *i
ssterf n *i *f *f *i
dsterf n *i *d *d *i
ssteqr n *c *i *f *f *f *i *f *i
dsteqr n *c *i *d *d *d *i *d *i
csteqr n *c *i *f *f *z *i *f *i
zsteqr n *c *i *d *d *j *i *d *i
sstemr n *c *c *i *f *f *f *f *i *i *i *f *f *i *i *i *i *f *i *i *i *i
dstemr n *c *c *i *d *d *d *d *i *i *i *d *d *i *i *i *i *d *i *i *i *i
cstemr n *c *c *i *f *f *f *f *i *i *i *f *z *i *i *i *i *f *i *i *i *i
zstemr n *c *c *i *d *d *d *d *i *i *i *d *j *i *i *i *i *d *i *i *i *i
sstedc n *c *i *f *f *f *i *f *i *i *i *i
dstedc n *c *i *d *d *d *i *d *i *i *i *i
cstedc n *c *i *f *f *z *i *z *i *f *i *i *i *i
zstedc n *c *i *d *d *j *i *j *i *d *i *i *i *i
sstegr n *c *c *i *f *f *f *f *i *i *f *i *f *f *i *i *f *i *i *i *i
dstegr n *c *c *i *d *d *d *d *i *i *d *i *d *d *i *i *d *i *i *i *i
cstegr n *c *c *i *f *f *f *f *i *i *f *i *f *z *i *i *f *i *i *i *i
zstegr n *c *c *i *d *d *d *d *i *i *d *i *d *j *i *i *d *i *i *i *i
spteqr n *c *i *f *f *f *i *f *i
dpteqr n *c *i *d *d *d *i *d *i
cpteqr n *c *i *f *f *z *i *f *i
zpteqr n *c *i *d *d *j *i *d *i
sstebz n *c *c *i *f *f *i *i *f *f *f *i *i *f *i *i *f *i *i
dstebz n *c *c *i *d *d *i *i *d *d *d *i *i *d *i *i *d *i *i
sstein n *i *f *f *i *f *i *i *f *i *f *i *i *i
dstein n *i *d *d *i *d *i *i *d *i *d *i *i *i
cstein n *i *f *f *i *f *i *i *z *i *f *i *i *i
zstein n *i *d *d *i *d *i *i *j *i *d *i *i *i
sdisna n *c *i *i *f *f *i
ddisna n *c *i *i *d *d *i
ssygst n *i *c *i *f *i *f *i *i
dsygst n *i *c *i *d *i *d *i *i
chegst n *i *c *i *z *i *z *i *i
zhegst n *i *c *i *j *i *j *i *i
sspgst n *i *c *i *f *f *i
dspgst n *i *c *i *d *d *i
chpgst n *i *c *i *z *z *i
zhpgst n *i *c *i *j *j *i
ssbgst n *c *c *i *i *i *f *i *f *i *f *i *f *i
dsbgst n *c *c *i *i *i *d *i *d *i *d *i *d *i
chbgst n *c *c *i *i *i *z *i *z *i *z *i *z *f *i
zhbgst n *c *c *i *i *i *j *i *j *i *j *i *j *d *i
spbstf n *c *i *i *f *i *i
dpbstf n *c *i *i *d *i *i
cpbstf n *c *i *i *z *i *i
zpbstf n *c *i *i *j *i *i
sgehrd n *i *i *i *f *i *f *f *i *i
dgehrd n *i *i *i *d *i *d *d *i *i
cgehrd n *i *i *i *z *i *z *z *i *i
zgehrd n *i *i *i *j *i *j *j *i *i
sorghr n *i *i *i *f *i *f *f *i *i
dorghr n *i *i *i *d *i *d *d *i *i
sormhr n *c *c *i *i *i *i *f *i *f *f *i *f *i *i
dormhr n *c *c *i *i *i *i *d *i *d *d *i *d *i *i
cunghr n *i *i *i *z *i *z *z *i *i
zunghr n *i *i *i *j *i *j *j *i *i
cunmhr n *c *c *i *i *i *i *z *i *z *z *i *z *i *i
zunmhr n *c *c *i *i *i *i *j *i *j *j *i *j *i *i
sgebal n *c *i *f *i *i *i *f *i
dgebal n *c *i *d *i *i *i *d *i
cgebal n *c *i *z *i *i *i *f *i
zgebal n *c *i *j *i *i *i *d *i
sgebak n *c *c *i *i *i *f *i *f *i *i
dgebak n *c *c *i *i *i *d *i *d *i *i
cgebak n *c *c *i *i *i *f *i *z *i *i
zgebak n *c *c *i *i *i *d *i *j *i *i
shseqr n *c *c *i *i *i *f *i *f *f *f *i *f *i *i
dhseqr n *c *c *i *i *i *d *i *d *d *d *i *d *i *i
chseqr n *c *c *i *i *i *z *i *z *z *i *z *i *i
zhseqr n *c *c *i *i *i *j *i *j *j *i *j *i *i
shsein n *c *c *c *i *i *f *i *f *f *f *i *f *i *i *i *f *i *i *i
dhsein n *c *c *c *i *i *d *i *d *d *d *i *d *i *i *i *d *i *i *i
chsein n *c *c *c *i *i *z *i *z *z *i *z *i *i *i *z *f *i *i *i
zhsein n *c *c *c *i *i *j *i *j *j *i *j *i *i *i *j *d *i *i *i
strevc n *c *c *i *i *f *i *f *i *f *i *i *i *f *i
dtrevc n *c *c *i *i *d *i *d *i *d *i *i *i *d *i
ctrevc n *c *c *i *i *z *i *z *i *z *i *i *i *z *f *i
ztrevc n *c *c *i *i *j *i *j *i *j *i *i *i *j *d *i
strsna n *c *c *i *i *f *i *f *i *f *i *f *f *i *i *f *i *i *i
dtrsna n *c *c *i *i *d *i *d *i *d *i *d *d *i *i *d *i *i *i
ctrsna n *c *c *i *i *z *i *z *i *z *i *f *f *i *i *z *i *f *i
ztrsna n *c *c *i *i *j *i *j *i *j *i *d *d *i *i *j *i *d *i
strexc n *c *i *f *i *f *i *i *i *f *i
dtrexc n *c *i *d *i *d *i *i *i *d *i
ctrexc n *c *i *z *i *z *i *i *i *i
ztrexc n *c *i *j *i *j *i *i *i *i
strsen n *c *c *i *i *f *i *f *i *f *f *i *f *f *f *i *i *i *i
dtrsen n *c *c *i *i *d *i *d *i *d *d *i *d *d *d *i *i *i *i
ctrsen n *c *c *i *i *z *i *z *i *z *i *f *f *z *i *i
ztrsen n *c *c *i *i *j *i *j *i *j *i *d *d *j *i *i
strsyl n *c *c *i *i *i *f *i *f *i *f *i *f *i
dtrsyl n *c *c *i *i *i *d *i *d *i *d *i *d *i
ctrsyl n *c *c *i *i *i *z *i *z *i *z *i *f *i
ztrsyl n *c *c *i *i *i *j *i *j *i *j *i *d *i
sgghrd n *c *c *i *i *i *f *i *f *i *f *i *f *i *i
dgghrd n *c *c *i *i *i *d *i *d *i *d *i *d *i *i
cgghrd n *c *c *i *i *i *z *i *z *i *z *i *z *i *i
zgghrd n *c *c *i *i *i *j *i *j *i *j *i *j *i *i
sgghd3 n *c *c *i *i *i *f *i *f *i *f *i *f *i *f *i *i
dgghd3 n *c *c *i *i *i *d *i *d *i *d *i *d *i *d *i *i
cgghd3 n *c *c *i *i *i *z *i *z *i *z *i *z *i *z *i *i
zgghd3 n *c *c *i *i *i *j *i *j *i *j *i *j *i *j *i *i
sggbal n *c *i *f *i *f *i *i *i *f *f *f *i
dggbal n *c *i *d *i *d *i *i *i *d *d *d *i
cggbal n *c *i *z *i *z *i *i *i *f *f *f *i
zggbal n *c *i *j *i *j *i *i *i *d *d *d *i
sggbak n *c *c *i *i *i *f *f *i *f *i *i
dggbak n *c *c *i *i *i *d *d *i *d *i *i
cggbak n *c *c *i *i *i *f *f *i *z *i *i
zggbak n *c *c *i *i *i *d *d *i *j *i *i
shgeqz n *c *c *c *i *i *i *f *i *f *i *f *f *f *f *i *f *i *f *i *i
dhgeqz n *c *c *c *i *i *i *d *i *d *i *d *d *d *d *i *d *i *d *i *i
chgeqz n *c *c *c *i *i *i *z *i *z *i *z *z *z *i *z *i *z *i *f *i
zhgeqz n *c *c *c *i *i *i *j *i *j *i *j *j *j *i *j *i *j *i *d *i
stgevc n *c *c *i *i *f *i *f *i *f *i *f *i *i *i *f *i
dtgevc n *c *c *i *i *d *i *d *i *d *i *d *i *i *i *d *i
ctgevc n *c *c *i *i *z *i *z *i *z *i *z *i *i *i *z *f *i
ztgevc n *c *c *i *i *j *i *j *i *j *i *j *i *i *i *j *d *i
stgexc n *i *i *i *f *i *f *i *f *i *f *i *i *i *f *i *i
dtgexc n *i *i *i *d *i *d *i *d *i *d *i *i *i *d *i *i
ctgexc n *i *i *i *z *i *z *i *z *i *z *i *i *i *i
ztgexc n *i *i *i *j *i *j *i *j *i *j *i *i *i *i
stgsen n *i *i *i *i *i *f *i *f *i *f *f *f *f *i *f *i *i *f *f *f *f *i *i *i *i
dtgsen n *i *i *i *i *i *d *i *d *i *d *d *d *d *i *d *i *i *d *d *d *d *i *i *i *i
ctgsen n *i *i *i *i *i *z *i *z *i *z *z *z *i *z *i *i *f *f *f *z *i *i *i *i
ztgsen n *i *i *i *i *i *j *i *j *i *j *j *j *i *j *i *i *d *d *d *j *i *i *i *i
stgsyl n *c *i *i *i *f *i *f *i *f *i *f *i *f *i *f *i *f *f *f *i *i *i
dtgsyl n *c *i *i *i *d *i *d *i *d *i *d *i *d *i *d *i *d *d *d *i *i *i
ctgsyl n *c *i *i *i *z *i *z *i *z *i *z *i *z *i *z *i *f *f *z *i *i *i
ztgsyl n *c *i *i *i *j *i *j *i *j *i *j *i *j *i *j *i *d *d *j *i *i *i
stgsna n *c *c *i *i *f *i *f *i *f *i *f *i *f *f *i *i *f *i *i *i
dtgsna n *c *c *i *i *d *i *d *i *d *i *d *i *d *d *i *i *d *i *i *i
ctgsna n *c *c *i *i *z *i *z *i *z *i *z *i *f *f *i *i *z *i *i *i
ztgsna n *c *c *i *i *j *i *j *i *j *i *j *i *d *d *i *i *j *i *i *i
sggsvp n *c *c *c *i *i *i *f *i *f *i *f *f *i *i *f *i *f *i *f *i *i *f *f *i
dggsvp n *c *c *c *i *i *i *d *i *d *i *d *d *i *i *d *i *d *i *d *i *i *d *d *i
cggsvp n *c *c *c *i *i *i *z *i *z *i *f *f *i *i *z *i *z *i *z *i *i *f *z *z *i
zggsvp n *c *c *c *i *i *i *j *i *j *i *d *d *i *i *j *i *j *i *j *i *i *d *j *j *i
sggsvp3 n *c *c *c *i *i *i *f *i *f *i *f *f *i *i *f *i *f *i *f *i *i *f *f *i *i
dggsvp3 n *c *c *c *i *i *i *d *i *d *i *d *d *i *i *d *i *d *i *d *i *i *d *d *i *i
cggsvp3 n *c *c *c *i *i *i *z *i *z *i *f *f *i *i *z *i *z *i *z *i *i *f *z *z *i *i
zggsvp3 n *c *c *c *i *i *i *j *i *j *i *d *d *i *i *j *i *j *i *j *i *i *d *j *j *i *i
stgsja n *c *c *c *i *i *i *i *i *f *i *f *i *f *f *f *f *f *i *f *i *f *i *f *i *i
dtgsja n *c *c *c *i *i *i *i *i *d *i *d *i *d *d *d *d *d *i *d *i *d *i *d *i *i
ctgsja n *c *c *c *i *i *i *i *i *z *i *z *i *f *f *f *f *z *i *z *i *z *i *z *i *i
ztgsja n *c *c *c *i *i *i *i *i *j *i *j *i *d *d *d *d *j *i *j *i *j *i *j *i *i
sgels n *c *i *i *i *f *i *f *i *f *i *i
dgels n *c *i *i *i *d *i *d *i *d *i *i
cgels n *c *i *i *i *z *i *z *i *z *i *i
zgels n *c *i *i *i *j *i *j *i *j *i *i
sgelsy n *i *i *i *f *i *f *i *i *f *i *f *i *i
dgelsy n *i *i *i *d *i *d *i *i *d *i *d *i *i
cgelsy n *i *i *i *z *i *z *i *i *f *i *z *i *f *i
zgelsy n *i *i *i *j *i *j *i *i *d *i *j *i *d *i
sgelss n *i *i *i *f *i *f *i *f *f *i *f *i *i
dgelss n *i *i *i *d *i *d *i *d *d *i *d *i *i
cgelss n *i *i *i *z *i *z *i *f *f *i *z *i *f *i
zgelss n *i *i *i *j *i *j *i *d *d *i *j *i *d *i
sgelsd n *i *i *i *f *i *f *i *f *f *i *f *i *i *i
dgelsd n *i *i *i *d *i *d *i *d *d *i *d *i *i *i
cgelsd n *i *i *i *z *i *z *i *f *f *i *z *i *f *i *i
zgelsd n *i *i *i *j *i *j *i *d *d *i *j *i *d *i *i
sgglse n *i *i *i *f *i *f *i *f *f *f *f *i *i
dgglse n *i *i *i *d *i *d *i *d *d *d *d *i *i
cgglse n *i *i *i *z *i *z *i *z *z *z *z *i *i
zgglse n *i *i *i *j *i *j *i *j *j *j *j *i *i
sggglm n *i *i *i *f *i *f *i *f *f *f *f *i *i
dggglm n *i *i *i *d *i *d *i *d *d *d *d *i *i
cggglm n *i *i *i *z *i *z *i *z *z *z *z *i *i
zggglm n *i *i *i *j *i *j *i *j *j *j *j *i *i
ssyev n *c *c *i *f *i *f *f *i *i
dsyev n *c *c *i *d *i *d *d *i *i
cheev n *c *c *i *z *i *f *z *i *f *i
zheev n *c *c *i *j *i *d *j *i *d *i
ssyevd n *c *c *i *f *i *f *f *i *i *i *i
dsyevd n *c *c *i *d *i *d *d *i *i *i *i
cheevd n *c *c *i *z *i *f *z *i *f *i *i *i *i
zheevd n *c *c *i *j *i *d *j *i *d *i *i *i *i
ssyevx n *c *c *c *i *f *i *f *f *i *i *f *i *f *f *i *f *i *i *i *i
dsyevx n *c *c *c *i *d *i *d *d *i *i *d *i *d *d *i *d *i *i *i *i
cheevx n *c *c *c *i *z *i *f *f *i *i *f *i *f *z *i *z *i *f *i *i *i
zheevx n *c *c *c *i *j *i *d *d *i *i *d *i *d *j *i *j *i *d *i *i *i
ssyevr n *c *c *c *i *f *i *f *f *i *i *f *i *f *f *i *i *f *i *i *i *i
dsyevr n *c *c *c *i *d *i *d *d *i *i *d *i *d *d *i *i *d *i *i *i *i
cheevr n *c *c *c *i *z *i *f *f *i *i *f *i *f *z *i *i *z *i *f *i *i *i *i
zheevr n *c *c *c *i *j *i *d *d *i *i *d *i *d *j *i *i *j *i *d *i *i *i *i
sspev n *c *c *i *f *f *f *i *f *i
dspev n *c *c *i *d *d *d *i *d *i
chpev n *c *c *i *z *f *z *i *z *f *i
zhpev n *c *c *i *j *d *j *i *j *d *i
sspevd n *c *c *i *f *f *f *i *f *i *i *i *i
dspevd n *c *c *i *d *d *d *i *d *i *i *i *i
chpevd n *c *c *i *z *f *z *i *z *i *f *i *i *i *i
zhpevd n *c *c *i *j *d *j *i *j *i *d *i *i *i *i
sspevx n *c *c *c *i *f *f *f *i *i *f *i *f *f *i *f *i *i *i
dspevx n *c *c *c *i *d *d *d *i *i *d *i *d *d *i *d *i *i *i
chpevx n *c *c *c *i *z *f *f *i *i *f *i *f *z *i *z *f *i *i *i
zhpevx n *c *c *c *i *j *d *d *i *i *d *i *d *j *i *j *d *i *i *i
ssbev n *c *c *i *i *f *i *f *f *i *f *i
dsbev n *c *c *i *i *d *i *d *d *i *d *i
chbev n *c *c *i *i *z *i *f *z *i *z *f *i
zhbev n *c *c *i *i *j *i *d *j *i *j *d *i
ssbevd n *c *c *i *i *f *i *f *f *i *f *i *i *i *i
dsbevd n *c *c *i *i *d *i *d *d *i *d *i *i *i *i
chbevd n *c *c *i *i *z *i *f *z *i *z *i *f *i *i *i *i
zhbevd n *c *c *i *i *j *i *d *j *i *j *i *d *i *i *i *i
ssbevx n *c *c *c *i *i *f *i *f *i *f *f *i *i *f *i *f *f *i *f *i *i *i
dsbevx n *c *c *c *i *i *d *i *d *i *d *d *i *i *d *i *d *d *i *d *i *i *i
chbevx n *c *c *c *i *i *z *i *z *i *f *f *i *i *f *i *f *z *i *z *f *i *i *i
zhbevx n *c *c *c *i *i *j *i *j *i *d *d *i *i *d *i *d *j *i *j *d *i *i *i
sstev n *c *i *f *f *f *i *f *i
dstev n *c *i *d *d *d *i *d *i
sstevd n *c *i *f *f *f *i *f *i *i *i *i
dstevd n *c *i *d *d *d *i *d *i *i *i *i
sstevx n *c *c *i *f *f *f *f *i *i *f *i *f *f *i *f *i *i *i
dstevx n *c *c *i *d *d *d *d *i *i *d *i *d *d *i *d *i *i *i
sstevr n *c *c *i *f *f *f *f *i *i *f *i *f *f *i *i *f *i *i *i *i
dstevr n *c *c *i *d *d *d *d *i *i *d *i *d *d *i *i *d *i *i *i *i
sgees n *c *c * *i *f *i *i *f *f *f *i *f *i *i *i
dgees n *c *c * *i *d *i *i *d *d *d *i *d *i *i *i
cgees n *c *c * *i *z *i *i *z *z *i *z *i *f *i *i
zgees n *c *c * *i *j *i *i *j *j *i *j *i *d *i *i
sgeesx n *c *c * *c *i *f *i *i *f *f *f *i *f *f *f *i *i *i *i *i
dgeesx n *c *c * *c *i *d *i *i *d *d *d *i *d *d *d *i *i *i *i *i
cgeesx n *c *c * *c *i *z *i *i *z *z *i *f *f *z *i *f *i *i
zgeesx n *c *c * *c *i *j *i *i *j *j *i *d *d *j *i *d *i *i
sgeev n *c *c *i *f *i *f *f *f *i *f *i *f *i *i
dgeev n *c *c *i *d *i *d *d *d *i *d *i *d *i *i
cgeev n *c *c *i *z *i *z *z *i *z *i *z *i *f *i
zgeev n *c *c *i *j *i *j *j *i *j *i *j *i *d *i
sgeevx n *c *c *c *c *i *f *i *f *f *f *i *f *i *i *i *f *f *f *f *f *i *i *i
dgeevx n *c *c *c *c *i *d *i *d *d *d *i *d *i *i *i *d *d *d *d *d *i *i *i
cgeevx n *c *c *c *c *i *z *i *z *z *i *z *i *i *i *f *f *f *f *z *i *f *i
zgeevx n *c *c *c *c *i *j *i *j *j *i *j *i *i *i *d *d *d *d *j *i *d *i
sgesvd n *c *c *i *i *f *i *f *f *i *f *i *f *i *i
dgesvd n *c *c *i *i *d *i *d *d *i *d *i *d *i *i
cgesvd n *c *c *i *i *z *i *f *z *i *z *i *z *i *f *i
zgesvd n *c *c *i *i *j *i *d *j *i *j *i *j *i *d *i
sgesvdx n *c *c *c *i *i *f *i *f *f *i *i *i *f *f *i *f *i *f *i *i *i
dgesvdx n *c *c *c *i *i *d *i *d *d *i *i *i *d *d *i *d *i *d *i *i *i
cgesvdx n *c *c *c *i *i *z *i *f *f *i *i *i *f *z *i *z *i *z *i *f *i *i
zgesvdx n *c *c *c *i *i *j *i *d *d *i *i *i *d *j *i *j *i *j *i *d *i *i
sgesdd n *c *i *i *f *i *f *f *i *f *i *f *i *i *i
dgesdd n *c *i *i *d *i *d *d *i *d *i *d *i *i *i
cgesdd n *c *i *i *z *i *f *z *i *z *i *z *i *f *i *i
zgesdd n *c *i *i *j *i *d *j *i *j *i *j *i *d *i *i
dgejsv n *c *c *c *c *c *c *i *i *d *i *d *d *i *d *i *d *i *i *i
sgejsv n *c *c *c *c *c *c *i *i *f *i *f *f *i *f *i *f *i *i *i
cgejsv n *c *c *c *c *c *c *i *i *z *i *f *z *i *z *i *z *i *f *i *i *i
zgejsv n *c *c *c *c *c *c *i *i *j *i *d *j *i *j *i *j *i *d *i *i *i
dgesvj n *c *c *c *i *i *d *i *d *i *d *i *d *i *i
sgesvj n *c *c *c *i *i *f *i *f *i *f *i *f *i *i
cgesvj n *c *c *c *i *i *z *i *f *i *z *i *z *i *f *i *i
zgesvj n *c *c *c *i *i *j *i *d *i *j *i *j *i *d *i *i
sggsvd n *c *c *c *i *i *i *i *i *f *i *f *i *f *f *f *i *f *i *f *i *f *i *i
dggsvd n *c *c *c *i *i *i *i *i *d *i *d *i *d *d *d *i *d *i *d *i *d *i *i
cggsvd n *c *c *c *i *i *i *i *i *z *i *z *i *f *f *z *i *z *i *z *i *z *f *i *i
zggsvd n *c *c *c *i *i *i *i *i *j *i *j *i *d *d *j *i *j *i *j *i *j *d *i *i
sggsvd3 n *c *c *c *i *i *i *i *i *f *i *f *i *f *f *f *i *f *i *f *i *f *i *i *i
dggsvd3 n *c *c *c *i *i *i *i *i *d *i *d *i *d *d *d *i *d *i *d *i *d *i *i *i
cggsvd3 n *c *c *c *i *i *i *i *i *z *i *z *i *f *f *z *i *z *i *z *i *z *i *f *i *i
zggsvd3 n *c *c *c *i *i *i *i *i *j *i *j *i *d *d *j *i *j *i *j *i *j *i *d *i *i
ssygv n *i *c *c *i *f *i *f *i *f *f *i *i
dsygv n *i *c *c *i *d *i *d *i *d *d *i *i
chegv n *i *c *c *i *z *i *z *i *f *z *i *f *i
zhegv n *i *c *c *i *j *i *j *i *d *j *i *d *i
ssygvd n *i *c *c *i *f *i *f *i *f *f *i *i *i *i
dsygvd n *i *c *c *i *d *i *d *i *d *d *i *i *i *i
chegvd n *i *c *c *i *z *i *z *i *f *z *i *f *i *i *i *i
zhegvd n *i *c *c *i *j *i *j *i *d *j *i *d *i *i *i *i
ssygvx n *i *c *c *c *i *f *i *f *i *f *f *i *i *f *i *f *f *i *f *i *i *i *i
dsygvx n *i *c *c *c *i *d *i *d *i *d *d *i *i *d *i *d *d *i *d *i *i *i *i
chegvx n *i *c *c *c *i *z *i *z *i *f *f *i *i *f *i *f *z *i *z *i *f *i *i *i
zhegvx n *i *c *c *c *i *j *i *j *i *d *d *i *i *d *i *d *j *i *j *i *d *i *i *i
sspgv n *i *c *c *i *f *f *f *f *i *f *i
dspgv n *i *c *c *i *d *d *d *d *i *d *i
chpgv n *i *c *c *i *z *z *f *z *i *z *f *i
zhpgv n *i *c *c *i *j *j *d *j *i *j *d *i
sspgvd n *i *c *c *i *f *f *f *f *i *f *i *i *i *i
dspgvd n *i *c *c *i *d *d *d *d *i *d *i *i *i *i
chpgvd n *i *c *c *i *z *z *f *z *i *z *i *f *i *i *i *i
zhpgvd n *i *c *c *i *j *j *d *j *i *j *i *d *i *i *i *i
sspgvx n *i *c *c *c *i *f *f *f *f *i *i *f *i *f *f *i *f *i *i *i
dspgvx n *i *c *c *c *i *d *d *d *d *i *i *d *i *d *d *i *d *i *i *i
chpgvx n *i *c *c *c *i *z *z *f *f *i *i *f *i *f *z *i *z *f *i *i *i
zhpgvx n *i *c *c *c *i *j *j *d *d *i *i *d *i *d *j *i *j *d *i *i *i
ssbgv n *c *c *i *i *i *f *i *f *i *f *f *i *f *i
dsbgv n *c *c *i *i *i *d *i *d *i *d *d *i *d *i
chbgv n *c *c *i *i *i *z *i *z *i *f *z *i *z *f *i
zhbgv n *c *c *i *i *i *j *i *j *i *d *j *i *j *d *i
ssbgvd n *c *c *i *i *i *f *i *f *i *f *f *i *f *i *i *i *i
dsbgvd n *c *c *i *i *i *d *i *d *i *d *d *i *d *i *i *i *i
chbgvd n *c *c *i *i *i *z *i *z *i *f *z *i *z *i *f *i *i *i *i
zhbgvd n *c *c *i *i *i *j *i *j *i *d *j *i *j *i *d *i *i *i *i
ssbgvx n *c *c *c *i *i *i *f *i *f *i *f *i *f *f *i *i *f *i *f *f *i *f *i *i *i
dsbgvx n *c *c *c *i *i *i *d *i *d *i *d *i *d *d *i *i *d *i *d *d *i *d *i *i *i
chbgvx n *c *c *c *i *i *i *z *i *z *i *z *i *f *f *i *i *f *i *f *z *i *z *f *i *i *i
zhbgvx n *c *c *c *i *i *i *j *i *j *i *j *i *d *d *i *i *d *i *d *j *i *j *d *i *i *i
sgges n *c *c *c * *i *f *i *f *i *i *f *f *f *f *i *f *i *f *i *i *i
dgges n *c *c *c * *i *d *i *d *i *i *d *d *d *d *i *d *i *d *i *i *i
cgges n *c *c *c * *i *z *i *z *i *i *z *z *z *i *z *i *z *i *f *i *i
zgges n *c *c *c * *i *j *i *j *i *i *j *j *j *i *j *i *j *i *d *i *i
sgges3 n *c *c *c * *i *f *i *f *i *i *f *f *f *f *i *f *i *f *i *i *i
dgges3 n *c *c *c * *i *d *i *d *i *i *d *d *d *d *i *d *i *d *i *i *i
cgges3 n *c *c *c * *i *z *i *z *i *i *z *z *z *i *z *i *z *i *f *i *i
zgges3 n *c *c *c * *i *j *i *j *i *i *j *j *j *i *j *i *j *i *d *i *i
sggesx n *c *c *c * *c *i *f *i *f *i *i *f *f *f *f *i *f *i *f *f *f *i *i *i *i *i
dggesx n *c *c *c * *c *i *d *i *d *i *i *d *d *d *d *i *d *i *d *d *d *i *i *i *i *i
cggesx n *c *c *c * *c *i *z *i *z *i *i *z *z *z *i *z *i *f *f *z *i *f *i *i *i *i
zggesx n *c *c *c * *c *i *j *i *j *i *i *j *j *j *i *j *i *d *d *j *i *d *i *i *i *i
sggev n *c *c *i *f *i *f *i *f *f *f *f *i *f *i *f *i *i
dggev n *c *c *i *d *i *d *i *d *d *d *d *i *d *i *d *i *i
cggev n *c *c *i *z *i *z *i *z *z *z *i *z *i *z *i *f *i
zggev n *c *c *i *j *i *j *i *j *j *j *i *j *i *j *i *d *i
sggev3 n *c *c *i *f *i *f *i *f *f *f *f *i *f *i *f *i *i
dggev3 n *c *c *i *d *i *d *i *d *d *d *d *i *d *i *d *i *i
cggev3 n *c *c *i *z *i *z *i *z *z *z *i *z *i *z *i *f *i
zggev3 n *c *c *i *j *i *j *i *j *j *j *i *j *i *j *i *d *i
sggevx n *c *c *c *c *i *f *i *f *i *f *f *f *f *i *f *i *i *i *f *f *f *f *f *f *f *i *i *i *i
dggevx n *c *c *c *c *i *d *i *d *i *d *d *d *d *i *d *i *i *i *d *d *d *d *d *d *d *i *i *i *i
cggevx n *c *c *c *c *i *z *i *z *i *z *z *z *i *z *i *i *i *f *f *f *f *f *f *z *i *f *i *i *i
zggevx n *c *c *c *c *i *j *i *j *i *j *j *j *i *j *i *i *i *d *d *d *d *d *d *j *i *d *i *i *i
dsfrk n *c *c *c *i *i *d *d *i *d *d
ssfrk n *c *c *c *i *i *f *f *i *f *f
zhfrk n *c *c *c *i *i *d *j *i *d *j
chfrk n *c *c *c *i *i *f *z *i *f *z
dtfsm n *c *c *c *c *c *i *i *d *d *d *i
stfsm n *c *c *c *c *c *i *i *f *f *f *i
ztfsm n *c *c *c *c *c *i *i *j *j *j *i
ctfsm n *c *c *c *c *c *i *i *z *z *z *i
dtfttp n *c *c *i *d *d *i
stfttp n *c *c *i *f *f *i
ztfttp n *c *c *i *j *j *i
ctfttp n *c *c *i *z *z *i
dtfttr n *c *c *i *d *d *i *i
stfttr n *c *c *i *f *f *i *i
ztfttr n *c *c *i *j *j *i *i
ctfttr n *c *c *i *z *z *i *i
dtpttf n *c *c *i *d *d *i
stpttf n *c *c *i *f *f *i
ztpttf n *c *c *i *j *j *i
ctpttf n *c *c *i *z *z *i
dtpttr n *c *i *d *d *i *i
stpttr n *c *i *f *f *i *i
ztpttr n *c *i *j *j *i *i
ctpttr n *c *i *z *z *i *i
dtrttf n *c *c *i *d *i *d *i
strttf n *c *c *i *f *i *f *i
ztrttf n *c *c *i *j *i *j *i
ctrttf n *c *c *i *z *i *z *i
dtrttp n *c *i *d *i *d *i
strttp n *c *i *f *i *f *i
ztrttp n *c *i *j *i *j *i
ctrttp n *c *i *z *i *z *i
sgeqrfp n *i *i *f *i *f *f *i *i
dgeqrfp n *i *i *d *i *d *d *i *i
cgeqrfp n *i *i *z *i *z *z *i *i
zgeqrfp n *i *i *j *i *j *j *i *i
clacgv n *i *z *i
zlacgv n *i *j *i
slarnv n *i *i *i *f
dlarnv n *i *i *i *d
clarnv n *i *i *i *z
zlarnv n *i *i *i *j
sgeqr2 n *i *i *f *i *f *f *i
dgeqr2 n *i *i *d *i *d *d *i
cgeqr2 n *i *i *z *i *z *z *i
zgeqr2 n *i *i *j *i *j *j *i
slacn2 n *i *f *f *i *f *i *i
dlacn2 n *i *d *d *i *d *i *i
clacn2 n *i *z *z *f *i *i
zlacn2 n *i *j *j *d *i *i
slacpy n *c *i *i *f *i *f *i
dlacpy n *c *i *i *d *i *d *i
clacpy n *c *i *i *z *i *z *i
zlacpy n *c *i *i *j *i *j *i
clacp2 n *c *i *i *f *i *z *i
zlacp2 n *c *i *i *d *i *j *i
sgetf2 n *i *i *f *i *i *i
dgetf2 n *i *i *d *i *i *i
cgetf2 n *i *i *z *i *i *i
zgetf2 n *i *i *j *i *i *i
slaswp n *i *f *i *i *i *i *i
dlaswp n *i *d *i *i *i *i *i
claswp n *i *z *i *i *i *i *i
zlaswp n *i *j *i *i *i *i *i
slange f *c *i *i *f *i *f
dlange d *c *i *i *d *i *d
clange f *c *i *i *z *i *f
zlange d *c *i *i *j *i *d
clanhe f *c *c *i *z *i *f
zlanhe d *c *c *i *j *i *d
clarcm n *i *i *f *i *z *i *z *i *f
zlarcm n *i *i *d *i *j *i *j *i *d
clacrm n *i *i *z *i *f *i *z *i *f
zlacrm n *i *i *j *i *d *i *j *i *d
slansy f *c *c *i *f *i *f
dlansy d *c *c *i *d *i *d
clansy f *c *c *i *z *i *f
zlansy d *c *c *i *j *i *d
slantr f *c *c *c *i *i *f *i *f
dlantr d *c *c *c *i *i *d *i *d
clantr f *c *c *c *i *i *z *i *f
zlantr d *c *c *c *i *i *j *i *d
slamch f *c
dlamch d *c
sgelq2 n *i *i *f *i *f *f *i
dgelq2 n *i *i *d *i *d *d *i
cgelq2 n *i *i *z *i *z *z *i
zgelq2 n *i *i *j *i *j *j *i
slarfb n *c *c *c *c *i *i *i *f *i *f *i *f *i *f *i
dlarfb n *c *c *c *c *i *i *i *d *i *d *i *d *i *d *i
clarfb n *c *c *c *c *i *i *i *z *i *z *i *z *i *z *i
zlarfb n *c *c *c *c *i *i *i *j *i *j *i *j *i *j *i
slarfg n *i *f *f *i *f
dlarfg n *i *d *d *i *d
clarfg n *i *z *z *i *z
zlarfg n *i *j *j *i *j
slassq n *i *f *i *f *f
dlassq n *i *d *i *d *d
classq n *i *z *i *f *f
zlassq n *i *j *i *d *d
slarft n *c *c *i *i *f *i *f *f *i
dlarft n *c *c *i *i *d *i *d *d *i
clarft n *c *c *i *i *z *i *z *z *i
zlarft n *c *c *i *i *j *i *j *j *i
slarfx n *c *i *i *f *f *f *i *f
dlarfx n *c *i *i *d *d *d *i *d
clarfx n *c *i *i *z *z *z *i *z
zlarfx n *c *i *i *j *j *j *i *j
slatms n *i *i *c *i *c *f *i *f *f *i *i *c *f *i *f *i
dlatms n *i *i *c *i *c *d *i *d *d *i *i *c *d *i *d *i
clatms n *i *i *c *i *c *f *i *f *f *i *i *c *z *i *z *i
zlatms n *i *i *c *i *c *d *i *d *d *i *i *c *j *i *j *i
slag2d n *i *i *f *i *d *i *i
dlag2s n *i *i *d *i *f *i *i
clag2z n *i *i *z *i *j *i *i
zlag2c n *i *i *j *i *z *i *i
slauum n *c *i *f *i *i
dlauum n *c *i *d *i *i
clauum n *c *i *z *i *i
zlauum n *c *i *j *i *i
slagge n *i *i *i *i *f *f *i *i *f *i
dlagge n *i *i *i *i *d *d *i *i *d *i
clagge n *i *i *i *i *f *z *i *i *z *i
zlagge n *i *i *i *i *d *j *i *i *j *i
slascl n *c *i *i *f *f *i *i *f *i *i
dlascl n *c *i *i *d *d *i *i *d *i *i
clascl n *c *i *i *f *f *i *i *z *i *i
zlascl n *c *i *i *d *d *i *i *j *i *i
slaset n *c *i *i *f *f *f *i
dlaset n *c *i *i *d *d *d *i
claset n *c *i *i *z *z *z *i
zlaset n *c *i *i *j *j *j *i
slasrt n *c *i *f *i
dlasrt n *c *i *d *i
claghe n *i *i *f *z *i *i *z *i
zlaghe n *i *i *d *j *i *i *j *i
slagsy n *i *i *f *f *i *i *f *i
dlagsy n *i *i *d *d *i *i *d *i
clagsy n *i *i *f *z *i *i *z *i
zlagsy n *i *i *d *j *i *i *j *i
slapmr n *i *i *i *f *i *i
dlapmr n *i *i *i *d *i *i
clapmr n *i *i *i *z *i *i
zlapmr n *i *i *i *j *i *i
slapmt n *i *i *i *f *i *i
dlapmt n *i *i *i *d *i *i
clapmt n *i *i *i *z *i *i
zlapmt n *i *i *i *j *i *i
slapy2 f *f *f
dlapy2 d *d *d
slapy3 f *f *f *f
dlapy3 d *d *d *d
slartgp n *f *f *f *f *f
dlartgp n *d *d *d *d *d
slartgs n *f *f *f *f *f
dlartgs n *d *d *d *d *d
cbbcsd n *c *c *c *c *c *i *i *i *f *f *z *i *z *i *z *i *z *i *f *f *f *f *f *f *f *f *f *i *i
cheswapr n *c *i *z *i *i *i
chetri2 n *c *i *z *i *i *z *i *i
chetri2x n *c *i *z *i *i *z *i *i
chetrs2 n *c *i *i *z *i *i *z *i *z *i
csyconv n *c *c *i *z *i *i *z *i
csyswapr n *c *i *z *i *i *i
csytri2 n *c *i *z *i *i *z *i *i
csytri2x n *c *i *z *i *i *z *i *i
csytrs2 n *c *i *i *z *i *i *z *i *z *i
cunbdb n *c *c *i *i *i *z *i *z *i *z *i *z *i *f *f *z *z *z *z *z *i *i
cuncsd n *c *c *c *c *c *c *i *i *i *z *i *z *i *z *i *z *i *f *z *i *z *i *z *i *z *i *z *i *f *i *i *i
cuncsd2by1 n *c *c *c *i *i *i *z *i *z *i *f *z *i *z *i *z *i *z *i *f *i *i *i
dbbcsd n *c *c *c *c *c *i *i *i *d *d *d *i *d *i *d *i *d *i *d *d *d *d *d *d *d *d *d *i *i
dorbdb n *c *c *i *i *i *d *i *d *i *d *i *d *i *d *d *d *d *d *d *d *i *i
dorcsd n *c *c *c *c *c *c *i *i *i *d *i *d *i *d *i *d *i *d *d *i *d *i *d *i *d *i *d *i *i *i
dorcsd2by1 n *c *c *c *i *i *i *d *i *d *i *d *d *i *d *i *d *i *d *i *i *i
dsyconv n *c *c *i *d *i *i *d *i
dsyswapr n *c *i *d *i *i *i
dsytri2 n *c *i *d *i *i *d *i *i
dsytri2x n *c *i *d *i *i *d *i *i
dsytrs2 n *c *i *i *d *i *i *d *i *d *i
sbbcsd n *c *c *c *c *c *i *i *i *f *f *f *i *f *i *f *i *f *i *f *f *f *f *f *f *f *f *f *i *i
sorbdb n *c *c *i *i *i *f *i *f *i *f *i *f *i *f *f *f *f *f *f *f *i *i
sorcsd n *c *c *c *c *c *c *i *i *i *f *i *f *i *f *i *f *i *f *f *i *f *i *f *i *f *i *f *i *i *i
sorcsd2by1 n *c *c *c *i *i *i *f *i *f *i *f *f *i *f *i *f *i *f *i *i *i
ssyconv n *c *c *i *f *i *i *f *i
ssyswapr n *c *i *f *i *i *i
ssytri2 n *c *i *f *i *i *f *i *i
ssytri2x n *c *i *f *i *i *f *i *i
ssytrs2 n *c *i *i *f *i *i *f *i *f *i
zbbcsd n *c *c *c *c *c *i *i *i *d *d *j *i *j *i *j *i *j *i *d *d *d *d *d *d *d *d *d *i *i
zheswapr n *c *i *j *i *i *i
zhetri2 n *c *i *j *i *i *j *i *i
zhetri2x n *c *i *j *i *i *j *i *i
zhetrs2 n *c *i *i *j *i *i *j *i *j *i
zsyconv n *c *c *i *j *i *i *j *i
zsyswapr n *c *i *j *i *i *i
zsytri2 n *c *i *j *i *i *j *i *i
zsytri2x n *c *i *j *i *i *j *i *i
zsytrs2 n *c *i *i *j *i *i *j *i *j *i
zunbdb n *c *c *i *i *i *j *i *j *i *j *i *j *i *d *d *j *j *j *j *j *i *i
zuncsd n *c *c *c *c *c *c *i *i *i *j *i *j *i *j *i *j *i *d *j *i *j *i *j *i *j *i *j *i *d *i *i *i
zuncsd2by1 n *c *c *c *i *i *i *j *i *j *i *d *j *i *j *i *j *i *j *i *d *i *i *i
sgemqrt n *c *c *i *i *i *i *f *i *f *i *f *i *f *i
dgemqrt n *c *c *i *i *i *i *d *i *d *i *d *i *d *i
cgemqrt n *c *c *i *i *i *i *z *i *z *i *z *i *z *i
zgemqrt n *c *c *i *i *i *i *j *i *j *i *j *i *j *i
sgeqrt n *i *i *i *f *i *f *i *f *i
dgeqrt n *i *i *i *d *i *d *i *d *i
cgeqrt n *i *i *i *z *i *z *i *z *i
zgeqrt n *i *i *i *j *i *j *i *j *i
sgeqrt2 n *i *i *f *i *f *i *i
dgeqrt2 n *i *i *d *i *d *i *i
cgeqrt2 n *i *i *z *i *z *i *i
zgeqrt2 n *i *i *j *i *j *i *i
sgeqrt3 n *i *i *f *i *f *i *i
dgeqrt3 n *i *i *d *i *d *i *i
cgeqrt3 n *i *i *z *i *z *i *i
zgeqrt3 n *i *i *j *i *j *i *i
stpmqrt n *c *c *i *i *i *i *i *f *i *f *i *f *i *f *i *f *i
dtpmqrt n *c *c *i *i *i *i *i *d *i *d *i *d *i *d *i *d *i
ctpmqrt n *c *c *i *i *i *i *i *z *i *z *i *z *i *z *i *z *i
ztpmqrt n *c *c *i *i *i *i *i *j *i *j *i *j *i *j *i *j *i
stpqrt n *i *i *i *i *f *i *f *i *f *i *f *i
dtpqrt n *i *i *i *i *d *i *d *i *d *i *d *i
ctpqrt n *i *i *i *i *z *i *z *i *z *i *z *i
ztpqrt n *i *i *i *i *j *i *j *i *j *i *j *i
stpqrt2 n *i *i *i *f *i *f *i *f *i *i
dtpqrt2 n *i *i *i *d *i *d *i *d *i *i
ctpqrt2 n *i *i *i *z *i *z *i *z *i *i
ztpqrt2 n *i *i *i *j *i *j *i *j *i *i
stprfb n *c *c *c *c *i *i *i *i *f *i *f *i *f *i *f *i *f *i
dtprfb n *c *c *c *c *i *i *i *i *d *i *d *i *d *i *d *i *d *i
ctprfb n *c *c *c *c *i *i *i *i *z *i *z *i *z *i *z *i *z *i
ztprfb n *c *c *c *c *i *i *i *i *j *i *j *i *j *i *j *i *j *i
ssysv_rook n *c *i *i *f *i *i *f *i *f *i *i
ssytrf_rook n *c *i *f *i *i *f *i *i
dsysv_rook n *c *i *i *d *i *i *d *i *d *i *i
dsytrf_rook n *c *i *d *i *i *d *i *i
csysv_rook n *c *i *i *z *i *i *z *i *z *i *i
csytrf_rook n *c *i *z *i *i *z *i *i
zsysv_rook n *c *i *i *j *i *i *j *i *j *i *i
zsytrf_rook n *c *i *j *i *i *j *i *i
ssytrs_rook n *c *i *i *f *i *i *f *i *i
dsytrs_rook n *c *i *i *d *i *i *d *i *i
csytrs_rook n *c *i *i *z *i *i *z *i *i
zsytrs_rook n *c *i *i *j *i *i *j *i *i
chetrf_rook n *c *i *z *i *i *z *i *i
zhetrf_rook n *c *i *j *i *i *j *i *i
chetrs_rook n *c *i *i *z *i *i *z *i *i
zhetrs_rook n *c *i *i *j *i *i *j *i *i
csyr n *c *i *z *z *i *z *i
zsyr n *c *i *j *j *i *j *i
ilaver n *i *i *i
ssysv_aa n *c *i *i *f *i *i *f *i *f *i *i
dsysv_aa n *c *i *i *d *i *i *d *i *d *i *i
csysv_aa n *c *i *i *z *i *i *z *i *z *i *i
zsysv_aa n *c *i *i *j *i *i *j *i *j *i *i
chesv_aa n *c *i *i *z *i *i *z *i *z *i *i
zhesv_aa n *c *i *i *j *i *i *j *i *j *i *i
ssytrf_aa n *c *i *f *i *i *f *i *i
dsytrf_aa n *c *i *d *i *i *d *i *i
csytrf_aa n *c *i *z *i *i *z *i *i
zsytrf_aa n *c *i *j *i *i *j *i *i
chetrf_aa n *c *i *z *i *i *z *i *i
zhetrf_aa n *c *i *j *i *i *j *i *i
ssytrs_aa n *c *i *i *f *i *i *f *i *f *i *i
dsytrs_aa n *c *i *i *d *i *i *d *i *d *i *i
csytrs_aa n *c *i *i *z *i *i *z *i *z *i *i
zsytrs_aa n *c *i *i *j *i *i *j *i *j *i *i
chetrs_aa n *c *i *i *z *i *i *z *i *z *i *i
zhetrs_aa n *c *i *i *j *i *i *j *i *j *i *i
ssysv_rk n *c *i *i *f *i *f *i *f *i *f *i *i
dsysv_rk n *c *i *i *d *i *d *i *d *i *d *i *i
csysv_rk n *c *i *i *z *i *z *i *z *i *z *i *i
zsysv_rk n *c *i *i *j *i *j *i *j *i *j *i *i
chesv_rk n *c *i *i *z *i *z *i *z *i *z *i *i
zhesv_rk n *c *i *i *j *i *j *i *j *i *j *i *i
ssytrf_rk n *c *i *f *i *f *i *f *i *i
dsytrf_rk n *c *i *d *i *d *i *d *i *i
csytrf_rk n *c *i *z *i *z *i *z *i *i
zsytrf_rk n *c *i *j *i *j *i *j *i *i
chetrf_rk n *c *i *z *i *z *i *z *i *i
zhetrf_rk n *c *i *j *i *j *i *j *i *i
ssytrs_3 n *c *i *i *f *i *f *i *f *i *i
dsytrs_3 n *c *i *i *d *i *d *i *d *i *i
csytrs_3 n *c *i *i *z *i *z *i *z *i *i
zsytrs_3 n *c *i *i *j *i *j *i *j *i *i
chetrs_3 n *c *i *i *z *i *z *i *z *i *i
zhetrs_3 n *c *i *i *j *i *j *i *j *i *i
ssytri_3 n *c *i *f *i *f *i *f *i *i
dsytri_3 n *c *i *d *i *d *i *d *i *i
csytri_3 n *c *i *z *i *z *i *z *i *i
zsytri_3 n *c *i *j *i *j *i *j *i *i
chetri_3 n *c *i *z *i *z *i *z *i *i
zhetri_3 n *c *i *j *i *j *i *j *i *i
ssycon_3 n *c *i *f *i *f *i *f *f *f *i *i
dsycon_3 n *c *i *d *i *d *i *d *d *d *i *i
csycon_3 n *c *i *z *i *z *i *f *f *z *i
zsycon_3 n *c *i *j *i *j *i *d *d *j *i
checon_3 n *c *i *z *i *z *i *f *f *z *i
zhecon_3 n *c *i *j *i *j *i *d *d *j *i
sgelq n *i *i *f *i *f *i *f *i *i
dgelq n *i *i *d *i *d *i *d *i *i
cgelq n *i *i *z *i *z *i *z *i *i
zgelq n *i *i *j *i *j *i *j *i *i
sgemlq n *c *c *i *i *i *f *i *f *i *f *i *f *i *i
dgemlq n *c *c *i *i *i *d *i *d *i *d *i *d *i *i
cgemlq n *c *c *i *i *i *z *i *z *i *z *i *z *i *i
zgemlq n *c *c *i *i *i *j *i *j *i *j *i *j *i *i
sgeqr n *i *i *f *i *f *i *f *i *i
dgeqr n *i *i *d *i *d *i *d *i *i
cgeqr n *i *i *z *i *z *i *z *i *i
zgeqr n *i *i *j *i *j *i *j *i *i
sgemqr n *c *c *i *i *i *f *i *f *i *f *i *f *i *i
dgemqr n *c *c *i *i *i *d *i *d *i *d *i *d *i *i
cgemqr n *c *c *i *i *i *z *i *z *i *z *i *z *i *i
zgemqr n *c *c *i *i *i *j *i *j *i *j *i *j *i *i
sgetsls n *c *i *i *i *f *i *f *i *f *i *i
dgetsls n *c *i *i *i *d *i *d *i *d *i *i
cgetsls n *c *i *i *i *z *i *z *i *z *i *i
zgetsls n *c *i *i *i *j *i *j *i *j *i *i
ssyev_2stage n *c *c *i *f *i *f *f *i *i
dsyev_2stage n *c *c *i *d *i *d *d *i *i
cheev_2stage n *c *c *i *z *i *f *z *i *f *i
zheev_2stage n *c *c *i *j *i *d *j *i *d *i
ssyevd_2stage n *c *c *i *f *i *f *f *i *i *i *i
dsyevd_2stage n *c *c *i *d *i *d *d *i *i *i *i
cheevd_2stage n *c *c *i *z *i *f *z *i *f *i *i *i *i
zheevd_2stage n *c *c *i *j *i *d *j *i *d *i *i *i *i
ssyevx_2stage n *c *c *c *i *f *i *f *f *i *i *f *i *f *f *i *f *i *i *i *i
dsyevx_2stage n *c *c *c *i *d *i *d *d *i *i *d *i *d *d *i *d *i *i *i *i
cheevx_2stage n *c *c *c *i *z *i *f *f *i *i *f *i *f *z *i *z *i *f *i *i *i
zheevx_2stage n *c *c *c *i *j *i *d *d *i *i *d *i *d *j *i *j *i *d *i *i *i
ssyevr_2stage n *c *c *c *i *f *i *f *f *i *i *f *i *f *f *i *i *f *i *i *i *i
dsyevr_2stage n *c *c *c *i *d *i *d *d *i *i *d *i *d *d *i *i *d *i *i *i *i
cheevr_2stage n *c *c *c *i *z *i *f *f *i *i *f *i *f *z *i *i *z *i *f *i *i *i *i
zheevr_2stage n *c *c *c *i *j *i *d *d *i *i *d *i *d *j *i *i *j *i *d *i *i *i *i
ssbev_2stage n *c *c *i *i *f *i *f *f *i *f *i *i
dsbev_2stage n *c *c *i *i *d *i *d *d *i *d *i *i
chbev_2stage n *c *c *i *i *z *i *f *z *i *z *i *f *i
zhbev_2stage n *c *c *i *i *j *i *d *j *i *j *i *d *i
ssbevd_2stage n *c *c *i *i *f *i *f *f *i *f *i *i *i *i
dsbevd_2stage n *c *c *i *i *d *i *d *d *i *d *i *i *i *i
chbevd_2stage n *c *c *i *i *z *i *f *z *i *z *i *f *i *i *i *i
zhbevd_2stage n *c *c *i *i *j *i *d *j *i *j *i *d *i *i *i *i
ssbevx_2stage n *c *c *c *i *i *f *i *f *i *f *f *i *i *f *i *f *f *i *f *i *i *i *i
dsbevx_2stage n *c *c *c *i *i *d *i *d *i *d *d *i *i *d *i *d *d *i *d *i *i *i *i
chbevx_2stage n *c *c *c *i *i *z *i *z *i *f *f *i *i *f *i *f *z *i *z *i *f *i *i *i
zhbevx_2stage n *c *c *c *i *i *j *i *j *i *d *d *i *i *d *i *d *j *i *j *i *d *i *i *i
ssygv_2stage n *i *c *c *i *f *i *f *i *f *f *i *i
dsygv_2stage n *i *c *c *i *d *i *d *i *d *d *i *i
chegv_2stage n *i *c *c *i *z *i *z *i *f *z *i *f *i
zhegv_2stage n *i *c *c *i *j *i *j *i *d *j *i *d *i
ssysv_aa_2stage n *c *i *i *f *i *f *i *i *i *f *i *f *i *i
dsysv_aa_2stage n *c *i *i *d *i *d *i *i *i *d *i *d *i *i
csysv_aa_2stage n *c *i *i *z *i *z *i *i *i *z *i *z *i *i
zsysv_aa_2stage n *c *i *i *j *i *j *i *i *i *j *i *j *i *i
chesv_aa_2stage n *c *i *i *z *i *z *i *i *i *z *i *z *i *i
zhesv_aa_2stage n *c *i *i *j *i *j *i *i *i *j *i *j *i *i
ssytrf_aa_2stage n *c *i *f *i *f *i *i *i *f *i *i
dsytrf_aa_2stage n *c *i *d *i *d *i *i *i *d *i *i
csytrf_aa_2stage n *c *i *z *i *z *i *i *i *z *i *i
zsytrf_aa_2stage n *c *i *j *i *j *i *i *i *j *i *i
chetrf_aa_2stage n *c *i *z *i *z *i *i *i *z *i *i
zhetrf_aa_2stage n *c *i *j *i *j *i *i *i *j *i *i
ssytrs_aa_2stage n *c *i *i *f *i *f *i *i *i *f *i *i
dsytrs_aa_2stage n *c *i *i *d *i *d *i *i *i *d *i *i
csytrs_aa_2stage n *c *i *i *z *i *z *i *i *i *z *i *i
zsytrs_aa_2stage n *c *i *i *j *i *j *i *i *i *j *i *i
chetrs_aa_2stage n *c *i *i *z *i *z *i *i *i *z *i *i
zhetrs_aa_2stage n *c *i *i *j *i *j *i *i *i *j *i *i