Man page - tplqt(3)
Packages contains this manual
- hptrd(3)
- potri(3)
- xerbla_array(3)
- ggsvd_driver_grp(3)
- hfrk(3)
- getsqr_comp_grp(3)
- laed6(3)
- gtrfs(3)
- lasdq(3)
- gglse(3)
- la_xisnan_la_isnan(3)
- unmr2(3)
- hetrs_aa(3)
- tpttr(3)
- gerz_comp_grp(3)
- potrf(3)
- hegv_driver(3)
- laqps(3)
- ggqr_comp_grp(3)
- ilalc(3)
- ung2r(3)
- heevd(3)
- pstf2(3)
- lacn2(3)
- ptrfs(3)
- ungrq(3)
- gelqf(3)
- ppsv_comp(3)
- blas2_full(3)
- gemlqt(3)
- unml2(3)
- tplqt(3)
- tpcon(3)
- getf2(3)
- ggbak(3)
- bdsvd_driver(3)
- lamch(3)
- gelq(3)
- gebal(3)
- laqr1(3)
- ptsvx(3)
- lahr2(3)
- larscl2(3)
- geqrt(3)
- larfb(3)
- gtsv_comp(3)
- gesvd_aux(3)
- hbevx_2stage(3)
- hbgvx(3)
- tprfs(3)
- params_grp(3)
- lahef(3)
- laqr_group(3)
- unmqr(3)
- tgsy2(3)
- tfsv_comp(3)
- ggls_driver_grp(3)
- geev(3)
- latrd(3)
- unbdb4(3)
- bbcsd(3)
- lange(3)
- gelq_comp3(3)
- gttrs(3)
- lasy2(3)
- hetf2_rook(3)
- gtsv(3)
- lalsd(3)
- lanhb(3)
- laqhb(3)
- hgeqz(3)
- gesvj(3)
- gsvj0(3)
- ungtsqr_row(3)
- gelq_comp1(3)
- gemmtr(3)
- pbequ(3)
- heev_driver(3)
- unhr_col(3)
- syconvf_rook(3)
- getc2(3)
- syconv(3)
- norm_grp(3)
- larrc(3)
- laqr4(3)
- posv_comp(3)
- geev_driver_grp(3)
- heev_comp(3)
- pfsv(3)
- trevc3(3)
- gesv_driver_grp(3)
- reflector_aux_grp(3)
- langt(3)
- lacrt(3)
- latdf(3)
- hetrs_aa_2stage(3)
- lamc1(3)
- hpev_driver(3)
- hegvd(3)
- pptri(3)
- geqrt3(3)
- gelqt3(3)
- lasd5(3)
- laeda(3)
- geqr(3)
- lamtsqr(3)
- heev(3)
- hpev_comp(3)
- larfg(3)
- blas2_grp(3)
- hesv_rook(3)
- laexc(3)
- hetrd(3)
- geesx(3)
- ppsvx(3)
- blas_top(3)
- gtts2(3)
- la_herpvgrw(3)
- hpevx(3)
- ggevx(3)
- lahqr(3)
- gelq_comp_grp(3)
- hesv_comp_v3(3)
- tplqt2(3)
- hpev(3)
- hbtrd(3)
- getrs(3)
- hecon_3(3)
- lasrt(3)
- lanhe(3)
- gesv_comp(3)
- gbequ(3)
- hetrf_rk(3)
- laqr3(3)
- heev_comp_grp(3)
- ungtsqr(3)
- ppcon(3)
- ggrq_comp_grp(3)
- larmm(3)
- ieeeck(3)
- geqrf(3)
- solve_aux_grp(3)
- herfs(3)
- posvx(3)
- posvxx(3)
- gges3(3)
- hbgvd(3)
- lantb(3)
- lasd_comp_grp(3)
- hpgvx(3)
- lapy2(3)
- lauu2(3)
- copy(3)
- getsqrhrt(3)
- stev_comp_grp(3)
- laev2(3)
- larfb_gett(3)
- trti2(3)
- laqz4(3)
- hegv_driver_grp(3)
- la_porfsx_extended(3)
- laruv(3)
- ggsvd_comp_grp(3)
- dot(3)
- gehd2(3)
- lanhf(3)
- hetri_rook(3)
- pfsv_comp(3)
- gbtrf(3)
- hpgst(3)
- getri(3)
- trevc(3)
- unmrz(3)
- hsein(3)
- lsamen(3)
- lasd6(3)
- trtri(3)
- ggglm(3)
- las2(3)
- latrs(3)
- lapll(3)
- gemlq(3)
- geqpf_comp_grp(3)
- stemr(3)
- rotm(3)
- disna(3)
- ggrqf(3)
- pptrf(3)
- lasd0(3)
- lals0(3)
- laqz2(3)
- hbev_driver2(3)
- geswlq_comp_grp(3)
- laqr0(3)
- trttp(3)
- stedc(3)
- lasq4(3)
- geev_comp_grp(3)
- ungbr(3)
- lanv2(3)
- hpsv(3)
- pprfs(3)
- gehrd(3)
- ppsv(3)
- lagtm(3)
- hpgv(3)
- trsv_comp(3)
- larfx(3)
- gesv_driver(3)
- gerfsx(3)
- la_geamv(3)
- laed9(3)
- tpqrt2(3)
- uncsd(3)
- gecs_comp_grp(3)
- bdsqr(3)
- hegv_comp_grp(3)
- labad(3)
- geqp3(3)
- gesvdq(3)
- tfttp(3)
- laln2(3)
- uncsd2by1(3)
- blas2_like_grp(3)
- latbs(3)
- hbgst(3)
- larrv(3)
- ilaenv2stage(3)
- bdsvdx(3)
- hegs2(3)
- lasq_comp_grp(3)
- hpr2(3)
- laqhe(3)
- larra(3)
- gemqrt(3)
- hbmv(3)
- hpsv_driver(3)
- lacp2(3)
- lapmt(3)
- gecon(3)
- unbdb5(3)
- la_gerpvgrw(3)
- tgex2(3)
- laqhp(3)
- tftri(3)
- getrf2(3)
- porfs(3)
- lartg(3)
- lagts(3)
- ggev_comp_grp(3)
- lasd3(3)
- geqr_comp2(3)
- laqz_group(3)
- pftri(3)
- hetri2x(3)
- lahef_aa(3)
- svd_driver_grp(3)
- gbsv_driver(3)
- hesv_comp_aasen2(3)
- laqtr(3)
- lag2(3)
- la_porcond(3)
- hbev(3)
- pbtrf(3)
- lascl(3)
- larr_comp_grp(3)
- hecon(3)
- pttrs(3)
- lasd8(3)
- lsame(3)
- unm2l(3)
- potrs(3)
- tptrs(3)
- lartv(3)
- trtrs(3)
- gsvj1(3)
- sum1(3)
- larrj(3)
- gbmv(3)
- posv(3)
- gghd3(3)
- geev_top(3)
- geqr_comp_grp(3)
- laset(3)
- hesvxx(3)
- posv_comp_grp(3)
- lahef_rk(3)
- lasd1(3)
- tprfb(3)
- potf2(3)
- laein(3)
- lamc4(3)
- stevd(3)
- gtsv_driver(3)
- gesvd_comp_grp(3)
- la_constants(3)
- gesvx(3)
- hseqr(3)
- launhr_col_getrfnp2(3)
- trcon(3)
- larre(3)
- gelsy(3)
- ptsv(3)
- lacon(3)
- laed_comp_grp(3)
- hpsvx(3)
- gemm(3)
- poequ(3)
- laesy(3)
- lagtf(3)
- trrfs(3)
- ggev3(3)
- pbstf(3)
- poequb(3)
- heevr(3)
- lanhp(3)
- unbdb3(3)
- tgsyl(3)
- lamc5(3)
- geqr2p(3)
- ungqr(3)
- laqz3(3)
- imax1(3)
- gels_top(3)
- hesv(3)
- gelqt(3)
- pfsv_driver(3)
- stegr(3)
- gerqf(3)
- laisnan(3)
- ilatrans(3)
- gbsv_comp(3)
- pbrfs(3)
- lascl2(3)
- larz(3)
- la_hercond(3)
- tgexc(3)
- ggesx(3)
- unbdb6(3)
- ungl2(3)
- laed_comp2(3)
- rscl(3)
- hegv(3)
- gelst(3)
- gbtrs(3)
- pftrf(3)
- langb(3)
- lantr(3)
- laqgb(3)
- ggsvp3(3)
- bdsdc(3)
- ladiv(3)
- laqge(3)
- iparmq(3)
- ggbal(3)
- hb2st_kernels(3)
- lartgs(3)
- lartgp(3)
- rot(3)
- ppequ(3)
- laed3(3)
- her(3)
- hptri(3)
- stevx(3)
- upgtr(3)
- lar2v(3)
- hbev_2stage(3)
- gejsv(3)
- ppsv_driver(3)
- unm22(3)
- gesvxx(3)
- laqz0(3)
- unmtr(3)
- laed5(3)
- tptri(3)
- laed0(3)
- heev_driver2(3)
- hpcon(3)
- lasd4(3)
- hetrf_aa(3)
- geqr_comp3(3)
- rot_aux_grp(3)
- aux_grp(3)
- laebz(3)
- trsyl3(3)
- gges(3)
- gesdd(3)
- trexc(3)
- ung2l(3)
- gesv(3)
- laed4(3)
- md__r_e_a_d_m_e(3)
- blas3_like_grp(3)
- laed1(3)
- larcm(3)
- hbevx(3)
- hesv_driver_grp(3)
- hetrs(3)
- hbevd_2stage(3)
- blas1_grp(3)
- laic1(3)
- geql_comp_grp(3)
- heev_2stage(3)
- hpmv(3)
- pbtf2(3)
- hetrf_aa_2stage(3)
- hbgv(3)
- pptrs(3)
- lapmr(3)
- tpqr_comp_grp(3)
- larfy(3)
- gedmd(3)
- lasr(3)
- hetrd_2stage(3)
- gerfs(3)
- ungtr(3)
- porfsx(3)
- tpmv(3)
- lasd_comp2(3)
- unmbr(3)
- tbtrs(3)
- hetd2(3)
- trsv_comp_grp(3)
- lapy3(3)
- ptts2(3)
- unmhr(3)
- hbev_driver(3)
- lalsa(3)
- tbsv_comp(3)
- hesv_comp_v1(3)
- geql2(3)
- sterf(3)
- larrd(3)
- larft(3)
- lagv2(3)
- gttrf(3)
- tpqrt(3)
- la_lin_berr(3)
- rotg(3)
- solve_top(3)
- lacgv(3)
- larrf(3)
- tbmv(3)
- trsyl(3)
- geequ(3)
- upmtr(3)
- hpgv_driver(3)
- tbsv(3)
- hesvx(3)
- latrz(3)
- tfttr(3)
- gesv_comp_grp(3)
- xerbla_grp(3)
- tpsv(3)
- blas3_grp(3)
- gesvd_driver(3)
- geqr_comp1(3)
- ggev_driver_grp(3)
- la_gbamv(3)
- tpmlqt(3)
- trttf(3)
- larzb(3)
- unmr3(3)
- hecon_rook(3)
- stebz(3)
- lantp(3)
- laqz1(3)
- hesv_rk(3)
- tbcon(3)
- xerbla(3)
- posv_mixed(3)
- latps(3)
- hesv_aa_driver(3)
- gemqr(3)
- larrr(3)
- gebrd(3)
- tgsna(3)
- la_gercond(3)
- gbsv(3)
- hesv_comp_grp(3)
- gesv_mixed(3)
- gghrd(3)
- gbrfs(3)
- tpmqrt(3)
- lasq3(3)
- tpsv_comp(3)
- largv(3)
- gelsd(3)
- pftrs(3)
- asum(3)
- launhr_col_getrfnp(3)
- hptrf(3)
- lacpy(3)
- gesc2(3)
- lasda(3)
- second(3)
- hprfs(3)
- hpsv_comp(3)
- lamrg(3)
- pbsv_comp(3)
- hegv_2stage(3)
- gerq2(3)
- lasdt(3)
- abs1(3)
- hbevd(3)
- hbev_comp(3)
- trsv(3)
- la_porpvgrw(3)
- la_gbrpvgrw(3)
- hbgv_driver(3)
- tgsja(3)
- gebd2(3)
- geqr2(3)
- unm2r(3)
- unmql(3)
- la_gbrfsx_extended(3)
- gelq_comp2(3)
- iparam2stage(3)
- ger(3)
- larf(3)
- ilaprec(3)
- labrd(3)
- unbdb1(3)
- unmlq(3)
- geequb(3)
- la_herfsx_extended(3)
- unbdb2(3)
- lapack_top(3)
- ptsv_driver(3)
- hetrs2(3)
- geqr_comp4(3)
- pbsv(3)
- posv_driver(3)
- steqr(3)
- gels(3)
- lar1v(3)
- hemv(3)
- la_transtype(3)
- hesv_aa(3)
- lacrm(3)
- stevr(3)
- hetf2_rk(3)
- blas2_banded(3)
- stein(3)
- unmrq(3)
- larrk(3)
- hetri2(3)
- hesv_aa_2stage(3)
- pttrf(3)
- gelss(3)
- pbsv_driver(3)
- lasq5(3)
- heevx_2stage(3)
- hetri(3)
- lasd2(3)
- laed2(3)
- pbcon(3)
- ptcon(3)
- laed7(3)
- gels_aux_grp(3)
- hpgvd(3)
- hetf2(3)
- tzrzf(3)
- hpr(3)
- unitary_top(3)
- latsqr(3)
- ungql(3)
- her2(3)
- hetri_3x(3)
- hetrd_hb2st(3)
- tgsen(3)
- ggsvd3(3)
- lasq6(3)
- set_grp(3)
- larfgp(3)
- gels_driver_grp(3)
- pbtrs(3)
- lamswlq(3)
- lanht(3)
- gbsvxx(3)
- tgevc(3)
- ilaenv(3)
- swap(3)
- lae2(3)
- iladiag(3)
- lasq2(3)
- la_heamv(3)
- blas_like_top(3)
- la_gerfsx_extended(3)
- hegst(3)
- tfsm(3)
- gesvd(3)
- ungr2(3)
- ggev(3)
- aux_top(3)
- blas2_packed(3)
- geqlf(3)
- hetrs_rook(3)
- gelq2(3)
- geqrfp(3)
- gbequb(3)
- stev(3)
- lauum(3)
- potrf2(3)
- lamc3(3)
- gbrfsx(3)
- gerq_comp_grp(3)
- pocon(3)
- tbrfs(3)
- heswapr(3)
- lamc2(3)
- hpevd(3)
- hesv_comp_aasen(3)
- scalar_grp(3)
- gemv(3)
- lasv2(3)
- lanhs(3)
- svd_top(3)
- gbsvx(3)
- gesvdx(3)
- tplq_comp_grp(3)
- hesv_driver(3)
- hesv_comp_v2(3)
- trsen(3)
- syconvf(3)
- lasd7(3)
- gbcon(3)
- unbdb(3)
- heev_driver_grp(3)
- ggqrf(3)
- heevx(3)
- gtsvx(3)
- lahef_rook(3)
- hetrf_rook(3)
- hetrf(3)
- trsna(3)
- gebak(3)
- larnv(3)
- ptsv_comp(3)
- laswlq(3)
- lags2(3)
- laed8(3)
- laswp(3)
- hptrs(3)
- unglq(3)
- la_wwaddw(3)
- getrf(3)
- gees(3)
- gbtf2(3)
- hegvx(3)
- latrs3(3)
- roundup_lwork(3)
- unghr(3)
- iamax(3)
- larzt(3)
- pteqr(3)
- ilaver(3)
- trmv(3)
- la_gbrcond(3)
- blas0_like_grp(3)
- nrm2(3)
- heev_top(3)
- gtcon(3)
- heevr_2stage(3)
- pstrf(3)
- rot_comp(3)
- laqr5(3)
- heevd_2stage(3)
- getsls(3)
- hetrd_he2hb(3)
- heequb(3)
- laqp2(3)
- axpy(3)
- blast_aux(3)
- rotmg(3)
- pbsvx(3)
- ilauplo(3)
- herfsx(3)
- laqr2(3)
- blas1_like_grp(3)
- lassq(3)
- larrb(3)
- stev_driver(3)
- geevx(3)
- tpttf(3)
- scal(3)
- laneg(3)
- posv_driver_grp(3)
- lasq1(3)
- hetrs_3(3)
- geqrt2(3)
- gbbrd(3)
- ilalr(3)
- hetri_3(3)
apt-get install liblapack-doc
Manual
tplqt
NAMESYNOPSIS
Functions
Detailed Description
Function Documentation
subroutine ctplqt (integer m, integer n, integer l, integer mb, complex,dimension( lda, * ) a, integer lda, complex, dimension( ldb, * ) b,integer ldb, complex, dimension( ldt, * ) t, integer ldt, complex,dimension( * ) work, integer info)
subroutine dtplqt (integer m, integer n, integer l, integer mb, doubleprecision, dimension( lda, * ) a, integer lda, double precision,dimension( ldb, * ) b, integer ldb, double precision, dimension( ldt, *) t, integer ldt, double precision, dimension( * ) work, integer info)
subroutine stplqt (integer m, integer n, integer l, integer mb, real,dimension( lda, * ) a, integer lda, real, dimension( ldb, * ) b,integer ldb, real, dimension( ldt, * ) t, integer ldt, real, dimension(* ) work, integer info)
subroutine ztplqt (integer m, integer n, integer l, integer mb, complex*16,dimension( lda, * ) a, integer lda, complex*16, dimension( ldb, * ) b,integer ldb, complex*16, dimension( ldt, * ) t, integer ldt,complex*16, dimension( * ) work, integer info)
Author
NAME
tplqt - tplqt: QR factor
SYNOPSIS
Functions
subroutine
ctplqt
(m, n, l, mb, a, lda, b, ldb, t, ldt, work,
info)
CTPLQT
subroutine
dtplqt
(m, n, l, mb, a, lda, b, ldb, t,
ldt, work, info)
DTPLQT
subroutine
stplqt
(m, n, l, mb, a, lda, b, ldb, t,
ldt, work, info)
STPLQT
subroutine
ztplqt
(m, n, l, mb, a, lda, b, ldb, t,
ldt, work, info)
ZTPLQT
Detailed Description
Function Documentation
subroutine ctplqt (integer m, integer n, integer l, integer mb, complex,dimension( lda, * ) a, integer lda, complex, dimension( ldb, * ) b,integer ldb, complex, dimension( ldt, * ) t, integer ldt, complex,dimension( * ) work, integer info)
CTPLQT
Purpose:
CTPLQT computes
a blocked LQ factorization of a complex
ātriangular-pentagonalā matrix C, which is
composed of a
triangular block A and pentagonal block B, using the compact
WY representation for Q.
Parameters
M
M is INTEGER
The number of rows of the matrix B, and the order of the
triangular matrix A.
M >= 0.
N
N is INTEGER
The number of columns of the matrix B.
N >= 0.
L
L is INTEGER
The number of rows of the lower trapezoidal part of B.
MIN(M,N) >= L >= 0. See Further Details.
MB
MB is INTEGER
The block size to be used in the blocked QR. M >= MB
>= 1.
A
A is COMPLEX
array, dimension (LDA,M)
On entry, the lower triangular M-by-M matrix A.
On exit, the elements on and below the diagonal of the array
contain the lower triangular matrix L.
LDA
LDA is INTEGER
The leading dimension of the array A. LDA >=
max(1,M).
B
B is COMPLEX
array, dimension (LDB,N)
On entry, the pentagonal M-by-N matrix B. The first N-L
columns
are rectangular, and the last L columns are lower
trapezoidal.
On exit, B contains the pentagonal matrix V. See Further
Details.
LDB
LDB is INTEGER
The leading dimension of the array B. LDB >=
max(1,M).
T
T is COMPLEX
array, dimension (LDT,N)
The lower triangular block reflectors stored in compact form
as a sequence of upper triangular blocks. See Further
Details.
LDT
LDT is INTEGER
The leading dimension of the array T. LDT >= MB.
WORK
WORK is COMPLEX array, dimension (MB*M)
INFO
INFO is INTEGER
= 0: successful exit
< 0: if INFO = -i, the i-th argument had an illegal
value
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Further Details:
The input matrix C is a M-by-(M+N) matrix
C = [ A ] [ B ]
where A is an
lower triangular M-by-M matrix, and B is M-by-N pentagonal
matrix consisting of a M-by-(N-L) rectangular matrix B1 on
left of a M-by-L
upper trapezoidal matrix B2:
[ B ] = [ B1 ] [ B2 ]
[ B1 ] <- M-by-(N-L) rectangular
[ B2 ] <- M-by-L lower trapezoidal.
The lower
trapezoidal matrix B2 consists of the first L columns of a
M-by-M lower triangular matrix, where 0 <= L <=
MIN(M,N). If L=0,
B is rectangular M-by-N; if M=L=N, B is lower
triangular.
The matrix W
stores the elementary reflectors H(i) in the i-th row
above the diagonal (of A) in the M-by-(M+N) input matrix C
[ C ] = [ A ] [ B ]
[ A ] <- lower triangular M-by-M
[ B ] <- M-by-N pentagonal
so that W can
be represented as
[ W ] = [ I ] [ V ]
[ I ] <- identity, M-by-M
[ V ] <- M-by-N, same form as B.
Thus, all of
information needed for W is contained on exit in B, which
we call V above. Note that V has the same form as B; that
is,
[ V ] = [ V1 ] [ V2 ]
[ V1 ] <- M-by-(N-L) rectangular
[ V2 ] <- M-by-L lower trapezoidal.
The rows of V represent the vectors which define the H(i)ās.
The number of
blocks is B = ceiling(M/MB), where each
block is of order MB except for the last block, which is of
order
IB = M - (M-1)*MB. For each of the B blocks, a upper
triangular block
reflector factor is computed: T1, T2, ..., TB. The MB-by-MB
(and IB-by-IB
for the last block) Tās are stored in the MB-by-N
matrix T as
T = [T1 T2 ... TB].
subroutine dtplqt (integer m, integer n, integer l, integer mb, doubleprecision, dimension( lda, * ) a, integer lda, double precision,dimension( ldb, * ) b, integer ldb, double precision, dimension( ldt, *) t, integer ldt, double precision, dimension( * ) work, integer info)
DTPLQT
Purpose:
DTPLQT computes
a blocked LQ factorization of a real
ātriangular-pentagonalā matrix C, which is
composed of a
triangular block A and pentagonal block B, using the compact
WY representation for Q.
Parameters
M
M is INTEGER
The number of rows of the matrix B, and the order of the
triangular matrix A.
M >= 0.
N
N is INTEGER
The number of columns of the matrix B.
N >= 0.
L
L is INTEGER
The number of rows of the lower trapezoidal part of B.
MIN(M,N) >= L >= 0. See Further Details.
MB
MB is INTEGER
The block size to be used in the blocked QR. M >= MB
>= 1.
A
A is DOUBLE
PRECISION array, dimension (LDA,M)
On entry, the lower triangular M-by-M matrix A.
On exit, the elements on and below the diagonal of the array
contain the lower triangular matrix L.
LDA
LDA is INTEGER
The leading dimension of the array A. LDA >=
max(1,M).
B
B is DOUBLE
PRECISION array, dimension (LDB,N)
On entry, the pentagonal M-by-N matrix B. The first N-L
columns
are rectangular, and the last L columns are lower
trapezoidal.
On exit, B contains the pentagonal matrix V. See Further
Details.
LDB
LDB is INTEGER
The leading dimension of the array B. LDB >=
max(1,M).
T
T is DOUBLE
PRECISION array, dimension (LDT,N)
The lower triangular block reflectors stored in compact form
as a sequence of upper triangular blocks. See Further
Details.
LDT
LDT is INTEGER
The leading dimension of the array T. LDT >= MB.
WORK
WORK is DOUBLE PRECISION array, dimension (MB*M)
INFO
INFO is INTEGER
= 0: successful exit
< 0: if INFO = -i, the i-th argument had an illegal
value
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Further Details:
The input matrix C is a M-by-(M+N) matrix
C = [ A ] [ B ]
where A is an
lower triangular M-by-M matrix, and B is M-by-N pentagonal
matrix consisting of a M-by-(N-L) rectangular matrix B1 on
left of a M-by-L
upper trapezoidal matrix B2:
[ B ] = [ B1 ] [ B2 ]
[ B1 ] <- M-by-(N-L) rectangular
[ B2 ] <- M-by-L lower trapezoidal.
The lower
trapezoidal matrix B2 consists of the first L columns of a
M-by-M lower triangular matrix, where 0 <= L <=
MIN(M,N). If L=0,
B is rectangular M-by-N; if M=L=N, B is lower
triangular.
The matrix W
stores the elementary reflectors H(i) in the i-th row
above the diagonal (of A) in the M-by-(M+N) input matrix C
[ C ] = [ A ] [ B ]
[ A ] <- lower triangular M-by-M
[ B ] <- M-by-N pentagonal
so that W can
be represented as
[ W ] = [ I ] [ V ]
[ I ] <- identity, M-by-M
[ V ] <- M-by-N, same form as B.
Thus, all of
information needed for W is contained on exit in B, which
we call V above. Note that V has the same form as B; that
is,
[ V ] = [ V1 ] [ V2 ]
[ V1 ] <- M-by-(N-L) rectangular
[ V2 ] <- M-by-L lower trapezoidal.
The rows of V represent the vectors which define the H(i)ās.
The number of
blocks is B = ceiling(M/MB), where each
block is of order MB except for the last block, which is of
order
IB = M - (M-1)*MB. For each of the B blocks, a upper
triangular block
reflector factor is computed: T1, T2, ..., TB. The MB-by-MB
(and IB-by-IB
for the last block) Tās are stored in the MB-by-N
matrix T as
T = [T1 T2 ... TB].
subroutine stplqt (integer m, integer n, integer l, integer mb, real,dimension( lda, * ) a, integer lda, real, dimension( ldb, * ) b,integer ldb, real, dimension( ldt, * ) t, integer ldt, real, dimension(* ) work, integer info)
STPLQT
Purpose:
STPLQT computes
a blocked LQ factorization of a real
ātriangular-pentagonalā matrix C, which is
composed of a
triangular block A and pentagonal block B, using the compact
WY representation for Q.
Parameters
M
M is INTEGER
The number of rows of the matrix B, and the order of the
triangular matrix A.
M >= 0.
N
N is INTEGER
The number of columns of the matrix B.
N >= 0.
L
L is INTEGER
The number of rows of the lower trapezoidal part of B.
MIN(M,N) >= L >= 0. See Further Details.
MB
MB is INTEGER
The block size to be used in the blocked QR. M >= MB
>= 1.
A
A is REAL
array, dimension (LDA,M)
On entry, the lower triangular M-by-M matrix A.
On exit, the elements on and below the diagonal of the array
contain the lower triangular matrix L.
LDA
LDA is INTEGER
The leading dimension of the array A. LDA >=
max(1,M).
B
B is REAL
array, dimension (LDB,N)
On entry, the pentagonal M-by-N matrix B. The first N-L
columns
are rectangular, and the last L columns are lower
trapezoidal.
On exit, B contains the pentagonal matrix V. See Further
Details.
LDB
LDB is INTEGER
The leading dimension of the array B. LDB >=
max(1,M).
T
T is REAL
array, dimension (LDT,N)
The lower triangular block reflectors stored in compact form
as a sequence of upper triangular blocks. See Further
Details.
LDT
LDT is INTEGER
The leading dimension of the array T. LDT >= MB.
WORK
WORK is REAL array, dimension (MB*M)
INFO
INFO is INTEGER
= 0: successful exit
< 0: if INFO = -i, the i-th argument had an illegal
value
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Further Details:
The input matrix C is a M-by-(M+N) matrix
C = [ A ] [ B ]
where A is an
lower triangular M-by-M matrix, and B is M-by-N pentagonal
matrix consisting of a M-by-(N-L) rectangular matrix B1 on
left of a M-by-L
upper trapezoidal matrix B2:
[ B ] = [ B1 ] [ B2 ]
[ B1 ] <- M-by-(N-L) rectangular
[ B2 ] <- M-by-L lower trapezoidal.
The lower
trapezoidal matrix B2 consists of the first L columns of a
M-by-M lower triangular matrix, where 0 <= L <=
MIN(M,N). If L=0,
B is rectangular M-by-N; if M=L=N, B is lower
triangular.
The matrix W
stores the elementary reflectors H(i) in the i-th row
above the diagonal (of A) in the M-by-(M+N) input matrix C
[ C ] = [ A ] [ B ]
[ A ] <- lower triangular M-by-M
[ B ] <- M-by-N pentagonal
so that W can
be represented as
[ W ] = [ I ] [ V ]
[ I ] <- identity, M-by-M
[ V ] <- M-by-N, same form as B.
Thus, all of
information needed for W is contained on exit in B, which
we call V above. Note that V has the same form as B; that
is,
[ V ] = [ V1 ] [ V2 ]
[ V1 ] <- M-by-(N-L) rectangular
[ V2 ] <- M-by-L lower trapezoidal.
The rows of V represent the vectors which define the H(i)ās.
The number of
blocks is B = ceiling(M/MB), where each
block is of order MB except for the last block, which is of
order
IB = M - (M-1)*MB. For each of the B blocks, a upper
triangular block
reflector factor is computed: T1, T2, ..., TB. The MB-by-MB
(and IB-by-IB
for the last block) Tās are stored in the MB-by-N
matrix T as
T = [T1 T2 ... TB].
subroutine ztplqt (integer m, integer n, integer l, integer mb, complex*16,dimension( lda, * ) a, integer lda, complex*16, dimension( ldb, * ) b,integer ldb, complex*16, dimension( ldt, * ) t, integer ldt,complex*16, dimension( * ) work, integer info)
ZTPLQT
Purpose:
ZTPLQT computes
a blocked LQ factorization of a complex
ātriangular-pentagonalā matrix C, which is
composed of a
triangular block A and pentagonal block B, using the compact
WY representation for Q.
Parameters
M
M is INTEGER
The number of rows of the matrix B, and the order of the
triangular matrix A.
M >= 0.
N
N is INTEGER
The number of columns of the matrix B.
N >= 0.
L
L is INTEGER
The number of rows of the lower trapezoidal part of B.
MIN(M,N) >= L >= 0. See Further Details.
MB
MB is INTEGER
The block size to be used in the blocked QR. M >= MB
>= 1.
A
A is COMPLEX*16
array, dimension (LDA,M)
On entry, the lower triangular M-by-M matrix A.
On exit, the elements on and below the diagonal of the array
contain the lower triangular matrix L.
LDA
LDA is INTEGER
The leading dimension of the array A. LDA >=
max(1,M).
B
B is COMPLEX*16
array, dimension (LDB,N)
On entry, the pentagonal M-by-N matrix B. The first N-L
columns
are rectangular, and the last L columns are lower
trapezoidal.
On exit, B contains the pentagonal matrix V. See Further
Details.
LDB
LDB is INTEGER
The leading dimension of the array B. LDB >=
max(1,M).
T
T is COMPLEX*16
array, dimension (LDT,N)
The lower triangular block reflectors stored in compact form
as a sequence of upper triangular blocks. See Further
Details.
LDT
LDT is INTEGER
The leading dimension of the array T. LDT >= MB.
WORK
WORK is COMPLEX*16 array, dimension (MB*M)
INFO
INFO is INTEGER
= 0: successful exit
< 0: if INFO = -i, the i-th argument had an illegal
value
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Further Details:
The input matrix C is a M-by-(M+N) matrix
C = [ A ] [ B ]
where A is an
lower triangular M-by-M matrix, and B is M-by-N pentagonal
matrix consisting of a M-by-(N-L) rectangular matrix B1 on
left of a M-by-L
upper trapezoidal matrix B2:
[ B ] = [ B1 ] [ B2 ]
[ B1 ] <- M-by-(N-L) rectangular
[ B2 ] <- M-by-L lower trapezoidal.
The lower
trapezoidal matrix B2 consists of the first L columns of a
M-by-M lower triangular matrix, where 0 <= L <=
MIN(M,N). If L=0,
B is rectangular M-by-N; if M=L=N, B is lower
triangular.
The matrix W
stores the elementary reflectors H(i) in the i-th row
above the diagonal (of A) in the M-by-(M+N) input matrix C
[ C ] = [ A ] [ B ]
[ A ] <- lower triangular M-by-M
[ B ] <- M-by-N pentagonal
so that W can
be represented as
[ W ] = [ I ] [ V ]
[ I ] <- identity, M-by-M
[ V ] <- M-by-N, same form as B.
Thus, all of
information needed for W is contained on exit in B, which
we call V above. Note that V has the same form as B; that
is,
[ V ] = [ V1 ] [ V2 ]
[ V1 ] <- M-by-(N-L) rectangular
[ V2 ] <- M-by-L lower trapezoidal.
The rows of V represent the vectors which define the H(i)ās.
The number of
blocks is B = ceiling(M/MB), where each
block is of order MB except for the last block, which is of
order
IB = M - (M-1)*MB. For each of the B blocks, a upper
triangular block
reflector factor is computed: T1, T2, ..., TB. The MB-by-MB
(and IB-by-IB
for the last block) Tās are stored in the MB-by-N
matrix T as
T = [T1 T2 ... TB].
Author
Generated automatically by Doxygen for LAPACK from the source code.