▼LAPACK | |
►Linear solve, AX = B | |
►LU: General matrix, driver | |
— full — | |
gesv: factor and solve | CGESV computes the solution to system of linear equations A * X = B for GE matrices (simple driver) |
gesvx: factor and solve, expert | |
gesvxx: factor and solve, extra precise | |
gesv: factor and solve, mixed precision | |
— banded — | |
gbsv: factor and solve | |
gbsvx: factor and solve, expert | |
gbsvxx: factor and solve, extra precise | |
— tridiagonal — | |
gtsv: factor and solve | |
gtsvx: factor and solve, expert | |
►LU: computational routines (factor, cond, etc.) | |
— full — | |
gecon: condition number estimate | |
getrf: triangular factor | |
getrf2: triangular factor panel, recursive? | |
getf2: triangular factor panel, level 2 | |
getrs: triangular solve using factor | |
getri: triangular inverse | |
gerfs: iterative refinement | |
gerfsx: iterative refinement, expert | |
geequ: equilibration | |
geequb: equilibration, power of 2 | |
laqge: row/col scale matrix | |
laswp: swap permutation | |
getc2: triangular factor, with complete pivoting | |
gesc2: triangular solve using factor, with complete pivoting | |
latdf: Dif-estimate with complete pivoting LU, step in tgsen | |
la_gercond: Skeel condition number estimate | |
la_gerpvgrw: reciprocal pivot growth | |
la_gerfsx_extended: step in gerfsx | |
— banded — | |
gbcon: condition number estimate | |
gbtrf: triangular factor | |
gbtf2: triangular factor, level 2 | |
gbtrs: triangular solve using factor | |
gbrfs: iterative refinement | |
gbrfsx: iterative refinement, expert | |
gbequ: equilibration | |
gbequb: equilibration, power of 2 | |
laqgb: row/col scale matrix | |
la_gbrcond: Skeel condition number estimate | |
la_gbrpvgrw: reciprocal pivot growth | |
la_gbrfsx_extended: step in gbrfsx | |
— tridiagonal — | |
gtcon: condition number estimate | |
gttrf: triangular factor | |
gttrs: triangular solve using factor | |
gtts2: triangular solve using factor | |
gtrfs: iterative refinement | |
►Cholesky: Hermitian/symmetric positive definite matrix, driver | |
— full — | |
posv: factor and solve | |
posvx: factor and solve, expert | |
posvxx: factor and solve, extra precise | |
posv: factor and solve, mixed precision | |
— packed — | |
ppsv: factor and solve | |
ppsvx: factor and solve, expert | |
— rectangular full packed (RFP) — | |
pfsv: factor and solve [not available] | |
— banded — | |
pbsv: factor and solve | |
pbsvx: factor and solve, expert | |
— tridiagonal — | |
ptsv: factor and solve | |
ptsvx: factor and solve, expert | |
►Cholesky: computational routines (factor, cond, etc.) | |
— full — | |
pocon: condition number estimate | |
potrf: triangular factor | |
potrf2: triangular factor panel, recursive? | |
potf2: triangular factor panel, level 2 | |
pstrf: triangular factor, with pivoting | |
pstf2: triangular factor, with pivoting panel, level 2 | |
potrs: triangular solve using factor | |
potri: triangular inverse | |
porfs: iterative refinement | |
porfsx: iterative refinement, expert | |
poequ: equilibration | |
poequb: equilibration, power of 2 | |
laqhe: row/col scale matrix | |
la_porcond: Skeel condition number estimate | |
la_porpvgrw: reciprocal pivot growth | |
la_porfsx_extended: step in porfsx | |
— packed — | |
ppcon: condition number estimate | |
pptrf: triangular factor | |
pptrs: triangular solve using factor | |
pptri: triangular inverse | |
pprfs: iterative refinement | |
ppequ: equilibration | |
laqhp: row/col scale matrix | |
— rectangular full packed (RFP) — | |
pftrf: triangular factor | |
pftrs: triangular solve using factor | |
pftri: triangular inverse | |
— banded — | |
pbcon: condition number estimate | |
pbtrf: triangular factor | |
pbtf2: triangular factor panel, level 2 | |
pbtrs: triangular solve using factor | |
pbrfs: iterative refinement | |
pbequ: equilibration | |
laqhb: row/col scale matrix | |
— tridiagonal — | |
ptcon: condition number estimate | |
pttrf: triangular factor | |
pttrs: triangular solve using factor | |
ptts2: triangular solve using factor, unblocked | |
ptrfs: iterative refinement | |
►LDL: Hermitian/symmetric indefinite matrix, driver | |
— full, rook pivoting — | |
{he,sy}sv: rook (v1) | |
{he,sy}sv_rook: rook (v2) | |
{he,sy}sv_rk: rook (v3) | |
{he,sy}svx: rook (v1, expert) | |
{he,sy}svxx: rook (v1, expert) | |
— packed, rook pivoting — | |
{hp,sp}sv: factor and solve | |
{hp,sp}svx: factor and solve, expert | |
— full, Aasen — | |
{he,sy}sv_aa: Aasen | |
{he,sy}sv_aa_2stage: Aasen, blocked 2-stage | |
►LDL: computational routines (factor, cond, etc.) | |
— full, rook v1 — | |
{he,sy}con: condition number estimate | |
{he,sy}trf: triangular factor | |
la{he,sy}f: step in hetrf | |
{he,sy}tf2: triangular factor, level 2 | |
{he,sy}trs: triangular solve using factor | |
{he,sy}tri: triangular inverse | |
{he,sy}rfs: iterative refinement | |
{he,sy}rfsx: iterative refinement, expert | |
{he,sy}equb: equilibration, power of 2 | |
syconv: convert to/from L and D from hetrf | |
{he,sy}con_3: condition number estimate | |
{he,sy}tri2: inverse | |
{he,sy}tri2x: inverse | |
{he,sy}tri_3: inverse | |
{he,sy}tri_3x: inverse | |
{he,sy}trs2: solve using factor | |
{he,sy}trs_3: solve using factor | |
{he,sy}swapr: apply 2-sided permutation | |
la_hercond: Skeel condition number estimate | |
la_herfsx_extended: step in herfsx | |
la_herpvgrw: reciprocal pivot growth | |
— packed, rook v1 — | |
{hp,sp}con: condition number estimate | |
{hp,sp}trf: triangular factor | |
{hp,sp}trs: triangular solve using factor | |
{hp,sp}tri: triangular inverse | |
{hp,sp}rfs: iterative refinement | |
— full, rook v2 — | |
{he,sy}con_rook: condition number estimate | |
{he,sy}trf_rook: triangular factor | |
la{he,sy}f_rook: triangular factor step | |
{he,sy}tf2_rook: triangular factor, level 2 | |
{he,sy}trs_rook: triangular solve using factor | |
{he,sy}tri_rook: triangular inverse | |
— full, rook v3 — | |
{he,sy}trf_rk: triangular factor | |
la{he,sy}f_rk: triangular factor step | |
{he,sy}tf2_rk: triangular factor, level 2 | |
syconvf: convert to/from hetrf to hetrf_rk format | |
syconvf_rook: convert to/from hetrf_rook to hetrf_rk format | |
— full, Aasen — | |
{he,sy}trf_aa: triangular factor | |
la{he,sy}f_aa: triangular factor partial factor | |
{he,sy}trs_aa: triangular solve using factor | |
— full, Aasen, blocked 2-stage — | |
{he,sy}trf_aa_2stage: triangular factor | |
{he,sy}trs_aa_2stage: triangular solve using factor | |
►Triangular computational routines (solve, cond, etc.) | |
— full — | |
trcon: condition number estimate | |
trtrs: triangular solve | |
latrs: triangular solve with robust scaling | |
latrs3: triangular solve with robust scaling, level 3 | |
trtri: triangular inverse | |
trti2: triangular inverse, level 2 | |
trrfs: triangular iterative refinement | |
lauum: triangular multiply: U^H U | |
lauu2: triangular multiply: U^H U, level 2 | |
— packed — | |
tpcon: condition number estimate | |
tptrs: triangular solve | |
latps: triangular solve with robust scaling | |
tptri: triangular inverse | |
tprfs: triangular iterative refinement | |
— rectangular full packed (RFP) — | |
tftri: triangular inverse, RFP | |
— banded — | |
tbcon: condition number estimate | |
tbtrs: triangular solve | |
latbs: triangular solve with scaling | |
tbrfs: triangular iterative refinement | |
►Auxiliary routines | |
lacn2: 1-norm estimate, e.g., || A^{-1} ||_1 in gecon | |
lacon: 1-norm estimate, e.g., || A^{-1} ||_1 in gecon, old | |
la_lin_berr: backward error | |
►Least squares | |
►Standard least squares, min || Ax - b ||_2 | |
gels: least squares using QR/LQ | |
gelst: least squares using QR/LQ with T matrix | |
gelss: least squares using SVD, QR iteration | |
gelsd: least squares using SVD, divide and conquer | |
gelsy: least squares using complete orthogonal factor | |
getsls: least squares using tall-skinny QR/LQ | |
►Constrained least squares | |
gglse: equality-constrained least squares | |
ggglm: Gauss-Markov linear model | |
►Auxiliary routines | |
laic1: condition estimate, step in gelsy | |
lals0: back multiplying factors, step in gelsd | |
lalsa: SVD of coefficient matrix, step in gelsd | |
lalsd: uses SVD for least squares, step in gelsd | |
►Orthogonal/unitary factors (QR, CS, etc.) | |
►QR | |
— flexible — | |
geqr: QR factor, flexible | |
gemqr: multiply by Q from geqr | |
— classic — | |
geqrf: QR factor | |
geqr2: QR factor, level 2 | |
{un,or}gqr: generate explicit Q from geqrf | |
{un,or}g2r: generate explicit Q from geqrf, level 2 | |
{un,or}mqr: multiply by Q from geqrf | |
{un,or}m2r: multiply by Q from geqrf, level 2 | |
— with T — | |
geqrt: QR factor, with T | |
geqrt2: QR factor, with T, level 2 | |
geqrt3: QR factor, with T, recursive panel | |
gemqrt: multiply by Q from geqrt | |
— positive — | |
geqrfp: QR factor, diag( R ) ≥ 0 | |
geqr2p: QR factor, diag( R ) ≥ 0, level 2 | |
►QR with pivoting | |
geqp3: QR factor with pivoting, level 3 | |
laqp2: step of geqp3 | |
laqps: step of geqp3 | |
►QR, tall-skinny | |
latsqr: tall-skinny QR factor | |
{un,or}gtsqr: generate Q from latsqr | |
{un,or}gtsqr_row: generate Q from latsqr | |
larfb_gett: step in ungtsqr_row | |
lamtsqr: multiply by Q from latsqr | |
getsqrhrt: tall-skinny QR factor, with Householder reconstruction | |
{un,or}hr_col: Householder reconstruction | |
la{un,or}hr_col_getrfnp: LU factor without pivoting | |
la{un,or}hr_col_getrfnp2: LU factor without pivoting, level 2 | |
►QR, triangular-pentagonal | |
tpqrt: QR factor | |
tpqrt2: QR factor, level 2 | |
tpmqrt: applies Q | |
tprfb: applies Q (like larfb) | |
►Generalized QR | |
ggqrf: Generalized QR factor | |
►LQ | |
— flexible — | |
gelq: LQ factor, flexible | |
gemlq: multiply by Q from gelq | |
— classic — | |
gelqf: LQ factor | |
gelq2: LQ factor, level 2 | |
{un,or}glq: generate explicit Q from gelqf | |
{un,or}gl2: generate explicit Q, level 2, step in unglq | |
{un,or}mlq: multiply by Q from gelqf | |
{un,or}ml2: multiply by Q, level 2, step in unmlq | |
— with T — | |
gelqt: LQ factor, with T | |
gelqt3: LQ factor, with T, recursive | |
gemlqt: multiply by Q from gelqt | |
►LQ, short-wide | |
laswlq: short-wide LQ factor | |
lamswlq: multiply by Q from laswlq | |
►LQ, triangular-pentagonal | |
tplqt: QR factor | |
tplqt2: QR factor, level 2 | |
tpmlqt: applies Q | |
►QL | |
geqlf: QL factor | |
geql2: QL factor, level 2 | |
{un,or}gql: generate explicit Q from geqlf | |
{un,or}mql: multiply by Q from geqlf | |
{un,or}g2l: step in ungql | |
{un,or}m2l: step in unmql | |
►RQ | |
gerqf: RQ factor | |
gerq2: RQ factor, level 2 | |
{un,or}grq: generate explicit Q from gerqf | |
{un,or}mrq: multiply by Q from gerqf | |
{un,or}mr2: step in unmrq | |
{un,or}gr2: step in ungrq | |
►Generalized RQ | |
ggrqf: Generalized RQ factor | |
►RZ | |
tzrzf: RZ factor | |
latrz: RZ factor step | |
{un,or}mrz: multiply by Z from tzrzf | |
{un,or}mr3: step in unmrz | |
larz: apply reflector | |
larzb: apply block reflector | |
larzt: generate T matrix | |
►Cosine-Sine (CS) decomposition | |
bbcsd: ?? | |
{un,or}csd: ?? | |
{un,or}csd2by1: ?? | |
{un,or}bdb: bidiagonalize partitioned unitary matrix, step in uncsd | |
{un,or}bdb1: step in uncsd2by1 | |
{un,or}bdb2: step in uncsd2by1 | |
{un,or}bdb3: step in uncsd2by1 | |
{un,or}bdb4: step in uncsd2by1 | |
{un,or}bdb5: step in uncsd2by1 | |
{un,or}bdb6: step in uncsd2by1 | |
lapmr: permute rows | |
lapmt: permute cols | |
►Householder reflectors | |
larf: apply Householder reflector | |
larfx: apply Householder reflector, unrolled | |
larfy: apply Householder reflector symmetrically (2-sided) | |
larfb: apply block Householder reflector | |
larfg: generate Householder reflector | |
larfgp: generate Householder reflector, beta ≥ 0 | |
larft: generate T matrix | |
►Givens/Jacobi plane rotations | |
lartg: generate plane rotation, more accurate than BLAS rot | |
lartgp: generate plane rotation, more accurate than BLAS rot | |
lasr: apply series of plane rotations | |
largv: generate vector of plane rotations | |
lartv: apply vector of plane rotations to vectors | |
lar2v: apply vector of plane rotations to 2x2 matrices | |
lacrt: apply plane rotation (unused?) | |
►Non-symmetric eigenvalues | |
►Standard eig driver, AV = VΛ | |
geev: eig | |
geevx: eig, expert | |
gees: Schur form | |
geesx: Schur form, expert | |
►Generalized eig driver | |
ggev3: eig | |
ggev: eig, unblocked | |
ggevx: eig, expert | |
gges3: Schur form | |
gges: Schur form, unblocked | |
ggesx: Schur form, expert | |
DMD driver, Dynamic Mode Decomposition | |
►Eig computational routines | |
gebal: balance matrix | |
gehrd: reduction to Hessenberg | |
gehd2: reduction to Hessenberg, level 2 | |
lahr2: step in gehrd | |
{un,or}ghr: generate Q from gehrd | |
{un,or}mhr: multiply by Q from gehrd | |
gebak: back-transform eigvec | |
hseqr: Hessenberg eig, QR iteration | |
hsein: Hessenberg inverse iteration for eigvec | |
trevc: eigenvectors of triangular Schur form, old | |
trevc3: eigenvectors of triangular Schur form, blocked | |
laln2: 1x1 or 2x2 solve, step in trevc | |
trsyl: Sylvester equation | |
trsyl3: Sylvester equation, level 3 | |
lasy2: Sylvester equation | |
trsna: eig condition numbers | |
laqtr: quasi-triangular solve | |
trexc: reorder Schur form | |
trsen: reorder Schur form | |
laexc: reorder Schur form | |
lanv2: 2x2 Schur factor | |
— hseqr auxiliary — | |
laein: eigvec by Hessenberg inverse iteration | |
lahqr: eig of Hessenberg, step in hseqr | |
laqr0: eig of Hessenberg, step in hseqr | |
laqr1: step in hseqr | |
laqr2: step in hseqr | |
laqr3: step in hseqr | |
laqr4: eig of Hessenberg, step in hseqr | |
laqr5: step in hseqr | |
iparmq: set parameters for hseqr | |
— ggev3, gges3 auxiliary — | |
laqz0: step in ggev3, gges3 | |
laqz1: step in ggev3, gges3 | |
laqz2: step in ggev3, gges3 | |
laqz3: step in ggev3, gges3 | |
laqz4: step in ggev3, gges3 | |
►Generalized eig computational routines | |
ggbal: balance matrix | |
gghrd: reduction to Hessenberg | |
gghd3: reduction to Hessenberg, level 3 | |
hgeqz: generalized Hessenberg eig | |
ggbak: back-transform eigvec | |
tgsen: reorder generalized Schur form | |
tgsna: reciprocal cond est | |
tgsyl: Sylvester equation | |
tgsy2: Sylvester equation panel (?) | |
{un,or}m22: multiply by banded Q, step in gghd3 | |
lagv2: 2x2 generalized Schur factor | |
tgevc: eigvec of pair of matrices | |
tgexc: reorder generalized Schur form | |
tgex2: reorder generalized Schur form | |
►Hermitian/symmetric eigenvalues | |
►Standard eig driver, AV = VΛ | |
— full — | |
{he,sy}ev: eig, QR iteration | |
{he,sy}evd: eig, divide and conquer | |
{he,sy}evr: eig, MRRR | |
{he,sy}evx: eig, bisection | |
— full, 2-stage — | |
{he,sy}ev_2stage: eig, QR iteration | |
{he,sy}evd_2stage: eig, divide and conquer | |
{he,sy}evr_2stage: eig, MRRR | |
{he,sy}evx_2stage: eig, bisection | |
— packed — | |
{hp,sp}ev: eig, QR iteration | |
{hp,sp}evd: eig, divide and conquer | |
{hp,sp}evx: eig, bisection | |
— banded — | |
{hb,sb}ev: eig, QR iteration | |
{hb,sb}evd: eig, divide and conquer | |
{hb,sb}evx: eig, bisection | |
— banded, 2nd-stage — | |
{hb,sb}ev_2stage: eig, QR iteration | |
{hb,sb}evd_2stage: eig, divide and conquer | |
{hb,sb}evx_2stage: eig, bisection | |
— tridiagonal — | |
stev: eig, QR iteration | |
stevd: eig, divide and conquer | |
stevr: eig, MRRR | |
stevx: eig, bisection | |
pteqr: eig, positive definite tridiagonal | |
stebz: eig, Kahan | |
sterf: eig, QR iteration | |
stedc: eig, divide and conquer | |
stegr: eig, bisection, see stemr | |
stein: eig, inverse iteration | |
stemr: eig, relatively robust representation (RRR) | |
steqr: eig, QR iteration | |
►Generalized eig driver, AV = BVΛ, etc. | |
— full — | |
{he,sy}gv: eig, QR iteration | |
{he,sy}gv_2stage: eig, QR iteration, 2-stage | |
{he,sy}gvd: eig, divide and conquer | |
{he,sy}gvx: eig, bisection | |
— packed — | |
{hp,sp}gv: eig, QR iteration | |
{hp,sp}gvd: eig, divide and conquer | |
{hp,sp}gvx: eig, bisection | |
— banded — | |
{hb,sb}gv: eig, QR iteration | |
{hb,sb}gvd: eig, divide and conquer | |
{hb,sb}gvx: eig, bisection | |
►Eig computational routines | |
— full — | |
disna: eig condition numbers | |
{he,sy}trd: reduction to tridiagonal | |
{he,sy}td2: reduction to tridiagonal, level 2 | |
latrd: step in hetrd | |
{un,or}gtr: generate Q from hetrd | |
{un,or}mtr: multiply by Q from hetrd | |
{he,sy}trd_2stage: reduction to tridiagonal, 2-stage | |
{he,sy}trd_he2hb: full to band (1st stage) | |
{he,sy}trd_hb2st: band to tridiagonal (2nd stage) | |
{hb,sb}2st_kernels: band to tridiagonal (2nd stage) | |
lae2: 2x2 eig, step in steqr, stemr | |
laesy: 2x2 eig | |
laev2: 2x2 eig | |
lagtf: LU factor of (T - λI) | |
lagts: LU solve of (T - λI) x = y | |
— packed — | |
{hp,sp}trd: reduction to tridiagonal | |
{up,op}gtr: generate Q from hetrd | |
{up,op}mtr: multiply by Q from hptrd | |
— banded — | |
{hb,sb}trd: reduction to tridiagonal | |
►Generalized eig computational routines | |
{he,sy}gst: reduction to standard form | |
{he,sy}gs2: reduction to standard form, level 2 | |
{hp,sp}gst: reduction to standard form, packed | |
{hb,sb}gst: reduction to standard form, banded | |
pbstf: split Cholesky factor, use with hbgst | |
lag2: 2x2 eig | |
►tridiag bisection routines | |
laebz: counts eigvals <= value | |
laneg: Sturm count | |
►tridiag divide and conquer (D&C) routines | |
laed0: D&C step: top level solver | |
laed1: D&C step: merge subproblems | |
laed2: D&C step: deflation | |
laed3: D&C step: secular equation | |
laed4: D&C step: secular equation nonlinear solver | |
laed5: D&C step: secular equation, 2x2 | |
laed6: D&C step: secular equation Newton step | |
lamrg: permutation to merge 2 sorted lists | |
— eig value only or update Q — | |
laed7: D&C step: merge subproblems | |
laed8: D&C step: deflation | |
laed9: D&C step: secular equation | |
laeda: D&C step: z vector | |
►tridiag RRR routines | |
larra: step in stemr | |
larrb: step in stemr | |
larrc: step in stemr | |
larrd: step in stemr, tridiag eig | |
larre: step in stemr | |
larrf: step in stemr, find relative robust representation (RRR) | |
larrj: step in stemr, refine eigval estimates | |
larrk: step in stemr, compute one eigval | |
larrr: step in stemr, test to do expensive tridiag eig algorithm | |
larrv: eig tridiagonal, step in stemr & stegr | |
lar1v: step in larrv, hence stemr & stegr | |
►Singular Value Decomposition (SVD) | |
►Standard SVD driver, A = UΣV^H | |
— full — | |
gesvd: SVD, QR iteration | |
gesvdq: SVD, QR with pivoting | |
gesdd: SVD, divide and conquer | |
gesvdx: SVD, bisection | |
gejsv: SVD, Jacobi, high-level | |
gesvj: SVD, Jacobi, low-level | |
— bidiagonal — | |
bdsqr: bidiagonal SVD, QR iteration (dqds) | |
bdsdc: bidiagonal SVD, divide and conquer | |
bdsvdx: bidiagonal SVD, bisection | |
►Generalized SVD driver | |
ggsvd3: SVD, QR iteration | |
►SVD computational routines | |
gebrd: reduction to bidiagonal | |
gebd2: reduction to bidiagonal, level 2 | |
labrd: step in gebrd | |
gbbrd: band to bidiagonal | |
{un,or}gbr: generate Q, P from gebrd | |
{un,or}mbr: multiply by Q, P from gebrd | |
— auxiliary routines — | |
gsvj0: step in gesvj | |
gsvj1: step in gesvj | |
las2: 2x2 triangular SVD | |
lasv2: 2x2 triangular SVD | |
lartgs: generate plane rotation for bidiag SVD | |
►Generalized SVD computational routines | |
ggsvp3: step in ggsvd | |
tgsja: generalized SVD of trapezoidal matrices, step in ggsvd3 | |
lags2: 2x2 orthogonal factor, step in tgsja | |
lapll: linear dependence of 2 vectors | |
►bidiag QR iteration routines | |
lasq1: dqds step | |
lasq2: dqds step | |
lasq3: dqds step | |
lasq4: dqds step | |
lasq5: dqds step | |
lasq6: dqds step | |
►bidiag D&C routines | |
lasd0: D&C step: top level solver | |
lasdt: D&C step: tree | |
lasd1: D&C step: merge subproblems | |
lasd2: D&C step: deflation | |
lasd3: D&C step: secular equation | |
lasd4: D&C step: secular equation nonlinear solver | |
lasd5: D&C step: secular equation, 2x2 | |
lasdq: D&C step: leaf using bdsqr | |
— singular values only or factored form — | |
lasda: D&C step: top level solver | |
lasd6: D&C step: merge subproblems | |
lasd7: D&C step: deflation | |
lasd8: D&C step: secular equation | |
►BLAS-like | |
►Initialize, copy, convert | |
laset: set matrix | |
larnv: random vector | |
laruv: random uniform vector | |
lacpy: copy matrix | |
lacp2: general matrix, convert real to complex | |
<em>lag2</em>: general matrix, convert double <=> single | |
<em>lat2</em>: triangular matrix, convert double <=> single | |
tfttp: triangular matrix, RFP (tf) to packed (tp) | |
tfttr: triangular matrix, RFP (tf) to full (tr) | |
tpttf: triangular matrix, packed (tp) to RFP (tf) | |
tpttr: triangular matrix, packed (tp) to full (tr) | |
trttf: triangular matrix, full (tr) to RFP (tf) | |
trttp: triangular matrix, full (tr) to packed (tp) | |
►Matrix norm | |
lange: general matrix | |
langb: general matrix, banded | |
langt: general matrix, tridiagonal | |
lanhs: Hessenberg | |
lan{he,sy}: Hermitian/symmetric matrix | |
lan{hf,sf}: Hermitian/symmetric matrix, RFP | |
lan{hp,sp}: Hermitian/symmetric matrix, packed | |
lan{hb,sb}: Hermitian/symmetric matrix, banded | |
lan{ht,st}: Hermitian/symmetric matrix, tridiagonal | |
lantr: triangular matrix | |
lantp: triangular matrix, packed | |
lantb: triangular matrix, banded | |
►Scalar operations | |
isnan: test for NaN | |
laisnan: test for NaN, unoptimized | |
ladiv: complex divide | |
lapy2: robust sqrt( x^2 + y^2 ) | |
lapy3: robust sqrt( x^2 + y^2 + z^2 ) | |
larmm: scale factor to avoid overflow, step in latrs | |
►Level 1 BLAS-like vector ops | |
lacgv: conjugate vector | |
lasrt: sort vector | |
lassq: sum-of-squares, avoiding over/underflow | |
rscl: scale vector by reciprocal | |
►Level 2 BLAS-like matrix-vector ops | |
ilalc: find non-zero col | |
ilalr: find non-zero row | |
lascl: scale matrix | |
la_geamv: matrix-vector multiply |A| * |x|, general | |
la_gbamv: matrix-vector multiply |A| * |x|, general banded | |
la_heamv: matrix-vector multiply |A| * |x|, Hermitian/symmetric | |
lascl2: diagonal scale matrix, A = D A | |
larscl2: reciprocal diagonal scale matrix, A = D^{-1} A | |
la_wwaddw: add to double-double or single-single vector | |
►Level 3 BLAS-like matrix-matrix ops | |
lagtm: tridiagonal matrix-matrix multiply | |
lacrm: complex * real matrix-matrix multiply | |
larcm: real * complex matrix-matrix multiply | |
hfrk: Hermitian rank-k update, RFP format | |
tfsm: triangular-matrix solve, RFP format | |
►Auxiliary routines | |
►Other auxiliary routines | |
lsame: string comparison | |
lsamen: string comparison | |
roundup_lwork: fix rounding integer to float | |
second: wall clock timer | |
►Parameters | |
lamch: machine parameters | |
lamc1: ?? | |
lamc2: ?? | |
lamc3: ?? | |
lamc4: ?? | |
lamc5: ?? | |
labad: over/underflow on obsolete pre-IEEE machines | |
ilaver: LAPACK version | |
ilaenv: tuning parameters | |
ilaenv2stage: tuning parameters for 2-stage eig | |
iparam2stage: sets parameters for 2-stage eig | |
ieeeck: verify inf and NaN are safe | |
la_constants: Fortran 95 module of constants | |
— BLAST constants — | |
iladiag: diag string to BLAST const | |
ilaprec: precision string to BLAST const | |
ilatrans: trans string to BLAST const | |
ilauplo: uplo string to BLAST const | |
la_transtype: BLAST const to string | |
►Error reporting | |
xerbla: error reporting | |
xerbla_array: error reporting, callable from C | |
▼BLAS | |
►Scalar operations | |
abs1: | real( x ) | + | imag( x ) | | |
►Level 1 BLAS: vector ops | |
asum: sum | real( x_i ) | + | imag( x_i ) | | |
sum1: sum | x_i | (in LAPACK) | |
axpy: y = ax + y | |
copy: y = x | |
dot: x^H x and x^T x | |
iamax: argmax_i | real( x_i ) | + | imag( x_i ) | | |
imax1: argmax_i | x_i | (in LAPACK) | |
nrm2: || x ||_2 | |
scal: x = alpha x | |
swap: x <=> y | |
— Givens/Jacobi plane rotations — | |
rot: apply plane rotation ([cz]rot in LAPACK) | |
rotg: generate plane rotation (cf. lartg) | |
rotm: apply modified (fast) plane rotation | |
rotmg: generate modified (fast) plane rotation | |
►Level 2 BLAS: matrix-vector ops | |
— full — | |
gemv: general matrix-vector multiply | |
ger: general matrix rank-1 update | |
{he,sy}mv: Hermitian/symmetric matrix-vector multiply ([cz]symv in LAPACK) | |
{he,sy}r: Hermitian/symmetric rank-1 update | |
{he,sy}r2: Hermitian/symmetric rank-2 update | |
trmv: triangular matrix-vector multiply | |
trsv: triangular matrix-vector solve | |
— packed — | |
{hp,sp}mv: Hermitian/symmetric matrix-vector multiply | |
{hp,sp}r: Hermitian/symmetric rank-1 update | |
{hp,sp}r2: Hermitian/symmetric rank-2 update | |
tpmv: triangular matrix-vector multiply | |
tpsv: triangular matrix-vector solve | |
— banded — | |
gbmv: general matrix-vector multiply | |
{hb,sb}mv: Hermitian/symmetric matrix-vector multiply | |
tbmv: triangular matrix-vector multiply | |
tbsv: triangular matrix-vector solve | |
►Level 3 BLAS: matrix-matrix ops | |
gemm: general matrix-matrix multiply | |
{he,sy}mm: Hermitian/symmetric matrix-matrix multiply | |
{he,sy}rk: Hermitian/symmetric rank-k update | |
{he,sy}r2k: Hermitian/symmetric rank-2k update | |
trmm: triangular matrix-matrix multiply | |
trsm: triangular matrix-matrix solve | |