Update LAPACK to 3.9.0

This commit is contained in:
Martin Kroeker 2019-12-29 22:15:35 +01:00 committed by GitHub
parent e5e893835a
commit 90f316e888
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
23 changed files with 1634 additions and 144 deletions

View File

@ -106,7 +106,7 @@ set(SLASRC
slatbs.f slatdf.f slatps.f slatrd.f slatrs.f slatrz.f slatbs.f slatdf.f slatps.f slatrd.f slatrs.f slatrz.f
slauu2.f slauum.f sopgtr.f sopmtr.f sorg2l.f sorg2r.f slauu2.f slauum.f sopgtr.f sopmtr.f sorg2l.f sorg2r.f
sorgbr.f sorghr.f sorgl2.f sorglq.f sorgql.f sorgqr.f sorgr2.f sorgbr.f sorghr.f sorgl2.f sorglq.f sorgql.f sorgqr.f sorgr2.f
sorgrq.f sorgtr.f sorm2l.f sorm2r.f sorm22.f sorgrq.f sorgtr.f sorgtsqr.f sorm2l.f sorm2r.f sorm22.f
sormbr.f sormhr.f sorml2.f sormlq.f sormql.f sormqr.f sormr2.f sormbr.f sormhr.f sorml2.f sormlq.f sormql.f sormqr.f sormr2.f
sormr3.f sormrq.f sormrz.f sormtr.f spbcon.f spbequ.f spbrfs.f sormr3.f sormrq.f sormrz.f sormtr.f spbcon.f spbequ.f spbrfs.f
spbstf.f spbsv.f spbsvx.f spbstf.f spbsv.f spbsvx.f
@ -148,9 +148,11 @@ set(SLASRC
sgetsls.f sgeqr.f slatsqr.f slamtsqr.f sgemqr.f sgetsls.f sgeqr.f slatsqr.f slamtsqr.f sgemqr.f
sgelq.f slaswlq.f slamswlq.f sgemlq.f sgelq.f slaswlq.f slamswlq.f sgemlq.f
stplqt.f stplqt2.f stpmlqt.f stplqt.f stplqt2.f stpmlqt.f
sorhr_col.f slaorhr_col_getrfnp.f slaorhr_col_getrfnp2.f
ssytrd_2stage.f ssytrd_sy2sb.f ssytrd_sb2st.F ssb2st_kernels.f ssytrd_2stage.f ssytrd_sy2sb.f ssytrd_sb2st.F ssb2st_kernels.f
ssyevd_2stage.f ssyev_2stage.f ssyevx_2stage.f ssyevr_2stage.f ssyevd_2stage.f ssyev_2stage.f ssyevx_2stage.f ssyevr_2stage.f
ssbev_2stage.f ssbevx_2stage.f ssbevd_2stage.f ssygv_2stage.f) ssbev_2stage.f ssbevx_2stage.f ssbevd_2stage.f ssygv_2stage.f
sgesvdq.f scombssq.f)
set(DSLASRC spotrs.f sgetrs.f spotrf.f sgetrf.f) set(DSLASRC spotrs.f sgetrs.f spotrf.f sgetrf.f)
@ -233,7 +235,7 @@ set(CLASRC
ctptrs.f ctrcon.f ctrevc.f ctrevc3.f ctrexc.f ctrrfs.f ctrsen.f ctrsna.f ctptrs.f ctrcon.f ctrevc.f ctrevc3.f ctrexc.f ctrrfs.f ctrsen.f ctrsna.f
ctrsyl.f ctrti2.f ctrtri.f ctrtrs.f ctzrzf.f cung2l.f cung2r.f ctrsyl.f ctrti2.f ctrtri.f ctrtrs.f ctzrzf.f cung2l.f cung2r.f
cungbr.f cunghr.f cungl2.f cunglq.f cungql.f cungqr.f cungr2.f cungbr.f cunghr.f cungl2.f cunglq.f cungql.f cungqr.f cungr2.f
cungrq.f cungtr.f cunm2l.f cunm2r.f cunmbr.f cunmhr.f cunml2.f cunm22.f cungrq.f cungtr.f cungtsqr.f cunm2l.f cunm2r.f cunmbr.f cunmhr.f cunml2.f cunm22.f
cunmlq.f cunmql.f cunmqr.f cunmr2.f cunmr3.f cunmrq.f cunmrz.f cunmlq.f cunmql.f cunmqr.f cunmr2.f cunmr3.f cunmrq.f cunmrz.f
cunmtr.f cupgtr.f cupmtr.f icmax1.f scsum1.f cstemr.f cunmtr.f cupgtr.f cupmtr.f icmax1.f scsum1.f cstemr.f
chfrk.f ctfttp.f clanhf.f cpftrf.f cpftri.f cpftrs.f ctfsm.f ctftri.f chfrk.f ctfttp.f clanhf.f cpftrf.f cpftri.f cpftrs.f ctfsm.f ctftri.f
@ -247,9 +249,11 @@ set(CLASRC
cgetsls.f cgeqr.f clatsqr.f clamtsqr.f cgemqr.f cgetsls.f cgeqr.f clatsqr.f clamtsqr.f cgemqr.f
cgelq.f claswlq.f clamswlq.f cgemlq.f cgelq.f claswlq.f clamswlq.f cgemlq.f
ctplqt.f ctplqt2.f ctpmlqt.f ctplqt.f ctplqt2.f ctpmlqt.f
cunhr_col.f claunhr_col_getrfnp.f claunhr_col_getrfnp2.f
chetrd_2stage.f chetrd_he2hb.f chetrd_hb2st.F chb2st_kernels.f chetrd_2stage.f chetrd_he2hb.f chetrd_hb2st.F chb2st_kernels.f
cheevd_2stage.f cheev_2stage.f cheevx_2stage.f cheevr_2stage.f cheevd_2stage.f cheev_2stage.f cheevx_2stage.f cheevr_2stage.f
chbev_2stage.f chbevx_2stage.f chbevd_2stage.f chegv_2stage.f) chbev_2stage.f chbevx_2stage.f chbevd_2stage.f chegv_2stage.f
cgesvdq.f)
set(CXLASRC cgesvxx.f cgerfsx.f cla_gerfsx_extended.f cla_geamv.f set(CXLASRC cgesvxx.f cgerfsx.f cla_gerfsx_extended.f cla_geamv.f
cla_gercond_c.f cla_gercond_x.f cla_gerpvgrw.f cla_gercond_c.f cla_gercond_x.f cla_gerpvgrw.f
@ -295,7 +299,7 @@ set(DLASRC
dlatbs.f dlatdf.f dlatps.f dlatrd.f dlatrs.f dlatrz.f dlauu2.f dlatbs.f dlatdf.f dlatps.f dlatrd.f dlatrs.f dlatrz.f dlauu2.f
dlauum.f dopgtr.f dopmtr.f dorg2l.f dorg2r.f dlauum.f dopgtr.f dopmtr.f dorg2l.f dorg2r.f
dorgbr.f dorghr.f dorgl2.f dorglq.f dorgql.f dorgqr.f dorgr2.f dorgbr.f dorghr.f dorgl2.f dorglq.f dorgql.f dorgqr.f dorgr2.f
dorgrq.f dorgtr.f dorm2l.f dorm2r.f dorm22.f dorgrq.f dorgtr.f dorgtsqr.f dorm2l.f dorm2r.f dorm22.f
dormbr.f dormhr.f dorml2.f dormlq.f dormql.f dormqr.f dormr2.f dormbr.f dormhr.f dorml2.f dormlq.f dormql.f dormqr.f dormr2.f
dormr3.f dormrq.f dormrz.f dormtr.f dpbcon.f dpbequ.f dpbrfs.f dormr3.f dormrq.f dormrz.f dormtr.f dpbcon.f dpbequ.f dpbrfs.f
dpbstf.f dpbsv.f dpbsvx.f dpbstf.f dpbsv.f dpbsvx.f
@ -339,9 +343,11 @@ set(DLASRC
dgetsls.f dgeqr.f dlatsqr.f dlamtsqr.f dgemqr.f dgetsls.f dgeqr.f dlatsqr.f dlamtsqr.f dgemqr.f
dgelq.f dlaswlq.f dlamswlq.f dgemlq.f dgelq.f dlaswlq.f dlamswlq.f dgemlq.f
dtplqt.f dtplqt2.f dtpmlqt.f dtplqt.f dtplqt2.f dtpmlqt.f
dorhr_col.f dlaorhr_col_getrfnp.f dlaorhr_col_getrfnp2.f
dsytrd_2stage.f dsytrd_sy2sb.f dsytrd_sb2st.F dsb2st_kernels.f dsytrd_2stage.f dsytrd_sy2sb.f dsytrd_sb2st.F dsb2st_kernels.f
dsyevd_2stage.f dsyev_2stage.f dsyevx_2stage.f dsyevr_2stage.f dsyevd_2stage.f dsyev_2stage.f dsyevx_2stage.f dsyevr_2stage.f
dsbev_2stage.f dsbevx_2stage.f dsbevd_2stage.f dsygv_2stage.f) dsbev_2stage.f dsbevx_2stage.f dsbevd_2stage.f dsygv_2stage.f
dgesvdq.f dcombssq.f)
set(DXLASRC dgesvxx.f dgerfsx.f dla_gerfsx_extended.f dla_geamv.f set(DXLASRC dgesvxx.f dgerfsx.f dla_gerfsx_extended.f dla_geamv.f
dla_gercond.f dla_gerpvgrw.f dsysvxx.f dsyrfsx.f dla_gercond.f dla_gerpvgrw.f dsysvxx.f dsyrfsx.f
@ -424,7 +430,7 @@ set(ZLASRC
ztptrs.f ztrcon.f ztrevc.f ztrevc3.f ztrexc.f ztrrfs.f ztrsen.f ztrsna.f ztptrs.f ztrcon.f ztrevc.f ztrevc3.f ztrexc.f ztrrfs.f ztrsen.f ztrsna.f
ztrsyl.f ztrti2.f ztrtri.f ztrtrs.f ztzrzf.f zung2l.f ztrsyl.f ztrti2.f ztrtri.f ztrtrs.f ztzrzf.f zung2l.f
zung2r.f zungbr.f zunghr.f zungl2.f zunglq.f zungql.f zungqr.f zungr2.f zung2r.f zungbr.f zunghr.f zungl2.f zunglq.f zungql.f zungqr.f zungr2.f
zungrq.f zungtr.f zunm2l.f zunm2r.f zunmbr.f zunmhr.f zunml2.f zunm22.f zungrq.f zungtr.f zungtsqr.f zunm2l.f zunm2r.f zunmbr.f zunmhr.f zunml2.f zunm22.f
zunmlq.f zunmql.f zunmqr.f zunmr2.f zunmr3.f zunmrq.f zunmrz.f zunmlq.f zunmql.f zunmqr.f zunmr2.f zunmr3.f zunmrq.f zunmrz.f
zunmtr.f zupgtr.f zunmtr.f zupgtr.f
zupmtr.f izmax1.f dzsum1.f zstemr.f zupmtr.f izmax1.f dzsum1.f zstemr.f
@ -440,9 +446,11 @@ set(ZLASRC
zgelqt.f zgelqt3.f zgemlqt.f zgelqt.f zgelqt3.f zgemlqt.f
zgetsls.f zgeqr.f zlatsqr.f zlamtsqr.f zgemqr.f zgetsls.f zgeqr.f zlatsqr.f zlamtsqr.f zgemqr.f
zgelq.f zlaswlq.f zlamswlq.f zgemlq.f zgelq.f zlaswlq.f zlamswlq.f zgemlq.f
zunhr_col.f zlaunhr_col_getrfnp.f zlaunhr_col_getrfnp2.f
zhetrd_2stage.f zhetrd_he2hb.f zhetrd_hb2st.F zhb2st_kernels.f zhetrd_2stage.f zhetrd_he2hb.f zhetrd_hb2st.F zhb2st_kernels.f
zheevd_2stage.f zheev_2stage.f zheevx_2stage.f zheevr_2stage.f zheevd_2stage.f zheev_2stage.f zheevx_2stage.f zheevr_2stage.f
zhbev_2stage.f zhbevx_2stage.f zhbevd_2stage.f zhegv_2stage.f) zhbev_2stage.f zhbevx_2stage.f zhbevd_2stage.f zhegv_2stage.f
zgesvdq.f)
set(ZXLASRC zgesvxx.f zgerfsx.f zla_gerfsx_extended.f zla_geamv.f set(ZXLASRC zgesvxx.f zgerfsx.f zla_gerfsx_extended.f zla_geamv.f
zla_gercond_c.f zla_gercond_x.f zla_gerpvgrw.f zsysvxx.f zsyrfsx.f zla_gercond_c.f zla_gercond_x.f zla_gerpvgrw.f zsysvxx.f zsyrfsx.f
@ -504,7 +512,7 @@ if(USE_XBLAS)
endif() endif()
target_link_libraries(lapack PRIVATE ${BLAS_LIBRARIES}) target_link_libraries(lapack PRIVATE ${BLAS_LIBRARIES})
if (${CMAKE_BUILD_TYPE_UPPER} STREQUAL "COVERAGE") if(_is_coverage_build)
target_link_libraries(lapack PRIVATE gcov) target_link_libraries(lapack PRIVATE gcov)
add_coverage(lapack) add_coverage(lapack)
endif() endif()

View File

@ -1,5 +1,3 @@
include ../make.inc
####################################################################### #######################################################################
# This is the makefile to create a library for LAPACK. # This is the makefile to create a library for LAPACK.
# The files are organized as follows: # The files are organized as follows:
@ -44,7 +42,7 @@ include ../make.inc
# and is created at the next higher directory level. # and is created at the next higher directory level.
# #
# To remove the object files after the library is created, enter # To remove the object files after the library is created, enter
# make clean # make cleanobj
# On some systems, you can force the source files to be recompiled by # On some systems, you can force the source files to be recompiled by
# entering (for example) # entering (for example)
# make single FRC=FRC # make single FRC=FRC
@ -56,6 +54,13 @@ include ../make.inc
# #
####################################################################### #######################################################################
TOPSRCDIR = ..
include $(TOPSRCDIR)/make.inc
.SUFFIXES: .F .o
.F.o:
$(FC) $(FFLAGS) -c -o $@ $<
ALLAUX_O = ilaenv.o ilaenv2stage.o ieeeck.o lsamen.o xerbla.o xerbla_array.o \ ALLAUX_O = ilaenv.o ilaenv2stage.o ieeeck.o lsamen.o xerbla.o xerbla_array.o \
iparmq.o iparam2stage.o \ iparmq.o iparam2stage.o \
ilaprec.o ilatrans.o ilauplo.o iladiag.o chla_transtype.o \ ilaprec.o ilatrans.o ilauplo.o iladiag.o chla_transtype.o \
@ -128,7 +133,7 @@ SLASRC_O = \
slatbs.o slatdf.o slatps.o slatrd.o slatrs.o slatrz.o \ slatbs.o slatdf.o slatps.o slatrd.o slatrs.o slatrz.o \
slauu2.o slauum.o sopgtr.o sopmtr.o sorg2l.o sorg2r.o \ slauu2.o slauum.o sopgtr.o sopmtr.o sorg2l.o sorg2r.o \
sorgbr.o sorghr.o sorgl2.o sorglq.o sorgql.o sorgqr.o sorgr2.o \ sorgbr.o sorghr.o sorgl2.o sorglq.o sorgql.o sorgqr.o sorgr2.o \
sorgrq.o sorgtr.o sorm2l.o sorm2r.o sorm22.o \ sorgrq.o sorgtr.o sorgtsqr.o sorm2l.o sorm2r.o sorm22.o \
sormbr.o sormhr.o sorml2.o sormlq.o sormql.o sormqr.o sormr2.o \ sormbr.o sormhr.o sorml2.o sormlq.o sormql.o sormqr.o sormr2.o \
sormr3.o sormrq.o sormrz.o sormtr.o spbcon.o spbequ.o spbrfs.o \ sormr3.o sormrq.o sormrz.o sormtr.o spbcon.o spbequ.o spbrfs.o \
spbstf.o spbsv.o spbsvx.o \ spbstf.o spbsv.o spbsvx.o \
@ -171,9 +176,11 @@ SLASRC_O = \
sgetsls.o sgeqr.o slatsqr.o slamtsqr.o sgemqr.o \ sgetsls.o sgeqr.o slatsqr.o slamtsqr.o sgemqr.o \
sgelq.o slaswlq.o slamswlq.o sgemlq.o \ sgelq.o slaswlq.o slamswlq.o sgemlq.o \
stplqt.o stplqt2.o stpmlqt.o \ stplqt.o stplqt2.o stpmlqt.o \
sorhr_col.o slaorhr_col_getrfnp.o slaorhr_col_getrfnp2.o \
ssytrd_2stage.o ssytrd_sy2sb.o ssytrd_sb2st.o ssb2st_kernels.o \ ssytrd_2stage.o ssytrd_sy2sb.o ssytrd_sb2st.o ssb2st_kernels.o \
ssyevd_2stage.o ssyev_2stage.o ssyevx_2stage.o ssyevr_2stage.o \ ssyevd_2stage.o ssyev_2stage.o ssyevx_2stage.o ssyevr_2stage.o \
ssbev_2stage.o ssbevx_2stage.o ssbevd_2stage.o ssygv_2stage.o ssbev_2stage.o ssbevx_2stage.o ssbevd_2stage.o ssygv_2stage.o \
sgesvdq.o scombssq.o
DSLASRC_O = spotrs.o sgetrs.o spotrf.o sgetrf.o DSLASRC_O = spotrs.o sgetrs.o spotrf.o sgetrf.o
@ -258,7 +265,7 @@ CLASRC_O = \
ctptrs.o ctrcon.o ctrevc.o ctrevc3.o ctrexc.o ctrrfs.o ctrsen.o ctrsna.o \ ctptrs.o ctrcon.o ctrevc.o ctrevc3.o ctrexc.o ctrrfs.o ctrsen.o ctrsna.o \
ctrsyl.o ctrti2.o ctrtri.o ctrtrs.o ctzrzf.o cung2l.o cung2r.o \ ctrsyl.o ctrti2.o ctrtri.o ctrtrs.o ctzrzf.o cung2l.o cung2r.o \
cungbr.o cunghr.o cungl2.o cunglq.o cungql.o cungqr.o cungr2.o \ cungbr.o cunghr.o cungl2.o cunglq.o cungql.o cungqr.o cungr2.o \
cungrq.o cungtr.o cunm2l.o cunm2r.o cunmbr.o cunmhr.o cunml2.o cunm22.o \ cungrq.o cungtr.o cungtsqr.o cunm2l.o cunm2r.o cunmbr.o cunmhr.o cunml2.o cunm22.o \
cunmlq.o cunmql.o cunmqr.o cunmr2.o cunmr3.o cunmrq.o cunmrz.o \ cunmlq.o cunmql.o cunmqr.o cunmr2.o cunmr3.o cunmrq.o cunmrz.o \
cunmtr.o cupgtr.o cupmtr.o icmax1.o scsum1.o cstemr.o \ cunmtr.o cupgtr.o cupmtr.o icmax1.o scsum1.o cstemr.o \
chfrk.o ctfttp.o clanhf.o cpftrf.o cpftri.o cpftrs.o ctfsm.o ctftri.o \ chfrk.o ctfttp.o clanhf.o cpftrf.o cpftri.o cpftrs.o ctfsm.o ctftri.o \
@ -272,9 +279,11 @@ CLASRC_O = \
cgetsls.o cgeqr.o clatsqr.o clamtsqr.o cgemqr.o \ cgetsls.o cgeqr.o clatsqr.o clamtsqr.o cgemqr.o \
cgelq.o claswlq.o clamswlq.o cgemlq.o \ cgelq.o claswlq.o clamswlq.o cgemlq.o \
ctplqt.o ctplqt2.o ctpmlqt.o \ ctplqt.o ctplqt2.o ctpmlqt.o \
cunhr_col.o claunhr_col_getrfnp.o claunhr_col_getrfnp2.o \
chetrd_2stage.o chetrd_he2hb.o chetrd_hb2st.o chb2st_kernels.o \ chetrd_2stage.o chetrd_he2hb.o chetrd_hb2st.o chb2st_kernels.o \
cheevd_2stage.o cheev_2stage.o cheevx_2stage.o cheevr_2stage.o \ cheevd_2stage.o cheev_2stage.o cheevx_2stage.o cheevr_2stage.o \
chbev_2stage.o chbevx_2stage.o chbevd_2stage.o chegv_2stage.o chbev_2stage.o chbevx_2stage.o chbevd_2stage.o chegv_2stage.o \
cgesvdq.o
ifdef USEXBLAS ifdef USEXBLAS
CXLASRC = cgesvxx.o cgerfsx.o cla_gerfsx_extended.o cla_geamv.o \ CXLASRC = cgesvxx.o cgerfsx.o cla_gerfsx_extended.o cla_geamv.o \
@ -324,7 +333,7 @@ DLASRC_O = \
dlatbs.o dlatdf.o dlatps.o dlatrd.o dlatrs.o dlatrz.o dlauu2.o \ dlatbs.o dlatdf.o dlatps.o dlatrd.o dlatrs.o dlatrz.o dlauu2.o \
dlauum.o dopgtr.o dopmtr.o dorg2l.o dorg2r.o \ dlauum.o dopgtr.o dopmtr.o dorg2l.o dorg2r.o \
dorgbr.o dorghr.o dorgl2.o dorglq.o dorgql.o dorgqr.o dorgr2.o \ dorgbr.o dorghr.o dorgl2.o dorglq.o dorgql.o dorgqr.o dorgr2.o \
dorgrq.o dorgtr.o dorm2l.o dorm2r.o dorm22.o \ dorgrq.o dorgtr.o dorgtsqr.o dorm2l.o dorm2r.o dorm22.o \
dormbr.o dormhr.o dorml2.o dormlq.o dormql.o dormqr.o dormr2.o \ dormbr.o dormhr.o dorml2.o dormlq.o dormql.o dormqr.o dormr2.o \
dormr3.o dormrq.o dormrz.o dormtr.o dpbcon.o dpbequ.o dpbrfs.o \ dormr3.o dormrq.o dormrz.o dormtr.o dpbcon.o dpbequ.o dpbrfs.o \
dpbstf.o dpbsv.o dpbsvx.o \ dpbstf.o dpbsv.o dpbsvx.o \
@ -368,9 +377,11 @@ DLASRC_O = \
dgetsls.o dgeqr.o dlatsqr.o dlamtsqr.o dgemqr.o \ dgetsls.o dgeqr.o dlatsqr.o dlamtsqr.o dgemqr.o \
dgelq.o dlaswlq.o dlamswlq.o dgemlq.o \ dgelq.o dlaswlq.o dlamswlq.o dgemlq.o \
dtplqt.o dtplqt2.o dtpmlqt.o \ dtplqt.o dtplqt2.o dtpmlqt.o \
dorhr_col.o dlaorhr_col_getrfnp.o dlaorhr_col_getrfnp2.o \
dsytrd_2stage.o dsytrd_sy2sb.o dsytrd_sb2st.o dsb2st_kernels.o \ dsytrd_2stage.o dsytrd_sy2sb.o dsytrd_sb2st.o dsb2st_kernels.o \
dsyevd_2stage.o dsyev_2stage.o dsyevx_2stage.o dsyevr_2stage.o \ dsyevd_2stage.o dsyev_2stage.o dsyevx_2stage.o dsyevr_2stage.o \
dsbev_2stage.o dsbevx_2stage.o dsbevd_2stage.o dsygv_2stage.o dsbev_2stage.o dsbevx_2stage.o dsbevd_2stage.o dsygv_2stage.o \
dgesvdq.o dcombssq.o
ifdef USEXBLAS ifdef USEXBLAS
DXLASRC = dgesvxx.o dgerfsx.o dla_gerfsx_extended.o dla_geamv.o \ DXLASRC = dgesvxx.o dgerfsx.o dla_gerfsx_extended.o dla_geamv.o \
@ -456,7 +467,7 @@ ZLASRC_O = \
ztptrs.o ztrcon.o ztrevc.o ztrevc3.o ztrexc.o ztrrfs.o ztrsen.o ztrsna.o \ ztptrs.o ztrcon.o ztrevc.o ztrevc3.o ztrexc.o ztrrfs.o ztrsen.o ztrsna.o \
ztrsyl.o ztrti2.o ztrtri.o ztrtrs.o ztzrzf.o zung2l.o \ ztrsyl.o ztrti2.o ztrtri.o ztrtrs.o ztzrzf.o zung2l.o \
zung2r.o zungbr.o zunghr.o zungl2.o zunglq.o zungql.o zungqr.o zungr2.o \ zung2r.o zungbr.o zunghr.o zungl2.o zunglq.o zungql.o zungqr.o zungr2.o \
zungrq.o zungtr.o zunm2l.o zunm2r.o zunmbr.o zunmhr.o zunml2.o zunm22.o \ zungrq.o zungtr.o zungtsqr.o zunm2l.o zunm2r.o zunmbr.o zunmhr.o zunml2.o zunm22.o \
zunmlq.o zunmql.o zunmqr.o zunmr2.o zunmr3.o zunmrq.o zunmrz.o \ zunmlq.o zunmql.o zunmqr.o zunmr2.o zunmr3.o zunmrq.o zunmrz.o \
zunmtr.o zupgtr.o \ zunmtr.o zupgtr.o \
zupmtr.o izmax1.o dzsum1.o zstemr.o \ zupmtr.o izmax1.o dzsum1.o zstemr.o \
@ -472,9 +483,11 @@ ZLASRC_O = \
zgelqt.o zgelqt3.o zgemlqt.o \ zgelqt.o zgelqt3.o zgemlqt.o \
zgetsls.o zgeqr.o zlatsqr.o zlamtsqr.o zgemqr.o \ zgetsls.o zgeqr.o zlatsqr.o zlamtsqr.o zgemqr.o \
zgelq.o zlaswlq.o zlamswlq.o zgemlq.o \ zgelq.o zlaswlq.o zlamswlq.o zgemlq.o \
zunhr_col.o zlaunhr_col_getrfnp.o zlaunhr_col_getrfnp2.o \
zhetrd_2stage.o zhetrd_he2hb.o zhetrd_hb2st.o zhb2st_kernels.o \ zhetrd_2stage.o zhetrd_he2hb.o zhetrd_hb2st.o zhb2st_kernels.o \
zheevd_2stage.o zheev_2stage.o zheevx_2stage.o zheevr_2stage.o \ zheevd_2stage.o zheev_2stage.o zheevx_2stage.o zheevr_2stage.o \
zhbev_2stage.o zhbevx_2stage.o zhbevd_2stage.o zhegv_2stage.o zhbev_2stage.o zhbevx_2stage.o zhbevd_2stage.o zhegv_2stage.o \
zgesvdq.o
ifdef USEXBLAS ifdef USEXBLAS
ZXLASRC = zgesvxx.o zgerfsx.o zla_gerfsx_extended.o zla_geamv.o \ ZXLASRC = zgesvxx.o zgerfsx.o zla_gerfsx_extended.o zla_geamv.o \
@ -550,33 +563,29 @@ ifdef BUILD_DEPRECATED
DEPRECATED = $(DEPRECSRC) DEPRECATED = $(DEPRECSRC)
endif endif
all: ../$(LAPACKLIB) .PHONY: all
all: $(LAPACKLIB)
.PHONY: ../$(LAPACKLIB) $(LAPACKLIB): $(ALLOBJ) $(ALLXOBJ) $(DEPRECATED)
$(AR) $(ARFLAGS) $@ $^
../$(LAPACKLIB): $(ALLOBJ) $(ALLXOBJ) $(DEPRECATED)
$(ARCH) $(ARCHFLAGS) $@ $(ALLOBJ) $(ALLXOBJ) $(DEPRECATED)
$(RANLIB) $@ $(RANLIB) $@
.PHONY: single complex double complex16
single: $(SLASRC) $(DSLASRC) $(SXLASRC) $(SCLAUX) $(ALLAUX) single: $(SLASRC) $(DSLASRC) $(SXLASRC) $(SCLAUX) $(ALLAUX)
$(ARCH) $(ARCHFLAGS) ../$(LAPACKLIB) $(SLASRC) $(DSLASRC) \ $(AR) $(ARFLAGS) $(LAPACKLIB) $^
$(SXLASRC) $(SCLAUX) $(ALLAUX) $(RANLIB) $(LAPACKLIB)
$(RANLIB) ../$(LAPACKLIB)
complex: $(CLASRC) $(ZCLASRC) $(CXLASRC) $(SCLAUX) $(ALLAUX) complex: $(CLASRC) $(ZCLASRC) $(CXLASRC) $(SCLAUX) $(ALLAUX)
$(ARCH) $(ARCHFLAGS) ../$(LAPACKLIB) $(CLASRC) $(ZCLASRC) \ $(AR) $(ARFLAGS) $(LAPACKLIB) $^
$(CXLASRC) $(SCLAUX) $(ALLAUX) $(RANLIB) $(LAPACKLIB)
$(RANLIB) ../$(LAPACKLIB)
double: $(DLASRC) $(DSLASRC) $(DXLASRC) $(DZLAUX) $(ALLAUX) double: $(DLASRC) $(DSLASRC) $(DXLASRC) $(DZLAUX) $(ALLAUX)
$(ARCH) $(ARCHFLAGS) ../$(LAPACKLIB) $(DLASRC) $(DSLASRC) \ $(AR) $(ARFLAGS) $(LAPACKLIB) $^
$(DXLASRC) $(DZLAUX) $(ALLAUX) $(RANLIB) $(LAPACKLIB)
$(RANLIB) ../$(LAPACKLIB)
complex16: $(ZLASRC) $(ZCLASRC) $(ZXLASRC) $(DZLAUX) $(ALLAUX) complex16: $(ZLASRC) $(ZCLASRC) $(ZXLASRC) $(DZLAUX) $(ALLAUX)
$(ARCH) $(ARCHFLAGS) ../$(LAPACKLIB) $(ZLASRC) $(ZCLASRC) \ $(AR) $(ARFLAGS) $(LAPACKLIB) $^
$(ZXLASRC) $(DZLAUX) $(ALLAUX) $(RANLIB) $(LAPACKLIB)
$(RANLIB) ../$(LAPACKLIB)
$(ALLAUX): $(FRC) $(ALLAUX): $(FRC)
$(SCLAUX): $(FRC) $(SCLAUX): $(FRC)
@ -597,18 +606,16 @@ endif
FRC: FRC:
@FRC=$(FRC) @FRC=$(FRC)
clean: .PHONY: clean cleanobj cleanlib
clean: cleanobj cleanlib
cleanobj:
rm -f *.o DEPRECATED/*.o rm -f *.o DEPRECATED/*.o
cleanlib:
rm -f $(LAPACKLIB)
.f.o: slaruv.o: slaruv.f ; $(FC) $(FFLAGS_NOOPT) -c -o $@ $<
$(FORTRAN) $(OPTS) -c -o $@ $< dlaruv.o: dlaruv.f ; $(FC) $(FFLAGS_NOOPT) -c -o $@ $<
sla_wwaddw.o: sla_wwaddw.f ; $(FC) $(FFLAGS_NOOPT) -c -o $@ $<
.F.o: dla_wwaddw.o: dla_wwaddw.f ; $(FC) $(FFLAGS_NOOPT) -c -o $@ $<
$(FORTRAN) $(OPTS) -c $< -o $@ cla_wwaddw.o: cla_wwaddw.f ; $(FC) $(FFLAGS_NOOPT) -c -o $@ $<
zla_wwaddw.o: zla_wwaddw.f ; $(FC) $(FFLAGS_NOOPT) -c -o $@ $<
slaruv.o: slaruv.f ; $(FORTRAN) $(NOOPT) -c -o $@ $<
dlaruv.o: dlaruv.f ; $(FORTRAN) $(NOOPT) -c -o $@ $<
sla_wwaddw.o: sla_wwaddw.f ; $(FORTRAN) $(NOOPT) -c -o $@ $<
dla_wwaddw.o: dla_wwaddw.f ; $(FORTRAN) $(NOOPT) -c -o $@ $<
cla_wwaddw.o: cla_wwaddw.f ; $(FORTRAN) $(NOOPT) -c -o $@ $<
zla_wwaddw.o: zla_wwaddw.f ; $(FORTRAN) $(NOOPT) -c -o $@ $<

View File

@ -75,7 +75,7 @@
*> Specifies the form of the system of equations: *> Specifies the form of the system of equations:
*> = 'N': A * X = B (No transpose) *> = 'N': A * X = B (No transpose)
*> = 'T': A**T * X = B (Transpose) *> = 'T': A**T * X = B (Transpose)
*> = 'C': A**H * X = B (Conjugate transpose = Transpose) *> = 'C': A**H * X = B (Conjugate transpose)
*> \endverbatim *> \endverbatim
*> *>
*> \param[in] EQUED *> \param[in] EQUED
@ -308,7 +308,7 @@
*> information as described below. There currently are up to three *> information as described below. There currently are up to three
*> pieces of information returned for each right-hand side. If *> pieces of information returned for each right-hand side. If
*> componentwise accuracy is not requested (PARAMS(3) = 0.0), then *> componentwise accuracy is not requested (PARAMS(3) = 0.0), then
*> ERR_BNDS_COMP is not accessed. If N_ERR_BNDS .LT. 3, then at most *> ERR_BNDS_COMP is not accessed. If N_ERR_BNDS < 3, then at most
*> the first (:,N_ERR_BNDS) entries are returned. *> the first (:,N_ERR_BNDS) entries are returned.
*> *>
*> The first index in ERR_BNDS_COMP(i,:) corresponds to the ith *> The first index in ERR_BNDS_COMP(i,:) corresponds to the ith
@ -344,14 +344,14 @@
*> \param[in] NPARAMS *> \param[in] NPARAMS
*> \verbatim *> \verbatim
*> NPARAMS is INTEGER *> NPARAMS is INTEGER
*> Specifies the number of parameters set in PARAMS. If .LE. 0, the *> Specifies the number of parameters set in PARAMS. If <= 0, the
*> PARAMS array is never referenced and default values are used. *> PARAMS array is never referenced and default values are used.
*> \endverbatim *> \endverbatim
*> *>
*> \param[in,out] PARAMS *> \param[in,out] PARAMS
*> \verbatim *> \verbatim
*> PARAMS is REAL array, dimension NPARAMS *> PARAMS is REAL array, dimension NPARAMS
*> Specifies algorithm parameters. If an entry is .LT. 0.0, then *> Specifies algorithm parameters. If an entry is < 0.0, then
*> that entry will be filled with default value used for that *> that entry will be filled with default value used for that
*> parameter. Only positions up to NPARAMS are accessed; defaults *> parameter. Only positions up to NPARAMS are accessed; defaults
*> are used for higher-numbered parameters. *> are used for higher-numbered parameters.

View File

@ -431,7 +431,7 @@
*> information as described below. There currently are up to three *> information as described below. There currently are up to three
*> pieces of information returned for each right-hand side. If *> pieces of information returned for each right-hand side. If
*> componentwise accuracy is not requested (PARAMS(3) = 0.0), then *> componentwise accuracy is not requested (PARAMS(3) = 0.0), then
*> ERR_BNDS_COMP is not accessed. If N_ERR_BNDS .LT. 3, then at most *> ERR_BNDS_COMP is not accessed. If N_ERR_BNDS < 3, then at most
*> the first (:,N_ERR_BNDS) entries are returned. *> the first (:,N_ERR_BNDS) entries are returned.
*> *>
*> The first index in ERR_BNDS_COMP(i,:) corresponds to the ith *> The first index in ERR_BNDS_COMP(i,:) corresponds to the ith
@ -467,14 +467,14 @@
*> \param[in] NPARAMS *> \param[in] NPARAMS
*> \verbatim *> \verbatim
*> NPARAMS is INTEGER *> NPARAMS is INTEGER
*> Specifies the number of parameters set in PARAMS. If .LE. 0, the *> Specifies the number of parameters set in PARAMS. If <= 0, the
*> PARAMS array is never referenced and default values are used. *> PARAMS array is never referenced and default values are used.
*> \endverbatim *> \endverbatim
*> *>
*> \param[in,out] PARAMS *> \param[in,out] PARAMS
*> \verbatim *> \verbatim
*> PARAMS is REAL array, dimension NPARAMS *> PARAMS is REAL array, dimension NPARAMS
*> Specifies algorithm parameters. If an entry is .LT. 0.0, then *> Specifies algorithm parameters. If an entry is < 0.0, then
*> that entry will be filled with default value used for that *> that entry will be filled with default value used for that
*> parameter. Only positions up to NPARAMS are accessed; defaults *> parameter. Only positions up to NPARAMS are accessed; defaults
*> are used for higher-numbered parameters. *> are used for higher-numbered parameters.

View File

@ -48,10 +48,10 @@
*> \verbatim *> \verbatim
*> JOB is CHARACTER*1 *> JOB is CHARACTER*1
*> Specifies the type of backward transformation required: *> Specifies the type of backward transformation required:
*> = 'N', do nothing, return immediately; *> = 'N': do nothing, return immediately;
*> = 'P', do backward transformation for permutation only; *> = 'P': do backward transformation for permutation only;
*> = 'S', do backward transformation for scaling only; *> = 'S': do backward transformation for scaling only;
*> = 'B', do backward transformations for both permutation and *> = 'B': do backward transformations for both permutation and
*> scaling. *> scaling.
*> JOB must be the same as the argument JOB supplied to CGEBAL. *> JOB must be the same as the argument JOB supplied to CGEBAL.
*> \endverbatim *> \endverbatim

View File

@ -157,7 +157,7 @@
*> < 0: if INFO = -i, the i-th argument had an illegal value. *> < 0: if INFO = -i, the i-th argument had an illegal value.
*> > 0: if INFO = i, the QR algorithm failed to compute all the *> > 0: if INFO = i, the QR algorithm failed to compute all the
*> eigenvalues, and no eigenvectors have been computed; *> eigenvalues, and no eigenvectors have been computed;
*> elements and i+1:N of W contain eigenvalues which have *> elements i+1:N of W contain eigenvalues which have
*> converged. *> converged.
*> \endverbatim *> \endverbatim
* *

View File

@ -80,13 +80,13 @@
*> desirable, then this option is advisable. The input matrix A *> desirable, then this option is advisable. The input matrix A
*> is preprocessed with QR factorization with FULL (row and *> is preprocessed with QR factorization with FULL (row and
*> column) pivoting. *> column) pivoting.
*> = 'G' Computation as with 'F' with an additional estimate of the *> = 'G': Computation as with 'F' with an additional estimate of the
*> condition number of B, where A=B*D. If A has heavily weighted *> condition number of B, where A=B*D. If A has heavily weighted
*> rows, then using this condition number gives too pessimistic *> rows, then using this condition number gives too pessimistic
*> error bound. *> error bound.
*> = 'A': Small singular values are not well determined by the data *> = 'A': Small singular values are not well determined by the data
*> and are considered as noisy; the matrix is treated as *> and are considered as noisy; the matrix is treated as
*> numerically rank defficient. The error in the computed *> numerically rank deficient. The error in the computed
*> singular values is bounded by f(m,n)*epsilon*||A||. *> singular values is bounded by f(m,n)*epsilon*||A||.
*> The computed SVD A = U * S * V^* restores A up to *> The computed SVD A = U * S * V^* restores A up to
*> f(m,n)*epsilon*||A||. *> f(m,n)*epsilon*||A||.
@ -117,7 +117,7 @@
*> = 'V': N columns of V are returned in the array V; Jacobi rotations *> = 'V': N columns of V are returned in the array V; Jacobi rotations
*> are not explicitly accumulated. *> are not explicitly accumulated.
*> = 'J': N columns of V are returned in the array V, but they are *> = 'J': N columns of V are returned in the array V, but they are
*> computed as the product of Jacobi rotations, if JOBT .EQ. 'N'. *> computed as the product of Jacobi rotations, if JOBT = 'N'.
*> = 'W': V may be used as workspace of length N*N. See the description *> = 'W': V may be used as workspace of length N*N. See the description
*> of V. *> of V.
*> = 'N': V is not computed. *> = 'N': V is not computed.
@ -131,7 +131,7 @@
*> specified range. If A .NE. 0 is scaled so that the largest singular *> specified range. If A .NE. 0 is scaled so that the largest singular
*> value of c*A is around SQRT(BIG), BIG=SLAMCH('O'), then JOBR issues *> value of c*A is around SQRT(BIG), BIG=SLAMCH('O'), then JOBR issues
*> the licence to kill columns of A whose norm in c*A is less than *> the licence to kill columns of A whose norm in c*A is less than
*> SQRT(SFMIN) (for JOBR.EQ.'R'), or less than SMALL=SFMIN/EPSLN, *> SQRT(SFMIN) (for JOBR = 'R'), or less than SMALL=SFMIN/EPSLN,
*> where SFMIN=SLAMCH('S'), EPSLN=SLAMCH('E'). *> where SFMIN=SLAMCH('S'), EPSLN=SLAMCH('E').
*> = 'N': Do not kill small columns of c*A. This option assumes that *> = 'N': Do not kill small columns of c*A. This option assumes that
*> BLAS and QR factorizations and triangular solvers are *> BLAS and QR factorizations and triangular solvers are
@ -229,7 +229,7 @@
*> If JOBU = 'F', then U contains on exit the M-by-M matrix of *> If JOBU = 'F', then U contains on exit the M-by-M matrix of
*> the left singular vectors, including an ONB *> the left singular vectors, including an ONB
*> of the orthogonal complement of the Range(A). *> of the orthogonal complement of the Range(A).
*> If JOBU = 'W' .AND. (JOBV.EQ.'V' .AND. JOBT.EQ.'T' .AND. M.EQ.N), *> If JOBU = 'W' .AND. (JOBV = 'V' .AND. JOBT = 'T' .AND. M = N),
*> then U is used as workspace if the procedure *> then U is used as workspace if the procedure
*> replaces A with A^*. In that case, [V] is computed *> replaces A with A^*. In that case, [V] is computed
*> in U as left singular vectors of A^* and then *> in U as left singular vectors of A^* and then
@ -251,7 +251,7 @@
*> V is COMPLEX array, dimension ( LDV, N ) *> V is COMPLEX array, dimension ( LDV, N )
*> If JOBV = 'V', 'J' then V contains on exit the N-by-N matrix of *> If JOBV = 'V', 'J' then V contains on exit the N-by-N matrix of
*> the right singular vectors; *> the right singular vectors;
*> If JOBV = 'W', AND (JOBU.EQ.'U' AND JOBT.EQ.'T' AND M.EQ.N), *> If JOBV = 'W', AND (JOBU = 'U' AND JOBT = 'T' AND M = N),
*> then V is used as workspace if the pprocedure *> then V is used as workspace if the pprocedure
*> replaces A with A^*. In that case, [U] is computed *> replaces A with A^*. In that case, [U] is computed
*> in V as right singular vectors of A^* and then *> in V as right singular vectors of A^* and then
@ -282,7 +282,7 @@
*> Length of CWORK to confirm proper allocation of workspace. *> Length of CWORK to confirm proper allocation of workspace.
*> LWORK depends on the job: *> LWORK depends on the job:
*> *>
*> 1. If only SIGMA is needed ( JOBU.EQ.'N', JOBV.EQ.'N' ) and *> 1. If only SIGMA is needed ( JOBU = 'N', JOBV = 'N' ) and
*> 1.1 .. no scaled condition estimate required (JOBA.NE.'E'.AND.JOBA.NE.'G'): *> 1.1 .. no scaled condition estimate required (JOBA.NE.'E'.AND.JOBA.NE.'G'):
*> LWORK >= 2*N+1. This is the minimal requirement. *> LWORK >= 2*N+1. This is the minimal requirement.
*> ->> For optimal performance (blocked code) the optimal value *> ->> For optimal performance (blocked code) the optimal value
@ -298,9 +298,9 @@
*> In general, the optimal length LWORK is computed as *> In general, the optimal length LWORK is computed as
*> LWORK >= max(N+LWORK(CGEQP3),N+LWORK(CGEQRF), LWORK(CGESVJ), *> LWORK >= max(N+LWORK(CGEQP3),N+LWORK(CGEQRF), LWORK(CGESVJ),
*> N*N+LWORK(CPOCON)). *> N*N+LWORK(CPOCON)).
*> 2. If SIGMA and the right singular vectors are needed (JOBV.EQ.'V'), *> 2. If SIGMA and the right singular vectors are needed (JOBV = 'V'),
*> (JOBU.EQ.'N') *> (JOBU = 'N')
*> 2.1 .. no scaled condition estimate requested (JOBE.EQ.'N'): *> 2.1 .. no scaled condition estimate requested (JOBE = 'N'):
*> -> the minimal requirement is LWORK >= 3*N. *> -> the minimal requirement is LWORK >= 3*N.
*> -> For optimal performance, *> -> For optimal performance,
*> LWORK >= max(N+(N+1)*NB, 2*N+N*NB)=2*N+N*NB, *> LWORK >= max(N+(N+1)*NB, 2*N+N*NB)=2*N+N*NB,
@ -318,10 +318,10 @@
*> LWORK >= max(N+LWORK(CGEQP3), LWORK(CPOCON), N+LWORK(CGESVJ), *> LWORK >= max(N+LWORK(CGEQP3), LWORK(CPOCON), N+LWORK(CGESVJ),
*> N+LWORK(CGELQF), 2*N+LWORK(CGEQRF), N+LWORK(CUNMLQ)). *> N+LWORK(CGELQF), 2*N+LWORK(CGEQRF), N+LWORK(CUNMLQ)).
*> 3. If SIGMA and the left singular vectors are needed *> 3. If SIGMA and the left singular vectors are needed
*> 3.1 .. no scaled condition estimate requested (JOBE.EQ.'N'): *> 3.1 .. no scaled condition estimate requested (JOBE = 'N'):
*> -> the minimal requirement is LWORK >= 3*N. *> -> the minimal requirement is LWORK >= 3*N.
*> -> For optimal performance: *> -> For optimal performance:
*> if JOBU.EQ.'U' :: LWORK >= max(3*N, N+(N+1)*NB, 2*N+N*NB)=2*N+N*NB, *> if JOBU = 'U' :: LWORK >= max(3*N, N+(N+1)*NB, 2*N+N*NB)=2*N+N*NB,
*> where NB is the optimal block size for CGEQP3, CGEQRF, CUNMQR. *> where NB is the optimal block size for CGEQP3, CGEQRF, CUNMQR.
*> In general, the optimal length LWORK is computed as *> In general, the optimal length LWORK is computed as
*> LWORK >= max(N+LWORK(CGEQP3), 2*N+LWORK(CGEQRF), N+LWORK(CUNMQR)). *> LWORK >= max(N+LWORK(CGEQP3), 2*N+LWORK(CGEQRF), N+LWORK(CUNMQR)).
@ -329,16 +329,16 @@
*> required (JOBA='E', or 'G'). *> required (JOBA='E', or 'G').
*> -> the minimal requirement is LWORK >= 3*N. *> -> the minimal requirement is LWORK >= 3*N.
*> -> For optimal performance: *> -> For optimal performance:
*> if JOBU.EQ.'U' :: LWORK >= max(3*N, N+(N+1)*NB, 2*N+N*NB)=2*N+N*NB, *> if JOBU = 'U' :: LWORK >= max(3*N, N+(N+1)*NB, 2*N+N*NB)=2*N+N*NB,
*> where NB is the optimal block size for CGEQP3, CGEQRF, CUNMQR. *> where NB is the optimal block size for CGEQP3, CGEQRF, CUNMQR.
*> In general, the optimal length LWORK is computed as *> In general, the optimal length LWORK is computed as
*> LWORK >= max(N+LWORK(CGEQP3),N+LWORK(CPOCON), *> LWORK >= max(N+LWORK(CGEQP3),N+LWORK(CPOCON),
*> 2*N+LWORK(CGEQRF), N+LWORK(CUNMQR)). *> 2*N+LWORK(CGEQRF), N+LWORK(CUNMQR)).
*> *>
*> 4. If the full SVD is needed: (JOBU.EQ.'U' or JOBU.EQ.'F') and *> 4. If the full SVD is needed: (JOBU = 'U' or JOBU = 'F') and
*> 4.1. if JOBV.EQ.'V' *> 4.1. if JOBV = 'V'
*> the minimal requirement is LWORK >= 5*N+2*N*N. *> the minimal requirement is LWORK >= 5*N+2*N*N.
*> 4.2. if JOBV.EQ.'J' the minimal requirement is *> 4.2. if JOBV = 'J' the minimal requirement is
*> LWORK >= 4*N+N*N. *> LWORK >= 4*N+N*N.
*> In both cases, the allocated CWORK can accommodate blocked runs *> In both cases, the allocated CWORK can accommodate blocked runs
*> of CGEQP3, CGEQRF, CGELQF, CUNMQR, CUNMLQ. *> of CGEQP3, CGEQRF, CGELQF, CUNMQR, CUNMLQ.
@ -357,7 +357,7 @@
*> of A. (See the description of SVA().) *> of A. (See the description of SVA().)
*> RWORK(2) = See the description of RWORK(1). *> RWORK(2) = See the description of RWORK(1).
*> RWORK(3) = SCONDA is an estimate for the condition number of *> RWORK(3) = SCONDA is an estimate for the condition number of
*> column equilibrated A. (If JOBA .EQ. 'E' or 'G') *> column equilibrated A. (If JOBA = 'E' or 'G')
*> SCONDA is an estimate of SQRT(||(R^* * R)^(-1)||_1). *> SCONDA is an estimate of SQRT(||(R^* * R)^(-1)||_1).
*> It is computed using SPOCON. It holds *> It is computed using SPOCON. It holds
*> N^(-1/4) * SCONDA <= ||R^(-1)||_2 <= N^(1/4) * SCONDA *> N^(-1/4) * SCONDA <= ||R^(-1)||_2 <= N^(1/4) * SCONDA
@ -376,7 +376,7 @@
*> triangular factor in the first QR factorization. *> triangular factor in the first QR factorization.
*> RWORK(5) = an estimate of the scaled condition number of the *> RWORK(5) = an estimate of the scaled condition number of the
*> triangular factor in the second QR factorization. *> triangular factor in the second QR factorization.
*> The following two parameters are computed if JOBT .EQ. 'T'. *> The following two parameters are computed if JOBT = 'T'.
*> They are provided for a developer/implementer who is familiar *> They are provided for a developer/implementer who is familiar
*> with the details of the method. *> with the details of the method.
*> RWORK(6) = the entropy of A^* * A :: this is the Shannon entropy *> RWORK(6) = the entropy of A^* * A :: this is the Shannon entropy
@ -457,13 +457,13 @@
*> of JOBA and JOBR. *> of JOBA and JOBR.
*> IWORK(2) = the number of the computed nonzero singular values *> IWORK(2) = the number of the computed nonzero singular values
*> IWORK(3) = if nonzero, a warning message: *> IWORK(3) = if nonzero, a warning message:
*> If IWORK(3).EQ.1 then some of the column norms of A *> If IWORK(3) = 1 then some of the column norms of A
*> were denormalized floats. The requested high accuracy *> were denormalized floats. The requested high accuracy
*> is not warranted by the data. *> is not warranted by the data.
*> IWORK(4) = 1 or -1. If IWORK(4) .EQ. 1, then the procedure used A^* to *> IWORK(4) = 1 or -1. If IWORK(4) = 1, then the procedure used A^* to
*> do the job as specified by the JOB parameters. *> do the job as specified by the JOB parameters.
*> If the call to CGEJSV is a workspace query (indicated by LWORK .EQ. -1 and *> If the call to CGEJSV is a workspace query (indicated by LWORK = -1 and
*> LRWORK .EQ. -1), then on exit IWORK(1) contains the required length of *> LRWORK = -1), then on exit IWORK(1) contains the required length of
*> IWORK for the job parameters used in the call. *> IWORK for the job parameters used in the call.
*> \endverbatim *> \endverbatim
*> *>
@ -1336,7 +1336,7 @@
IF ( L2ABER ) THEN IF ( L2ABER ) THEN
* Standard absolute error bound suffices. All sigma_i with * Standard absolute error bound suffices. All sigma_i with
* sigma_i < N*EPSLN*||A|| are flushed to zero. This is an * sigma_i < N*EPSLN*||A|| are flushed to zero. This is an
* agressive enforcement of lower numerical rank by introducing a * aggressive enforcement of lower numerical rank by introducing a
* backward error of the order of N*EPSLN*||A||. * backward error of the order of N*EPSLN*||A||.
TEMP1 = SQRT(REAL(N))*EPSLN TEMP1 = SQRT(REAL(N))*EPSLN
DO 3001 p = 2, N DO 3001 p = 2, N
@ -1348,9 +1348,9 @@
3001 CONTINUE 3001 CONTINUE
3002 CONTINUE 3002 CONTINUE
ELSE IF ( L2RANK ) THEN ELSE IF ( L2RANK ) THEN
* .. similarly as above, only slightly more gentle (less agressive). * .. similarly as above, only slightly more gentle (less aggressive).
* Sudden drop on the diagonal of R1 is used as the criterion for * Sudden drop on the diagonal of R1 is used as the criterion for
* close-to-rank-defficient. * close-to-rank-deficient.
TEMP1 = SQRT(SFMIN) TEMP1 = SQRT(SFMIN)
DO 3401 p = 2, N DO 3401 p = 2, N
IF ( ( ABS(A(p,p)) .LT. (EPSLN*ABS(A(p-1,p-1))) ) .OR. IF ( ( ABS(A(p,p)) .LT. (EPSLN*ABS(A(p-1,p-1))) ) .OR.
@ -1718,7 +1718,7 @@
CALL CPOCON('L',NR,CWORK(2*N+1),NR,ONE,TEMP1, CALL CPOCON('L',NR,CWORK(2*N+1),NR,ONE,TEMP1,
$ CWORK(2*N+NR*NR+1),RWORK,IERR) $ CWORK(2*N+NR*NR+1),RWORK,IERR)
CONDR1 = ONE / SQRT(TEMP1) CONDR1 = ONE / SQRT(TEMP1)
* .. here need a second oppinion on the condition number * .. here need a second opinion on the condition number
* .. then assume worst case scenario * .. then assume worst case scenario
* R1 is OK for inverse <=> CONDR1 .LT. REAL(N) * R1 is OK for inverse <=> CONDR1 .LT. REAL(N)
* more conservative <=> CONDR1 .LT. SQRT(REAL(N)) * more conservative <=> CONDR1 .LT. SQRT(REAL(N))
@ -1763,7 +1763,7 @@
ELSE ELSE
* *
* .. ill-conditioned case: second QRF with pivoting * .. ill-conditioned case: second QRF with pivoting
* Note that windowed pivoting would be equaly good * Note that windowed pivoting would be equally good
* numerically, and more run-time efficient. So, in * numerically, and more run-time efficient. So, in
* an optimal implementation, the next call to CGEQP3 * an optimal implementation, the next call to CGEQP3
* should be replaced with eg. CALL CGEQPX (ACM TOMS #782) * should be replaced with eg. CALL CGEQPX (ACM TOMS #782)
@ -1821,7 +1821,7 @@
* *
IF ( CONDR2 .GE. COND_OK ) THEN IF ( CONDR2 .GE. COND_OK ) THEN
* .. save the Householder vectors used for Q3 * .. save the Householder vectors used for Q3
* (this overwrittes the copy of R2, as it will not be * (this overwrites the copy of R2, as it will not be
* needed in this branch, but it does not overwritte the * needed in this branch, but it does not overwritte the
* Huseholder vectors of Q2.). * Huseholder vectors of Q2.).
CALL CLACPY( 'U', NR, NR, V, LDV, CWORK(2*N+1), N ) CALL CLACPY( 'U', NR, NR, V, LDV, CWORK(2*N+1), N )
@ -2077,7 +2077,7 @@
* *
* This branch deploys a preconditioned Jacobi SVD with explicitly * This branch deploys a preconditioned Jacobi SVD with explicitly
* accumulated rotations. It is included as optional, mainly for * accumulated rotations. It is included as optional, mainly for
* experimental purposes. It does perfom well, and can also be used. * experimental purposes. It does perform well, and can also be used.
* In this implementation, this branch will be automatically activated * In this implementation, this branch will be automatically activated
* if the condition number sigma_max(A) / sigma_min(A) is predicted * if the condition number sigma_max(A) / sigma_min(A) is predicted
* to be greater than the overflow threshold. This is because the * to be greater than the overflow threshold. This is because the

View File

@ -1,3 +1,4 @@
*> \brief \b CGELQ
* *
* Definition: * Definition:
* =========== * ===========
@ -17,7 +18,17 @@
* ============= * =============
*> *>
*> \verbatim *> \verbatim
*> CGELQ computes a LQ factorization of an M-by-N matrix A. *>
*> CGELQ computes an LQ factorization of a complex M-by-N matrix A:
*>
*> A = ( L 0 ) * Q
*>
*> where:
*>
*> Q is a N-by-N orthogonal matrix;
*> L is an lower-triangular M-by-M matrix;
*> 0 is a M-by-(N-M) zero matrix, if M < N.
*>
*> \endverbatim *> \endverbatim
* *
* Arguments: * Arguments:
@ -138,7 +149,7 @@
*> \verbatim *> \verbatim
*> *>
*> These details are particular for this LAPACK implementation. Users should not *> These details are particular for this LAPACK implementation. Users should not
*> take them for granted. These details may change in the future, and are unlikely not *> take them for granted. These details may change in the future, and are not likely
*> true for another LAPACK implementation. These details are relevant if one wants *> true for another LAPACK implementation. These details are relevant if one wants
*> to try to understand the code. They are not part of the interface. *> to try to understand the code. They are not part of the interface.
*> *>
@ -159,10 +170,10 @@
SUBROUTINE CGELQ( M, N, A, LDA, T, TSIZE, WORK, LWORK, SUBROUTINE CGELQ( M, N, A, LDA, T, TSIZE, WORK, LWORK,
$ INFO ) $ INFO )
* *
* -- LAPACK computational routine (version 3.7.0) -- * -- LAPACK computational routine (version 3.9.0) --
* -- LAPACK is a software package provided by Univ. of Tennessee, -- * -- LAPACK is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd. -- * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd. --
* December 2016 * November 2019
* *
* .. Scalar Arguments .. * .. Scalar Arguments ..
INTEGER INFO, LDA, M, N, TSIZE, LWORK INTEGER INFO, LDA, M, N, TSIZE, LWORK

View File

@ -33,8 +33,16 @@
*> *>
*> \verbatim *> \verbatim
*> *>
*> CGELQ2 computes an LQ factorization of a complex m by n matrix A: *> CGELQ2 computes an LQ factorization of a complex m-by-n matrix A:
*> A = L * Q. *>
*> A = ( L 0 ) * Q
*>
*> where:
*>
*> Q is a n-by-n orthogonal matrix;
*> L is an lower-triangular m-by-m matrix;
*> 0 is a m-by-(n-m) zero matrix, if m < n.
*>
*> \endverbatim *> \endverbatim
* *
* Arguments: * Arguments:
@ -96,7 +104,7 @@
*> \author Univ. of Colorado Denver *> \author Univ. of Colorado Denver
*> \author NAG Ltd. *> \author NAG Ltd.
* *
*> \date December 2016 *> \date November 2019
* *
*> \ingroup complexGEcomputational *> \ingroup complexGEcomputational
* *
@ -121,10 +129,10 @@
* ===================================================================== * =====================================================================
SUBROUTINE CGELQ2( M, N, A, LDA, TAU, WORK, INFO ) SUBROUTINE CGELQ2( M, N, A, LDA, TAU, WORK, INFO )
* *
* -- LAPACK computational routine (version 3.7.0) -- * -- LAPACK computational routine (version 3.9.0) --
* -- LAPACK is a software package provided by Univ. of Tennessee, -- * -- LAPACK is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* December 2016 * November 2019
* *
* .. Scalar Arguments .. * .. Scalar Arguments ..
INTEGER INFO, LDA, M, N INTEGER INFO, LDA, M, N

View File

@ -34,7 +34,15 @@
*> \verbatim *> \verbatim
*> *>
*> CGELQF computes an LQ factorization of a complex M-by-N matrix A: *> CGELQF computes an LQ factorization of a complex M-by-N matrix A:
*> A = L * Q. *>
*> A = ( L 0 ) * Q
*>
*> where:
*>
*> Q is a N-by-N orthogonal matrix;
*> L is an lower-triangular M-by-M matrix;
*> 0 is a M-by-(N-M) zero matrix, if M < N.
*>
*> \endverbatim *> \endverbatim
* *
* Arguments: * Arguments:
@ -110,7 +118,7 @@
*> \author Univ. of Colorado Denver *> \author Univ. of Colorado Denver
*> \author NAG Ltd. *> \author NAG Ltd.
* *
*> \date December 2016 *> \date November 2019
* *
*> \ingroup complexGEcomputational *> \ingroup complexGEcomputational
* *
@ -135,10 +143,10 @@
* ===================================================================== * =====================================================================
SUBROUTINE CGELQF( M, N, A, LDA, TAU, WORK, LWORK, INFO ) SUBROUTINE CGELQF( M, N, A, LDA, TAU, WORK, LWORK, INFO )
* *
* -- LAPACK computational routine (version 3.7.0) -- * -- LAPACK computational routine (version 3.9.0) --
* -- LAPACK is a software package provided by Univ. of Tennessee, -- * -- LAPACK is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* December 2016 * November 2019
* *
* .. Scalar Arguments .. * .. Scalar Arguments ..
INTEGER INFO, LDA, LWORK, M, N INTEGER INFO, LDA, LWORK, M, N

View File

@ -1,3 +1,4 @@
*> \brief \b CGELQT
* *
* Definition: * Definition:
* =========== * ===========

View File

@ -1,3 +1,5 @@
*> \brief \b CGELQT3
*
* Definition: * Definition:
* =========== * ===========
* *

View File

@ -1,3 +1,4 @@
*> \brief \b CGEMLQ
* *
* Definition: * Definition:
* =========== * ===========
@ -143,7 +144,7 @@
*> \verbatim *> \verbatim
*> *>
*> These details are particular for this LAPACK implementation. Users should not *> These details are particular for this LAPACK implementation. Users should not
*> take them for granted. These details may change in the future, and are unlikely not *> take them for granted. These details may change in the future, and are not likely
*> true for another LAPACK implementation. These details are relevant if one wants *> true for another LAPACK implementation. These details are relevant if one wants
*> to try to understand the code. They are not part of the interface. *> to try to understand the code. They are not part of the interface.
*> *>

View File

@ -1,3 +1,5 @@
*> \brief \b CGEMLQT
*
* Definition: * Definition:
* =========== * ===========
* *

View File

@ -1,3 +1,4 @@
*> \brief \b CGEMQR
* *
* Definition: * Definition:
* =========== * ===========
@ -144,7 +145,7 @@
*> \verbatim *> \verbatim
*> *>
*> These details are particular for this LAPACK implementation. Users should not *> These details are particular for this LAPACK implementation. Users should not
*> take them for granted. These details may change in the future, and are unlikely not *> take them for granted. These details may change in the future, and are not likely
*> true for another LAPACK implementation. These details are relevant if one wants *> true for another LAPACK implementation. These details are relevant if one wants
*> to try to understand the code. They are not part of the interface. *> to try to understand the code. They are not part of the interface.
*> *>

View File

@ -1,3 +1,4 @@
*> \brief \b CGEQR
* *
* Definition: * Definition:
* =========== * ===========
@ -17,7 +18,18 @@
* ============= * =============
*> *>
*> \verbatim *> \verbatim
*> CGEQR computes a QR factorization of an M-by-N matrix A. *>
*> CGEQR computes a QR factorization of a complex M-by-N matrix A:
*>
*> A = Q * ( R ),
*> ( 0 )
*>
*> where:
*>
*> Q is a M-by-M orthogonal matrix;
*> R is an upper-triangular N-by-N matrix;
*> 0 is a (M-N)-by-N zero matrix, if M > N.
*>
*> \endverbatim *> \endverbatim
* *
* Arguments: * Arguments:
@ -138,7 +150,7 @@
*> \verbatim *> \verbatim
*> *>
*> These details are particular for this LAPACK implementation. Users should not *> These details are particular for this LAPACK implementation. Users should not
*> take them for granted. These details may change in the future, and are unlikely not *> take them for granted. These details may change in the future, and are not likely
*> true for another LAPACK implementation. These details are relevant if one wants *> true for another LAPACK implementation. These details are relevant if one wants
*> to try to understand the code. They are not part of the interface. *> to try to understand the code. They are not part of the interface.
*> *>
@ -160,10 +172,10 @@
SUBROUTINE CGEQR( M, N, A, LDA, T, TSIZE, WORK, LWORK, SUBROUTINE CGEQR( M, N, A, LDA, T, TSIZE, WORK, LWORK,
$ INFO ) $ INFO )
* *
* -- LAPACK computational routine (version 3.7.0) -- * -- LAPACK computational routine (version 3.9.0) --
* -- LAPACK is a software package provided by Univ. of Tennessee, -- * -- LAPACK is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd. -- * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd. --
* December 2016 * November 2019
* *
* .. Scalar Arguments .. * .. Scalar Arguments ..
INTEGER INFO, LDA, M, N, TSIZE, LWORK INTEGER INFO, LDA, M, N, TSIZE, LWORK

View File

@ -33,8 +33,17 @@
*> *>
*> \verbatim *> \verbatim
*> *>
*> CGEQR2 computes a QR factorization of a complex m by n matrix A: *> CGEQR2 computes a QR factorization of a complex m-by-n matrix A:
*> A = Q * R. *>
*> A = Q * ( R ),
*> ( 0 )
*>
*> where:
*>
*> Q is a m-by-m orthogonal matrix;
*> R is an upper-triangular n-by-n matrix;
*> 0 is a (m-n)-by-n zero matrix, if m > n.
*>
*> \endverbatim *> \endverbatim
* *
* Arguments: * Arguments:
@ -96,7 +105,7 @@
*> \author Univ. of Colorado Denver *> \author Univ. of Colorado Denver
*> \author NAG Ltd. *> \author NAG Ltd.
* *
*> \date December 2016 *> \date November 2019
* *
*> \ingroup complexGEcomputational *> \ingroup complexGEcomputational
* *
@ -121,10 +130,10 @@
* ===================================================================== * =====================================================================
SUBROUTINE CGEQR2( M, N, A, LDA, TAU, WORK, INFO ) SUBROUTINE CGEQR2( M, N, A, LDA, TAU, WORK, INFO )
* *
* -- LAPACK computational routine (version 3.7.0) -- * -- LAPACK computational routine (version 3.9.0) --
* -- LAPACK is a software package provided by Univ. of Tennessee, -- * -- LAPACK is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* December 2016 * November 2019
* *
* .. Scalar Arguments .. * .. Scalar Arguments ..
INTEGER INFO, LDA, M, N INTEGER INFO, LDA, M, N

View File

@ -33,8 +33,18 @@
*> *>
*> \verbatim *> \verbatim
*> *>
*> CGEQR2P computes a QR factorization of a complex m by n matrix A: *> CGEQR2P computes a QR factorization of a complex m-by-n matrix A:
*> A = Q * R. The diagonal entries of R are real and nonnegative. *>
*> A = Q * ( R ),
*> ( 0 )
*>
*> where:
*>
*> Q is a m-by-m orthogonal matrix;
*> R is an upper-triangular n-by-n matrix with nonnegative diagonal
*> entries;
*> 0 is a (m-n)-by-n zero matrix, if m > n.
*>
*> \endverbatim *> \endverbatim
* *
* Arguments: * Arguments:
@ -97,7 +107,7 @@
*> \author Univ. of Colorado Denver *> \author Univ. of Colorado Denver
*> \author NAG Ltd. *> \author NAG Ltd.
* *
*> \date December 2016 *> \date November 2019
* *
*> \ingroup complexGEcomputational *> \ingroup complexGEcomputational
* *
@ -124,10 +134,10 @@
* ===================================================================== * =====================================================================
SUBROUTINE CGEQR2P( M, N, A, LDA, TAU, WORK, INFO ) SUBROUTINE CGEQR2P( M, N, A, LDA, TAU, WORK, INFO )
* *
* -- LAPACK computational routine (version 3.7.0) -- * -- LAPACK computational routine (version 3.9.0) --
* -- LAPACK is a software package provided by Univ. of Tennessee, -- * -- LAPACK is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* December 2016 * November 2019
* *
* .. Scalar Arguments .. * .. Scalar Arguments ..
INTEGER INFO, LDA, M, N INTEGER INFO, LDA, M, N

View File

@ -34,7 +34,16 @@
*> \verbatim *> \verbatim
*> *>
*> CGEQRF computes a QR factorization of a complex M-by-N matrix A: *> CGEQRF computes a QR factorization of a complex M-by-N matrix A:
*> A = Q * R. *>
*> A = Q * ( R ),
*> ( 0 )
*>
*> where:
*>
*> Q is a M-by-M orthogonal matrix;
*> R is an upper-triangular N-by-N matrix;
*> 0 is a (M-N)-by-N zero matrix, if M > N.
*>
*> \endverbatim *> \endverbatim
* *
* Arguments: * Arguments:
@ -111,7 +120,7 @@
*> \author Univ. of Colorado Denver *> \author Univ. of Colorado Denver
*> \author NAG Ltd. *> \author NAG Ltd.
* *
*> \date December 2016 *> \date November 2019
* *
*> \ingroup complexGEcomputational *> \ingroup complexGEcomputational
* *
@ -136,10 +145,10 @@
* ===================================================================== * =====================================================================
SUBROUTINE CGEQRF( M, N, A, LDA, TAU, WORK, LWORK, INFO ) SUBROUTINE CGEQRF( M, N, A, LDA, TAU, WORK, LWORK, INFO )
* *
* -- LAPACK computational routine (version 3.7.0) -- * -- LAPACK computational routine (version 3.9.0) --
* -- LAPACK is a software package provided by Univ. of Tennessee, -- * -- LAPACK is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* December 2016 * November 2019
* *
* .. Scalar Arguments .. * .. Scalar Arguments ..
INTEGER INFO, LDA, LWORK, M, N INTEGER INFO, LDA, LWORK, M, N

View File

@ -33,8 +33,18 @@
*> *>
*> \verbatim *> \verbatim
*> *>
*> CGEQRFP computes a QR factorization of a complex M-by-N matrix A: *> CGEQR2P computes a QR factorization of a complex M-by-N matrix A:
*> A = Q * R. The diagonal entries of R are real and nonnegative. *>
*> A = Q * ( R ),
*> ( 0 )
*>
*> where:
*>
*> Q is a M-by-M orthogonal matrix;
*> R is an upper-triangular N-by-N matrix with nonnegative diagonal
*> entries;
*> 0 is a (M-N)-by-N zero matrix, if M > N.
*>
*> \endverbatim *> \endverbatim
* *
* Arguments: * Arguments:
@ -112,7 +122,7 @@
*> \author Univ. of Colorado Denver *> \author Univ. of Colorado Denver
*> \author NAG Ltd. *> \author NAG Ltd.
* *
*> \date December 2016 *> \date November 2019
* *
*> \ingroup complexGEcomputational *> \ingroup complexGEcomputational
* *
@ -139,10 +149,10 @@
* ===================================================================== * =====================================================================
SUBROUTINE CGEQRFP( M, N, A, LDA, TAU, WORK, LWORK, INFO ) SUBROUTINE CGEQRFP( M, N, A, LDA, TAU, WORK, LWORK, INFO )
* *
* -- LAPACK computational routine (version 3.7.0) -- * -- LAPACK computational routine (version 3.9.0) --
* -- LAPACK is a software package provided by Univ. of Tennessee, -- * -- LAPACK is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
* December 2016 * November 2019
* *
* .. Scalar Arguments .. * .. Scalar Arguments ..
INTEGER INFO, LDA, LWORK, M, N INTEGER INFO, LDA, LWORK, M, N

View File

@ -74,7 +74,7 @@
*> Specifies the form of the system of equations: *> Specifies the form of the system of equations:
*> = 'N': A * X = B (No transpose) *> = 'N': A * X = B (No transpose)
*> = 'T': A**T * X = B (Transpose) *> = 'T': A**T * X = B (Transpose)
*> = 'C': A**H * X = B (Conjugate transpose = Transpose) *> = 'C': A**H * X = B (Conjugate transpose)
*> \endverbatim *> \endverbatim
*> *>
*> \param[in] EQUED *> \param[in] EQUED
@ -283,7 +283,7 @@
*> information as described below. There currently are up to three *> information as described below. There currently are up to three
*> pieces of information returned for each right-hand side. If *> pieces of information returned for each right-hand side. If
*> componentwise accuracy is not requested (PARAMS(3) = 0.0), then *> componentwise accuracy is not requested (PARAMS(3) = 0.0), then
*> ERR_BNDS_COMP is not accessed. If N_ERR_BNDS .LT. 3, then at most *> ERR_BNDS_COMP is not accessed. If N_ERR_BNDS < 3, then at most
*> the first (:,N_ERR_BNDS) entries are returned. *> the first (:,N_ERR_BNDS) entries are returned.
*> *>
*> The first index in ERR_BNDS_COMP(i,:) corresponds to the ith *> The first index in ERR_BNDS_COMP(i,:) corresponds to the ith
@ -319,14 +319,14 @@
*> \param[in] NPARAMS *> \param[in] NPARAMS
*> \verbatim *> \verbatim
*> NPARAMS is INTEGER *> NPARAMS is INTEGER
*> Specifies the number of parameters set in PARAMS. If .LE. 0, the *> Specifies the number of parameters set in PARAMS. If <= 0, the
*> PARAMS array is never referenced and default values are used. *> PARAMS array is never referenced and default values are used.
*> \endverbatim *> \endverbatim
*> *>
*> \param[in,out] PARAMS *> \param[in,out] PARAMS
*> \verbatim *> \verbatim
*> PARAMS is REAL array, dimension NPARAMS *> PARAMS is REAL array, dimension NPARAMS
*> Specifies algorithm parameters. If an entry is .LT. 0.0, then *> Specifies algorithm parameters. If an entry is < 0.0, then
*> that entry will be filled with default value used for that *> that entry will be filled with default value used for that
*> parameter. Only positions up to NPARAMS are accessed; defaults *> parameter. Only positions up to NPARAMS are accessed; defaults
*> are used for higher-numbered parameters. *> are used for higher-numbered parameters.

View File

@ -91,7 +91,7 @@
*> \verbatim *> \verbatim
*> SCALE is REAL *> SCALE is REAL
*> On exit, SCALE contains the scale factor. SCALE is chosen *> On exit, SCALE contains the scale factor. SCALE is chosen
*> 0 <= SCALE <= 1 to prevent owerflow in the solution. *> 0 <= SCALE <= 1 to prevent overflow in the solution.
*> \endverbatim *> \endverbatim
* *
* Authors: * Authors:

1391
lapack-netlib/SRC/cgesvdq.f Normal file

File diff suppressed because it is too large Load Diff