Fix signatures of external functions in the f2c-generated C sources
This commit is contained in:
parent
3eac96ccdc
commit
48f4151373
|
@ -740,7 +740,7 @@ rices</b> */
|
|||
/* > \ingroup complexGEeigen */
|
||||
|
||||
/* ===================================================================== */
|
||||
/* Subroutine */ int cgegs_(char *jobvsl, char *jobvsr, integer *n, complex *
|
||||
/* Subroutine */ void cgegs_(char *jobvsl, char *jobvsr, integer *n, complex *
|
||||
a, integer *lda, complex *b, integer *ldb, complex *alpha, complex *
|
||||
beta, complex *vsl, integer *ldvsl, complex *vsr, integer *ldvsr,
|
||||
complex *work, integer *lwork, real *rwork, integer *info)
|
||||
|
@ -758,7 +758,7 @@ rices</b> */
|
|||
integer iwork;
|
||||
logical ilvsr;
|
||||
integer irows;
|
||||
extern /* Subroutine */ int cggbak_(char *, char *, integer *, integer *,
|
||||
extern /* Subroutine */ void cggbak_(char *, char *, integer *, integer *,
|
||||
integer *, real *, real *, integer *, complex *, integer *,
|
||||
integer *), cggbal_(char *, integer *, complex *,
|
||||
integer *, complex *, integer *, integer *, integer *, real *,
|
||||
|
@ -766,24 +766,24 @@ rices</b> */
|
|||
integer nb;
|
||||
extern real clange_(char *, integer *, integer *, complex *, integer *,
|
||||
real *);
|
||||
extern /* Subroutine */ int cgghrd_(char *, char *, integer *, integer *,
|
||||
extern /* Subroutine */ void cgghrd_(char *, char *, integer *, integer *,
|
||||
integer *, complex *, integer *, complex *, integer *, complex *,
|
||||
integer *, complex *, integer *, integer *),
|
||||
clascl_(char *, integer *, integer *, real *, real *, integer *,
|
||||
integer *, complex *, integer *, integer *);
|
||||
logical ilascl, ilbscl;
|
||||
extern /* Subroutine */ int cgeqrf_(integer *, integer *, complex *,
|
||||
extern /* Subroutine */ void cgeqrf_(integer *, integer *, complex *,
|
||||
integer *, complex *, complex *, integer *, integer *);
|
||||
extern real slamch_(char *);
|
||||
extern /* Subroutine */ int clacpy_(char *, integer *, integer *, complex
|
||||
extern /* Subroutine */ void clacpy_(char *, integer *, integer *, complex
|
||||
*, integer *, complex *, integer *), claset_(char *,
|
||||
integer *, integer *, complex *, complex *, complex *, integer *);
|
||||
real safmin;
|
||||
extern /* Subroutine */ int xerbla_(char *, integer *);
|
||||
extern /* Subroutine */ int xerbla_(char *, integer *, ftnlen);
|
||||
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
|
||||
integer *, integer *, ftnlen, ftnlen);
|
||||
real bignum;
|
||||
extern /* Subroutine */ int chgeqz_(char *, char *, char *, integer *,
|
||||
extern /* Subroutine */ void chgeqz_(char *, char *, char *, integer *,
|
||||
integer *, integer *, complex *, integer *, complex *, integer *,
|
||||
complex *, complex *, complex *, integer *, complex *, integer *,
|
||||
complex *, integer *, real *, integer *);
|
||||
|
@ -791,7 +791,7 @@ rices</b> */
|
|||
real anrmto;
|
||||
integer lwkmin, nb1, nb2, nb3;
|
||||
real bnrmto;
|
||||
extern /* Subroutine */ int cungqr_(integer *, integer *, integer *,
|
||||
extern /* Subroutine */ void cungqr_(integer *, integer *, integer *,
|
||||
complex *, integer *, complex *, complex *, integer *, integer *),
|
||||
cunmqr_(char *, char *, integer *, integer *, integer *, complex
|
||||
*, integer *, complex *, complex *, integer *, complex *, integer
|
||||
|
@ -898,16 +898,16 @@ rices</b> */
|
|||
|
||||
if (*info != 0) {
|
||||
i__1 = -(*info);
|
||||
xerbla_("CGEGS ", &i__1);
|
||||
return 0;
|
||||
xerbla_("CGEGS ", &i__1, 6);
|
||||
return;
|
||||
} else if (lquery) {
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
|
||||
/* Quick return if possible */
|
||||
|
||||
if (*n == 0) {
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
|
||||
/* Get machine constants */
|
||||
|
@ -934,7 +934,7 @@ rices</b> */
|
|||
iinfo);
|
||||
if (iinfo != 0) {
|
||||
*info = *n + 9;
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -955,7 +955,7 @@ rices</b> */
|
|||
iinfo);
|
||||
if (iinfo != 0) {
|
||||
*info = *n + 9;
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1092,13 +1092,13 @@ rices</b> */
|
|||
iinfo);
|
||||
if (iinfo != 0) {
|
||||
*info = *n + 9;
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
clascl_("G", &c_n1, &c_n1, &anrmto, &anrm, n, &c__1, &alpha[1], n, &
|
||||
iinfo);
|
||||
if (iinfo != 0) {
|
||||
*info = *n + 9;
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1107,20 +1107,20 @@ rices</b> */
|
|||
iinfo);
|
||||
if (iinfo != 0) {
|
||||
*info = *n + 9;
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
clascl_("G", &c_n1, &c_n1, &bnrmto, &bnrm, n, &c__1, &beta[1], n, &
|
||||
iinfo);
|
||||
if (iinfo != 0) {
|
||||
*info = *n + 9;
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
L10:
|
||||
work[1].r = (real) lwkopt, work[1].i = 0.f;
|
||||
|
||||
return 0;
|
||||
return;
|
||||
|
||||
/* End of CGEGS */
|
||||
|
||||
|
|
|
@ -799,7 +799,7 @@ rices</b> */
|
|||
/* > \endverbatim */
|
||||
/* > */
|
||||
/* ===================================================================== */
|
||||
/* Subroutine */ int cgegv_(char *jobvl, char *jobvr, integer *n, complex *a,
|
||||
/* Subroutine */ void cgegv_(char *jobvl, char *jobvr, integer *n, complex *a,
|
||||
integer *lda, complex *b, integer *ldb, complex *alpha, complex *beta,
|
||||
complex *vl, integer *ldvl, complex *vr, integer *ldvr, complex *
|
||||
work, integer *lwork, real *rwork, integer *info)
|
||||
|
@ -819,7 +819,7 @@ rices</b> */
|
|||
real anrm1, anrm2, bnrm1, bnrm2, absai, scale, absar, sbeta;
|
||||
extern logical lsame_(char *, char *);
|
||||
integer ileft, iinfo, icols, iwork, irows, jc;
|
||||
extern /* Subroutine */ int cggbak_(char *, char *, integer *, integer *,
|
||||
extern /* Subroutine */ void cggbak_(char *, char *, integer *, integer *,
|
||||
integer *, real *, real *, integer *, complex *, integer *,
|
||||
integer *), cggbal_(char *, integer *, complex *,
|
||||
integer *, complex *, integer *, integer *, integer *, real *,
|
||||
|
@ -828,40 +828,40 @@ rices</b> */
|
|||
extern real clange_(char *, integer *, integer *, complex *, integer *,
|
||||
real *);
|
||||
integer jr;
|
||||
extern /* Subroutine */ int cgghrd_(char *, char *, integer *, integer *,
|
||||
extern /* Subroutine */ void cgghrd_(char *, char *, integer *, integer *,
|
||||
integer *, complex *, integer *, complex *, integer *, complex *,
|
||||
integer *, complex *, integer *, integer *);
|
||||
real salfai;
|
||||
extern /* Subroutine */ int clascl_(char *, integer *, integer *, real *,
|
||||
extern /* Subroutine */ void clascl_(char *, integer *, integer *, real *,
|
||||
real *, integer *, integer *, complex *, integer *, integer *), cgeqrf_(integer *, integer *, complex *, integer *,
|
||||
complex *, complex *, integer *, integer *);
|
||||
real salfar;
|
||||
extern real slamch_(char *);
|
||||
extern /* Subroutine */ int clacpy_(char *, integer *, integer *, complex
|
||||
extern /* Subroutine */ void clacpy_(char *, integer *, integer *, complex
|
||||
*, integer *, complex *, integer *), claset_(char *,
|
||||
integer *, integer *, complex *, complex *, complex *, integer *);
|
||||
real safmin;
|
||||
extern /* Subroutine */ int ctgevc_(char *, char *, logical *, integer *,
|
||||
extern /* Subroutine */ void ctgevc_(char *, char *, logical *, integer *,
|
||||
complex *, integer *, complex *, integer *, complex *, integer *,
|
||||
complex *, integer *, integer *, integer *, complex *, real *,
|
||||
integer *);
|
||||
real safmax;
|
||||
char chtemp[1];
|
||||
logical ldumma[1];
|
||||
extern /* Subroutine */ int chgeqz_(char *, char *, char *, integer *,
|
||||
extern /* Subroutine */ void chgeqz_(char *, char *, char *, integer *,
|
||||
integer *, integer *, complex *, integer *, complex *, integer *,
|
||||
complex *, complex *, complex *, integer *, complex *, integer *,
|
||||
complex *, integer *, real *, integer *),
|
||||
xerbla_(char *, integer *);
|
||||
complex *, integer *, real *, integer *);
|
||||
extern int xerbla_(char *, integer *, ftnlen);
|
||||
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
|
||||
integer *, integer *, ftnlen, ftnlen);
|
||||
integer ijobvl, iright;
|
||||
logical ilimit;
|
||||
integer ijobvr;
|
||||
extern /* Subroutine */ int cungqr_(integer *, integer *, integer *,
|
||||
extern /* Subroutine */ void cungqr_(integer *, integer *, integer *,
|
||||
complex *, integer *, complex *, complex *, integer *, integer *);
|
||||
integer lwkmin, nb1, nb2, nb3;
|
||||
extern /* Subroutine */ int cunmqr_(char *, char *, integer *, integer *,
|
||||
extern /* Subroutine */ void cunmqr_(char *, char *, integer *, integer *,
|
||||
integer *, complex *, integer *, complex *, complex *, integer *,
|
||||
complex *, integer *, integer *);
|
||||
integer irwork, lwkopt;
|
||||
|
@ -969,16 +969,16 @@ rices</b> */
|
|||
|
||||
if (*info != 0) {
|
||||
i__1 = -(*info);
|
||||
xerbla_("CGEGV ", &i__1);
|
||||
return 0;
|
||||
xerbla_("CGEGV ", &i__1, 6);
|
||||
return;
|
||||
} else if (lquery) {
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
|
||||
/* Quick return if possible */
|
||||
|
||||
if (*n == 0) {
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
|
||||
/* Get machine constants */
|
||||
|
@ -1005,7 +1005,7 @@ rices</b> */
|
|||
iinfo);
|
||||
if (iinfo != 0) {
|
||||
*info = *n + 10;
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1026,7 +1026,7 @@ rices</b> */
|
|||
iinfo);
|
||||
if (iinfo != 0) {
|
||||
*info = *n + 10;
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1353,7 +1353,7 @@ L60:
|
|||
L80:
|
||||
work[1].r = (real) lwkopt, work[1].i = 0.f;
|
||||
|
||||
return 0;
|
||||
return;
|
||||
|
||||
/* End of CGEGV */
|
||||
|
||||
|
|
|
@ -700,7 +700,7 @@ f"> */
|
|||
/* > \ingroup complexGEsolve */
|
||||
|
||||
/* ===================================================================== */
|
||||
/* Subroutine */ int cgelsx_(integer *m, integer *n, integer *nrhs, complex *
|
||||
/* Subroutine */ void cgelsx_(integer *m, integer *n, integer *nrhs, complex *
|
||||
a, integer *lda, complex *b, integer *ldb, integer *jpvt, real *rcond,
|
||||
integer *rank, complex *work, real *rwork, integer *info)
|
||||
{
|
||||
|
@ -712,31 +712,31 @@ f"> */
|
|||
real anrm, bnrm, smin, smax;
|
||||
integer i__, j, k, iascl, ibscl, ismin, ismax;
|
||||
complex c1, c2;
|
||||
extern /* Subroutine */ int ctrsm_(char *, char *, char *, char *,
|
||||
extern /* Subroutine */ void ctrsm_(char *, char *, char *, char *,
|
||||
integer *, integer *, complex *, complex *, integer *, complex *,
|
||||
integer *), claic1_(integer *,
|
||||
integer *, complex *, real *, complex *, complex *, real *,
|
||||
complex *, complex *);
|
||||
complex s1, s2, t1, t2;
|
||||
extern /* Subroutine */ int cunm2r_(char *, char *, integer *, integer *,
|
||||
extern /* Subroutine */ void cunm2r_(char *, char *, integer *, integer *,
|
||||
integer *, complex *, integer *, complex *, complex *, integer *,
|
||||
complex *, integer *), slabad_(real *, real *);
|
||||
extern real clange_(char *, integer *, integer *, complex *, integer *,
|
||||
real *);
|
||||
integer mn;
|
||||
extern /* Subroutine */ int clascl_(char *, integer *, integer *, real *,
|
||||
extern /* Subroutine */ void clascl_(char *, integer *, integer *, real *,
|
||||
real *, integer *, integer *, complex *, integer *, integer *), cgeqpf_(integer *, integer *, complex *, integer *,
|
||||
integer *, complex *, complex *, real *, integer *);
|
||||
extern real slamch_(char *);
|
||||
extern /* Subroutine */ int claset_(char *, integer *, integer *, complex
|
||||
*, complex *, complex *, integer *), xerbla_(char *,
|
||||
integer *);
|
||||
extern /* Subroutine */ void claset_(char *, integer *, integer *, complex
|
||||
*, complex *, complex *, integer *);
|
||||
extern int xerbla_(char *, integer *, ftnlen);
|
||||
real bignum;
|
||||
extern /* Subroutine */ int clatzm_(char *, integer *, integer *, complex
|
||||
extern /* Subroutine */ void clatzm_(char *, integer *, integer *, complex
|
||||
*, integer *, complex *, complex *, complex *, integer *, complex
|
||||
*);
|
||||
real sminpr;
|
||||
extern /* Subroutine */ int ctzrqf_(integer *, integer *, complex *,
|
||||
extern /* Subroutine */ void ctzrqf_(integer *, integer *, complex *,
|
||||
integer *, complex *, integer *);
|
||||
real smaxpr, smlnum;
|
||||
|
||||
|
@ -787,8 +787,8 @@ f"> */
|
|||
|
||||
if (*info != 0) {
|
||||
i__1 = -(*info);
|
||||
xerbla_("CGELSX", &i__1);
|
||||
return 0;
|
||||
xerbla_("CGELSX", &i__1, 6);
|
||||
return;
|
||||
}
|
||||
|
||||
/* Quick return if possible */
|
||||
|
@ -797,7 +797,7 @@ f"> */
|
|||
i__1 = f2cmin(*m,*n);
|
||||
if (f2cmin(i__1,*nrhs) == 0) {
|
||||
*rank = 0;
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
|
||||
/* Get machine parameters */
|
||||
|
@ -1029,7 +1029,7 @@ L70:
|
|||
|
||||
L100:
|
||||
|
||||
return 0;
|
||||
return;
|
||||
|
||||
/* End of CGELSX */
|
||||
|
||||
|
|
|
@ -661,7 +661,7 @@ f"> */
|
|||
/* > \endverbatim */
|
||||
/* > */
|
||||
/* ===================================================================== */
|
||||
/* Subroutine */ int cgeqpf_(integer *m, integer *n, complex *a, integer *lda,
|
||||
/* Subroutine */ void cgeqpf_(integer *m, integer *n, complex *a, integer *lda,
|
||||
integer *jpvt, complex *tau, complex *work, real *rwork, integer *
|
||||
info)
|
||||
{
|
||||
|
@ -674,21 +674,21 @@ f"> */
|
|||
real temp, temp2;
|
||||
integer i__, j;
|
||||
real tol3z;
|
||||
extern /* Subroutine */ int clarf_(char *, integer *, integer *, complex *
|
||||
extern /* Subroutine */ void clarf_(char *, integer *, integer *, complex *
|
||||
, integer *, complex *, complex *, integer *, complex *),
|
||||
cswap_(integer *, complex *, integer *, complex *, integer *);
|
||||
integer itemp;
|
||||
extern /* Subroutine */ int cgeqr2_(integer *, integer *, complex *,
|
||||
extern /* Subroutine */ void cgeqr2_(integer *, integer *, complex *,
|
||||
integer *, complex *, complex *, integer *);
|
||||
extern real scnrm2_(integer *, complex *, integer *);
|
||||
extern /* Subroutine */ int cunm2r_(char *, char *, integer *, integer *,
|
||||
extern /* Subroutine */ void cunm2r_(char *, char *, integer *, integer *,
|
||||
integer *, complex *, integer *, complex *, complex *, integer *,
|
||||
complex *, integer *);
|
||||
integer ma, mn;
|
||||
extern /* Subroutine */ int clarfg_(integer *, complex *, complex *,
|
||||
extern /* Subroutine */ void clarfg_(integer *, complex *, complex *,
|
||||
integer *, complex *);
|
||||
extern real slamch_(char *);
|
||||
extern /* Subroutine */ int xerbla_(char *, integer *);
|
||||
extern /* Subroutine */ int xerbla_(char *, integer *, ftnlen);
|
||||
extern integer isamax_(integer *, real *, integer *);
|
||||
complex aii;
|
||||
integer pvt;
|
||||
|
@ -725,8 +725,8 @@ f"> */
|
|||
}
|
||||
if (*info != 0) {
|
||||
i__1 = -(*info);
|
||||
xerbla_("CGEQPF", &i__1);
|
||||
return 0;
|
||||
xerbla_("CGEQPF", &i__1, 6);
|
||||
return;
|
||||
}
|
||||
|
||||
mn = f2cmin(*m,*n);
|
||||
|
@ -865,7 +865,7 @@ f"> */
|
|||
/* L40: */
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
return;
|
||||
|
||||
/* End of CGEQPF */
|
||||
|
||||
|
|
|
@ -849,7 +849,7 @@ f"> */
|
|||
/* > California at Berkeley, USA */
|
||||
/* > */
|
||||
/* ===================================================================== */
|
||||
/* Subroutine */ int cggsvd_(char *jobu, char *jobv, char *jobq, integer *m,
|
||||
/* Subroutine */ void cggsvd_(char *jobu, char *jobv, char *jobq, integer *m,
|
||||
integer *n, integer *p, integer *k, integer *l, complex *a, integer *
|
||||
lda, complex *b, integer *ldb, real *alpha, real *beta, complex *u,
|
||||
integer *ldu, complex *v, integer *ldv, complex *q, integer *ldq,
|
||||
|
@ -868,17 +868,18 @@ f"> */
|
|||
extern logical lsame_(char *, char *);
|
||||
real anorm, bnorm;
|
||||
logical wantq;
|
||||
extern /* Subroutine */ int scopy_(integer *, real *, integer *, real *,
|
||||
extern /* Subroutine */ void scopy_(integer *, real *, integer *, real *,
|
||||
integer *);
|
||||
logical wantu, wantv;
|
||||
extern real clange_(char *, integer *, integer *, complex *, integer *,
|
||||
real *), slamch_(char *);
|
||||
extern /* Subroutine */ int ctgsja_(char *, char *, char *, integer *,
|
||||
extern /* Subroutine */ void ctgsja_(char *, char *, char *, integer *,
|
||||
integer *, integer *, integer *, integer *, complex *, integer *,
|
||||
complex *, integer *, real *, real *, real *, real *, complex *,
|
||||
integer *, complex *, integer *, complex *, integer *, complex *,
|
||||
integer *, integer *), xerbla_(char *,
|
||||
integer *), cggsvp_(char *, char *, char *, integer *,
|
||||
integer *, integer *);
|
||||
extern int xerbla_(char *, integer *, ftnlen);
|
||||
extern void cggsvp_(char *, char *, char *, integer *,
|
||||
integer *, integer *, complex *, integer *, complex *, integer *,
|
||||
real *, real *, integer *, integer *, complex *, integer *,
|
||||
complex *, integer *, complex *, integer *, integer *, real *,
|
||||
|
@ -950,8 +951,8 @@ f"> */
|
|||
}
|
||||
if (*info != 0) {
|
||||
i__1 = -(*info);
|
||||
xerbla_("CGGSVD", &i__1);
|
||||
return 0;
|
||||
xerbla_("CGGSVD", &i__1, 6);
|
||||
return;
|
||||
}
|
||||
|
||||
/* Compute the Frobenius norm of matrices A and B */
|
||||
|
@ -1011,7 +1012,7 @@ f"> */
|
|||
/* L20: */
|
||||
}
|
||||
|
||||
return 0;
|
||||
return;
|
||||
|
||||
/* End of CGGSVD */
|
||||
|
||||
|
|
|
@ -774,7 +774,7 @@ f"> */
|
|||
/* > a matrix. It may be replaced by a better rank determination strategy. */
|
||||
/* > */
|
||||
/* ===================================================================== */
|
||||
/* Subroutine */ int cggsvp_(char *jobu, char *jobv, char *jobq, integer *m,
|
||||
/* Subroutine */ void cggsvp_(char *jobu, char *jobv, char *jobq, integer *m,
|
||||
integer *p, integer *n, complex *a, integer *lda, complex *b, integer
|
||||
*ldb, real *tola, real *tolb, integer *k, integer *l, complex *u,
|
||||
integer *ldu, complex *v, integer *ldv, complex *q, integer *ldq,
|
||||
|
@ -790,7 +790,7 @@ f"> */
|
|||
integer i__, j;
|
||||
extern logical lsame_(char *, char *);
|
||||
logical wantq, wantu, wantv;
|
||||
extern /* Subroutine */ int cgeqr2_(integer *, integer *, complex *,
|
||||
extern /* Subroutine */ void cgeqr2_(integer *, integer *, complex *,
|
||||
integer *, complex *, complex *, integer *), cgerq2_(integer *,
|
||||
integer *, complex *, integer *, complex *, complex *, integer *),
|
||||
cung2r_(integer *, integer *, integer *, complex *, integer *,
|
||||
|
@ -802,8 +802,9 @@ f"> */
|
|||
integer *, complex *, complex *, real *, integer *), clacpy_(char
|
||||
*, integer *, integer *, complex *, integer *, complex *, integer
|
||||
*), claset_(char *, integer *, integer *, complex *,
|
||||
complex *, complex *, integer *), xerbla_(char *, integer
|
||||
*), clapmt_(logical *, integer *, integer *, complex *,
|
||||
complex *, complex *, integer *);
|
||||
extern int xerbla_(char *, integer *, ftnlen);
|
||||
extern void clapmt_(logical *, integer *, integer *, complex *,
|
||||
integer *, integer *);
|
||||
logical forwrd;
|
||||
|
||||
|
@ -872,8 +873,8 @@ f"> */
|
|||
}
|
||||
if (*info != 0) {
|
||||
i__1 = -(*info);
|
||||
xerbla_("CGGSVP", &i__1);
|
||||
return 0;
|
||||
xerbla_("CGGSVP", &i__1, 6);
|
||||
return;
|
||||
}
|
||||
|
||||
/* QR with column pivoting of B: B*P = V*( S11 S12 ) */
|
||||
|
@ -1131,7 +1132,7 @@ f"> */
|
|||
|
||||
}
|
||||
|
||||
return 0;
|
||||
return;
|
||||
|
||||
/* End of CGGSVP */
|
||||
|
||||
|
|
|
@ -684,7 +684,7 @@ f"> */
|
|||
/* > \endverbatim */
|
||||
/* > */
|
||||
/* ===================================================================== */
|
||||
/* Subroutine */ int clahrd_(integer *n, integer *k, integer *nb, complex *a,
|
||||
/* Subroutine */ void clahrd_(integer *n, integer *k, integer *nb, complex *a,
|
||||
integer *lda, complex *tau, complex *t, integer *ldt, complex *y,
|
||||
integer *ldy)
|
||||
{
|
||||
|
@ -695,7 +695,7 @@ f"> */
|
|||
|
||||
/* Local variables */
|
||||
integer i__;
|
||||
extern /* Subroutine */ int cscal_(integer *, complex *, complex *,
|
||||
extern /* Subroutine */ void cscal_(integer *, complex *, complex *,
|
||||
integer *), cgemv_(char *, integer *, integer *, complex *,
|
||||
complex *, integer *, complex *, integer *, complex *, complex *,
|
||||
integer *), ccopy_(integer *, complex *, integer *,
|
||||
|
@ -703,7 +703,7 @@ f"> */
|
|||
integer *, complex *, integer *), ctrmv_(char *, char *, char *,
|
||||
integer *, complex *, integer *, complex *, integer *);
|
||||
complex ei;
|
||||
extern /* Subroutine */ int clarfg_(integer *, complex *, complex *,
|
||||
extern /* Subroutine */ void clarfg_(integer *, complex *, complex *,
|
||||
integer *, complex *), clacgv_(integer *, complex *, integer *);
|
||||
|
||||
|
||||
|
@ -732,7 +732,7 @@ f"> */
|
|||
|
||||
/* Function Body */
|
||||
if (*n <= 1) {
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
|
||||
i__1 = *nb;
|
||||
|
@ -856,7 +856,7 @@ f"> */
|
|||
i__1 = *k + *nb + *nb * a_dim1;
|
||||
a[i__1].r = ei.r, a[i__1].i = ei.i;
|
||||
|
||||
return 0;
|
||||
return;
|
||||
|
||||
/* End of CLAHRD */
|
||||
|
||||
|
|
|
@ -666,7 +666,7 @@ f"> */
|
|||
/* > \ingroup complexOTHERcomputational */
|
||||
|
||||
/* ===================================================================== */
|
||||
/* Subroutine */ int clatzm_(char *side, integer *m, integer *n, complex *v,
|
||||
/* Subroutine */ void clatzm_(char *side, integer *m, integer *n, complex *v,
|
||||
integer *incv, complex *tau, complex *c1, complex *c2, integer *ldc,
|
||||
complex *work)
|
||||
{
|
||||
|
@ -675,12 +675,12 @@ f"> */
|
|||
complex q__1;
|
||||
|
||||
/* Local variables */
|
||||
extern /* Subroutine */ int cgerc_(integer *, integer *, complex *,
|
||||
extern /* Subroutine */ void cgerc_(integer *, integer *, complex *,
|
||||
complex *, integer *, complex *, integer *, complex *, integer *),
|
||||
cgemv_(char *, integer *, integer *, complex *, complex *,
|
||||
integer *, complex *, integer *, complex *, complex *, integer *);
|
||||
extern logical lsame_(char *, char *);
|
||||
extern /* Subroutine */ int cgeru_(integer *, integer *, complex *,
|
||||
extern /* Subroutine */ void cgeru_(integer *, integer *, complex *,
|
||||
complex *, integer *, complex *, integer *, complex *, integer *),
|
||||
ccopy_(integer *, complex *, integer *, complex *, integer *),
|
||||
caxpy_(integer *, complex *, complex *, integer *, complex *,
|
||||
|
@ -708,7 +708,7 @@ f"> */
|
|||
|
||||
/* Function Body */
|
||||
if (f2cmin(*m,*n) == 0 || tau->r == 0.f && tau->i == 0.f) {
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
|
||||
if (lsame_(side, "L")) {
|
||||
|
@ -751,7 +751,7 @@ f"> */
|
|||
ldc);
|
||||
}
|
||||
|
||||
return 0;
|
||||
return;
|
||||
|
||||
/* End of CLATZM */
|
||||
|
||||
|
|
|
@ -652,7 +652,7 @@ f"> */
|
|||
/* > \endverbatim */
|
||||
/* > */
|
||||
/* ===================================================================== */
|
||||
/* Subroutine */ int ctzrqf_(integer *m, integer *n, complex *a, integer *lda,
|
||||
/* Subroutine */ void ctzrqf_(integer *m, integer *n, complex *a, integer *lda,
|
||||
complex *tau, integer *info)
|
||||
{
|
||||
/* System generated locals */
|
||||
|
@ -661,18 +661,18 @@ f"> */
|
|||
|
||||
/* Local variables */
|
||||
integer i__, k;
|
||||
extern /* Subroutine */ int cgerc_(integer *, integer *, complex *,
|
||||
extern /* Subroutine */ void cgerc_(integer *, integer *, complex *,
|
||||
complex *, integer *, complex *, integer *, complex *, integer *);
|
||||
complex alpha;
|
||||
extern /* Subroutine */ int cgemv_(char *, integer *, integer *, complex *
|
||||
extern /* Subroutine */ void cgemv_(char *, integer *, integer *, complex *
|
||||
, complex *, integer *, complex *, integer *, complex *, complex *
|
||||
, integer *), ccopy_(integer *, complex *, integer *,
|
||||
complex *, integer *), caxpy_(integer *, complex *, complex *,
|
||||
integer *, complex *, integer *);
|
||||
integer m1;
|
||||
extern /* Subroutine */ int clarfg_(integer *, complex *, complex *,
|
||||
integer *, complex *), clacgv_(integer *, complex *, integer *),
|
||||
xerbla_(char *, integer *);
|
||||
extern /* Subroutine */ void clarfg_(integer *, complex *, complex *,
|
||||
integer *, complex *), clacgv_(integer *, complex *, integer *);
|
||||
extern int xerbla_(char *, integer *, ftnlen);
|
||||
|
||||
|
||||
/* -- LAPACK computational routine (version 3.7.0) -- */
|
||||
|
@ -703,14 +703,14 @@ f"> */
|
|||
}
|
||||
if (*info != 0) {
|
||||
i__1 = -(*info);
|
||||
xerbla_("CTZRQF", &i__1);
|
||||
return 0;
|
||||
xerbla_("CTZRQF", &i__1, 6);
|
||||
return;
|
||||
}
|
||||
|
||||
/* Perform the factorization. */
|
||||
|
||||
if (*m == 0) {
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
if (*m == *n) {
|
||||
i__1 = *n;
|
||||
|
@ -783,7 +783,7 @@ f"> */
|
|||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
return;
|
||||
|
||||
/* End of CTZRQF */
|
||||
|
||||
|
|
|
@ -742,7 +742,7 @@ rices</b> */
|
|||
/* > \ingroup doubleGEeigen */
|
||||
|
||||
/* ===================================================================== */
|
||||
/* Subroutine */ int dgegs_(char *jobvsl, char *jobvsr, integer *n,
|
||||
/* Subroutine */ void dgegs_(char *jobvsl, char *jobvsr, integer *n,
|
||||
doublereal *a, integer *lda, doublereal *b, integer *ldb, doublereal *
|
||||
alphar, doublereal *alphai, doublereal *beta, doublereal *vsl,
|
||||
integer *ldvsl, doublereal *vsr, integer *ldvsr, doublereal *work,
|
||||
|
@ -761,45 +761,45 @@ rices</b> */
|
|||
integer iwork;
|
||||
logical ilvsr;
|
||||
integer irows;
|
||||
extern /* Subroutine */ int dggbak_(char *, char *, integer *, integer *,
|
||||
extern /* Subroutine */ void dggbak_(char *, char *, integer *, integer *,
|
||||
integer *, doublereal *, doublereal *, integer *, doublereal *,
|
||||
integer *, integer *);
|
||||
integer nb;
|
||||
extern /* Subroutine */ int dggbal_(char *, integer *, doublereal *,
|
||||
extern /* Subroutine */ void dggbal_(char *, integer *, doublereal *,
|
||||
integer *, doublereal *, integer *, integer *, integer *,
|
||||
doublereal *, doublereal *, doublereal *, integer *);
|
||||
extern doublereal dlamch_(char *), dlange_(char *, integer *,
|
||||
integer *, doublereal *, integer *, doublereal *);
|
||||
extern /* Subroutine */ int dgghrd_(char *, char *, integer *, integer *,
|
||||
extern /* Subroutine */ void dgghrd_(char *, char *, integer *, integer *,
|
||||
integer *, doublereal *, integer *, doublereal *, integer *,
|
||||
doublereal *, integer *, doublereal *, integer *, integer *), dlascl_(char *, integer *, integer *, doublereal
|
||||
*, doublereal *, integer *, integer *, doublereal *, integer *,
|
||||
integer *);
|
||||
logical ilascl, ilbscl;
|
||||
extern /* Subroutine */ int dgeqrf_(integer *, integer *, doublereal *,
|
||||
extern /* Subroutine */ void dgeqrf_(integer *, integer *, doublereal *,
|
||||
integer *, doublereal *, doublereal *, integer *, integer *),
|
||||
dlacpy_(char *, integer *, integer *, doublereal *, integer *,
|
||||
doublereal *, integer *);
|
||||
doublereal safmin;
|
||||
extern /* Subroutine */ int dlaset_(char *, integer *, integer *,
|
||||
doublereal *, doublereal *, doublereal *, integer *),
|
||||
xerbla_(char *, integer *);
|
||||
extern /* Subroutine */ void dlaset_(char *, integer *, integer *,
|
||||
doublereal *, doublereal *, doublereal *, integer *);
|
||||
extern int xerbla_(char *, integer *, ftnlen);
|
||||
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
|
||||
integer *, integer *, ftnlen, ftnlen);
|
||||
doublereal bignum;
|
||||
extern /* Subroutine */ int dhgeqz_(char *, char *, char *, integer *,
|
||||
extern /* Subroutine */ void dhgeqz_(char *, char *, char *, integer *,
|
||||
integer *, integer *, doublereal *, integer *, doublereal *,
|
||||
integer *, doublereal *, doublereal *, doublereal *, doublereal *,
|
||||
integer *, doublereal *, integer *, doublereal *, integer *,
|
||||
integer *);
|
||||
integer ijobvl, iright, ijobvr;
|
||||
extern /* Subroutine */ int dorgqr_(integer *, integer *, integer *,
|
||||
extern /* Subroutine */ void dorgqr_(integer *, integer *, integer *,
|
||||
doublereal *, integer *, doublereal *, doublereal *, integer *,
|
||||
integer *);
|
||||
doublereal anrmto;
|
||||
integer lwkmin, nb1, nb2, nb3;
|
||||
doublereal bnrmto;
|
||||
extern /* Subroutine */ int dormqr_(char *, char *, integer *, integer *,
|
||||
extern /* Subroutine */ void dormqr_(char *, char *, integer *, integer *,
|
||||
integer *, doublereal *, integer *, doublereal *, doublereal *,
|
||||
integer *, doublereal *, integer *, integer *);
|
||||
doublereal smlnum;
|
||||
|
@ -904,16 +904,16 @@ rices</b> */
|
|||
|
||||
if (*info != 0) {
|
||||
i__1 = -(*info);
|
||||
xerbla_("DGEGS ", &i__1);
|
||||
return 0;
|
||||
xerbla_("DGEGS ", &i__1, 6);
|
||||
return;
|
||||
} else if (lquery) {
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
|
||||
/* Quick return if possible */
|
||||
|
||||
if (*n == 0) {
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
|
||||
/* Get machine constants */
|
||||
|
@ -940,7 +940,7 @@ rices</b> */
|
|||
iinfo);
|
||||
if (iinfo != 0) {
|
||||
*info = *n + 9;
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -961,7 +961,7 @@ rices</b> */
|
|||
iinfo);
|
||||
if (iinfo != 0) {
|
||||
*info = *n + 9;
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1098,19 +1098,19 @@ rices</b> */
|
|||
iinfo);
|
||||
if (iinfo != 0) {
|
||||
*info = *n + 9;
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
dlascl_("G", &c_n1, &c_n1, &anrmto, &anrm, n, &c__1, &alphar[1], n, &
|
||||
iinfo);
|
||||
if (iinfo != 0) {
|
||||
*info = *n + 9;
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
dlascl_("G", &c_n1, &c_n1, &anrmto, &anrm, n, &c__1, &alphai[1], n, &
|
||||
iinfo);
|
||||
if (iinfo != 0) {
|
||||
*info = *n + 9;
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1119,20 +1119,20 @@ rices</b> */
|
|||
iinfo);
|
||||
if (iinfo != 0) {
|
||||
*info = *n + 9;
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
dlascl_("G", &c_n1, &c_n1, &bnrmto, &bnrm, n, &c__1, &beta[1], n, &
|
||||
iinfo);
|
||||
if (iinfo != 0) {
|
||||
*info = *n + 9;
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
L10:
|
||||
work[1] = (doublereal) lwkopt;
|
||||
|
||||
return 0;
|
||||
return;
|
||||
|
||||
/* End of DGEGS */
|
||||
|
||||
|
|
|
@ -822,7 +822,7 @@ rices</b> */
|
|||
/* > \endverbatim */
|
||||
/* > */
|
||||
/* ===================================================================== */
|
||||
/* Subroutine */ int dgegv_(char *jobvl, char *jobvr, integer *n, doublereal *
|
||||
/* Subroutine */ void dgegv_(char *jobvl, char *jobvr, integer *n, doublereal *
|
||||
a, integer *lda, doublereal *b, integer *ldb, doublereal *alphar,
|
||||
doublereal *alphai, doublereal *beta, doublereal *vl, integer *ldvl,
|
||||
doublereal *vr, integer *ldvr, doublereal *work, integer *lwork,
|
||||
|
@ -842,11 +842,11 @@ rices</b> */
|
|||
doublereal anrm1, anrm2, bnrm1, bnrm2, absai, scale, absar, sbeta;
|
||||
extern logical lsame_(char *, char *);
|
||||
integer ileft, iinfo, icols, iwork, irows, jc;
|
||||
extern /* Subroutine */ int dggbak_(char *, char *, integer *, integer *,
|
||||
extern /* Subroutine */ void dggbak_(char *, char *, integer *, integer *,
|
||||
integer *, doublereal *, doublereal *, integer *, doublereal *,
|
||||
integer *, integer *);
|
||||
integer nb;
|
||||
extern /* Subroutine */ int dggbal_(char *, integer *, doublereal *,
|
||||
extern /* Subroutine */ void dggbal_(char *, integer *, doublereal *,
|
||||
integer *, doublereal *, integer *, integer *, integer *,
|
||||
doublereal *, doublereal *, doublereal *, integer *);
|
||||
integer in;
|
||||
|
@ -854,42 +854,42 @@ rices</b> */
|
|||
integer *, doublereal *, integer *, doublereal *);
|
||||
integer jr;
|
||||
doublereal salfai;
|
||||
extern /* Subroutine */ int dgghrd_(char *, char *, integer *, integer *,
|
||||
extern /* Subroutine */ void dgghrd_(char *, char *, integer *, integer *,
|
||||
integer *, doublereal *, integer *, doublereal *, integer *,
|
||||
doublereal *, integer *, doublereal *, integer *, integer *), dlascl_(char *, integer *, integer *, doublereal
|
||||
*, doublereal *, integer *, integer *, doublereal *, integer *,
|
||||
integer *);
|
||||
doublereal salfar;
|
||||
extern /* Subroutine */ int dgeqrf_(integer *, integer *, doublereal *,
|
||||
extern /* Subroutine */ void dgeqrf_(integer *, integer *, doublereal *,
|
||||
integer *, doublereal *, doublereal *, integer *, integer *),
|
||||
dlacpy_(char *, integer *, integer *, doublereal *, integer *,
|
||||
doublereal *, integer *);
|
||||
doublereal safmin;
|
||||
extern /* Subroutine */ int dlaset_(char *, integer *, integer *,
|
||||
extern /* Subroutine */ void dlaset_(char *, integer *, integer *,
|
||||
doublereal *, doublereal *, doublereal *, integer *);
|
||||
doublereal safmax;
|
||||
char chtemp[1];
|
||||
logical ldumma[1];
|
||||
extern /* Subroutine */ int dhgeqz_(char *, char *, char *, integer *,
|
||||
extern /* Subroutine */ void dhgeqz_(char *, char *, char *, integer *,
|
||||
integer *, integer *, doublereal *, integer *, doublereal *,
|
||||
integer *, doublereal *, doublereal *, doublereal *, doublereal *,
|
||||
integer *, doublereal *, integer *, doublereal *, integer *,
|
||||
integer *), dtgevc_(char *, char *,
|
||||
logical *, integer *, doublereal *, integer *, doublereal *,
|
||||
integer *, doublereal *, integer *, doublereal *, integer *,
|
||||
integer *, integer *, doublereal *, integer *),
|
||||
xerbla_(char *, integer *);
|
||||
integer *, integer *, doublereal *, integer *);
|
||||
extern int xerbla_(char *, integer *, ftnlen);
|
||||
integer ijobvl, iright;
|
||||
logical ilimit;
|
||||
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
|
||||
integer *, integer *, ftnlen, ftnlen);
|
||||
integer ijobvr;
|
||||
extern /* Subroutine */ int dorgqr_(integer *, integer *, integer *,
|
||||
extern /* Subroutine */ void dorgqr_(integer *, integer *, integer *,
|
||||
doublereal *, integer *, doublereal *, doublereal *, integer *,
|
||||
integer *);
|
||||
doublereal onepls;
|
||||
integer lwkmin, nb1, nb2, nb3;
|
||||
extern /* Subroutine */ int dormqr_(char *, char *, integer *, integer *,
|
||||
extern /* Subroutine */ void dormqr_(char *, char *, integer *, integer *,
|
||||
integer *, doublereal *, integer *, doublereal *, doublereal *,
|
||||
integer *, doublereal *, integer *, integer *);
|
||||
integer lwkopt;
|
||||
|
@ -997,16 +997,16 @@ rices</b> */
|
|||
|
||||
if (*info != 0) {
|
||||
i__1 = -(*info);
|
||||
xerbla_("DGEGV ", &i__1);
|
||||
return 0;
|
||||
xerbla_("DGEGV ", &i__1, 6);
|
||||
return;
|
||||
} else if (lquery) {
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
|
||||
/* Quick return if possible */
|
||||
|
||||
if (*n == 0) {
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
|
||||
/* Get machine constants */
|
||||
|
@ -1034,7 +1034,7 @@ rices</b> */
|
|||
iinfo);
|
||||
if (iinfo != 0) {
|
||||
*info = *n + 10;
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1055,7 +1055,7 @@ rices</b> */
|
|||
iinfo);
|
||||
if (iinfo != 0) {
|
||||
*info = *n + 10;
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1426,7 +1426,7 @@ L100:
|
|||
L120:
|
||||
work[1] = (doublereal) lwkopt;
|
||||
|
||||
return 0;
|
||||
return;
|
||||
|
||||
/* End of DGEGV */
|
||||
|
||||
|
|
|
@ -694,7 +694,7 @@ f"> */
|
|||
/* > \ingroup doubleGEsolve */
|
||||
|
||||
/* ===================================================================== */
|
||||
/* Subroutine */ int dgelsx_(integer *m, integer *n, integer *nrhs,
|
||||
/* Subroutine */ void dgelsx_(integer *m, integer *n, integer *nrhs,
|
||||
doublereal *a, integer *lda, doublereal *b, integer *ldb, integer *
|
||||
jpvt, doublereal *rcond, integer *rank, doublereal *work, integer *
|
||||
info)
|
||||
|
@ -707,32 +707,32 @@ f"> */
|
|||
doublereal anrm, bnrm, smin, smax;
|
||||
integer i__, j, k, iascl, ibscl, ismin, ismax;
|
||||
doublereal c1, c2;
|
||||
extern /* Subroutine */ int dtrsm_(char *, char *, char *, char *,
|
||||
extern /* Subroutine */ void dtrsm_(char *, char *, char *, char *,
|
||||
integer *, integer *, doublereal *, doublereal *, integer *,
|
||||
doublereal *, integer *), dlaic1_(
|
||||
integer *, integer *, doublereal *, doublereal *, doublereal *,
|
||||
doublereal *, doublereal *, doublereal *, doublereal *);
|
||||
doublereal s1, s2, t1, t2;
|
||||
extern /* Subroutine */ int dorm2r_(char *, char *, integer *, integer *,
|
||||
extern /* Subroutine */ void dorm2r_(char *, char *, integer *, integer *,
|
||||
integer *, doublereal *, integer *, doublereal *, doublereal *,
|
||||
integer *, doublereal *, integer *), dlabad_(
|
||||
doublereal *, doublereal *);
|
||||
extern doublereal dlamch_(char *), dlange_(char *, integer *,
|
||||
integer *, doublereal *, integer *, doublereal *);
|
||||
integer mn;
|
||||
extern /* Subroutine */ int dlascl_(char *, integer *, integer *,
|
||||
extern /* Subroutine */ void dlascl_(char *, integer *, integer *,
|
||||
doublereal *, doublereal *, integer *, integer *, doublereal *,
|
||||
integer *, integer *), dgeqpf_(integer *, integer *,
|
||||
doublereal *, integer *, integer *, doublereal *, doublereal *,
|
||||
integer *), dlaset_(char *, integer *, integer *, doublereal *,
|
||||
doublereal *, doublereal *, integer *), xerbla_(char *,
|
||||
integer *);
|
||||
doublereal *, doublereal *, integer *);
|
||||
extern int xerbla_(char *, integer *, ftnlen);
|
||||
doublereal bignum;
|
||||
extern /* Subroutine */ int dlatzm_(char *, integer *, integer *,
|
||||
extern /* Subroutine */ void dlatzm_(char *, integer *, integer *,
|
||||
doublereal *, integer *, doublereal *, doublereal *, doublereal *,
|
||||
integer *, doublereal *);
|
||||
doublereal sminpr, smaxpr, smlnum;
|
||||
extern /* Subroutine */ int dtzrqf_(integer *, integer *, doublereal *,
|
||||
extern /* Subroutine */ void dtzrqf_(integer *, integer *, doublereal *,
|
||||
integer *, doublereal *, integer *);
|
||||
|
||||
|
||||
|
@ -781,8 +781,8 @@ f"> */
|
|||
|
||||
if (*info != 0) {
|
||||
i__1 = -(*info);
|
||||
xerbla_("DGELSX", &i__1);
|
||||
return 0;
|
||||
xerbla_("DGELSX", &i__1, 6);
|
||||
return;
|
||||
}
|
||||
|
||||
/* Quick return if possible */
|
||||
|
@ -791,7 +791,7 @@ f"> */
|
|||
i__1 = f2cmin(*m,*n);
|
||||
if (f2cmin(i__1,*nrhs) == 0) {
|
||||
*rank = 0;
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
|
||||
/* Get machine parameters */
|
||||
|
@ -999,7 +999,7 @@ L70:
|
|||
|
||||
L100:
|
||||
|
||||
return 0;
|
||||
return;
|
||||
|
||||
/* End of DGELSX */
|
||||
|
||||
|
|
|
@ -655,7 +655,7 @@ f"> */
|
|||
/* > \endverbatim */
|
||||
/* > */
|
||||
/* ===================================================================== */
|
||||
/* Subroutine */ int dgeqpf_(integer *m, integer *n, doublereal *a, integer *
|
||||
/* Subroutine */ void dgeqpf_(integer *m, integer *n, doublereal *a, integer *
|
||||
lda, integer *jpvt, doublereal *tau, doublereal *work, integer *info)
|
||||
{
|
||||
/* System generated locals */
|
||||
|
@ -668,11 +668,11 @@ f"> */
|
|||
doublereal temp2;
|
||||
integer i__, j;
|
||||
doublereal tol3z;
|
||||
extern /* Subroutine */ int dlarf_(char *, integer *, integer *,
|
||||
extern /* Subroutine */ void dlarf_(char *, integer *, integer *,
|
||||
doublereal *, integer *, doublereal *, doublereal *, integer *,
|
||||
doublereal *);
|
||||
integer itemp;
|
||||
extern /* Subroutine */ int dswap_(integer *, doublereal *, integer *,
|
||||
extern /* Subroutine */ void dswap_(integer *, doublereal *, integer *,
|
||||
doublereal *, integer *), dgeqr2_(integer *, integer *,
|
||||
doublereal *, integer *, doublereal *, doublereal *, integer *),
|
||||
dorm2r_(char *, char *, integer *, integer *, integer *,
|
||||
|
@ -681,10 +681,10 @@ f"> */
|
|||
integer ma;
|
||||
extern doublereal dlamch_(char *);
|
||||
integer mn;
|
||||
extern /* Subroutine */ int dlarfg_(integer *, doublereal *, doublereal *,
|
||||
extern /* Subroutine */ void dlarfg_(integer *, doublereal *, doublereal *,
|
||||
integer *, doublereal *);
|
||||
extern integer idamax_(integer *, doublereal *, integer *);
|
||||
extern /* Subroutine */ int xerbla_(char *, integer *);
|
||||
extern /* Subroutine */ int xerbla_(char *, integer *, ftnlen);
|
||||
doublereal aii;
|
||||
integer pvt;
|
||||
|
||||
|
@ -719,8 +719,8 @@ f"> */
|
|||
}
|
||||
if (*info != 0) {
|
||||
i__1 = -(*info);
|
||||
xerbla_("DGEQPF", &i__1);
|
||||
return 0;
|
||||
xerbla_("DGEQPF", &i__1, 6);
|
||||
return;
|
||||
}
|
||||
|
||||
mn = f2cmin(*m,*n);
|
||||
|
@ -854,7 +854,7 @@ f"> */
|
|||
/* L40: */
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
return;
|
||||
|
||||
/* End of DGEQPF */
|
||||
|
||||
|
|
|
@ -845,7 +845,7 @@ f"> */
|
|||
/* > California at Berkeley, USA */
|
||||
/* > */
|
||||
/* ===================================================================== */
|
||||
/* Subroutine */ int dggsvd_(char *jobu, char *jobv, char *jobq, integer *m,
|
||||
/* Subroutine */ void dggsvd_(char *jobu, char *jobv, char *jobq, integer *m,
|
||||
integer *n, integer *p, integer *k, integer *l, doublereal *a,
|
||||
integer *lda, doublereal *b, integer *ldb, doublereal *alpha,
|
||||
doublereal *beta, doublereal *u, integer *ldu, doublereal *v, integer
|
||||
|
@ -864,17 +864,19 @@ f"> */
|
|||
integer ncallmycycle, i__, j;
|
||||
extern logical lsame_(char *, char *);
|
||||
doublereal anorm, bnorm;
|
||||
extern /* Subroutine */ int dcopy_(integer *, doublereal *, integer *,
|
||||
extern /* Subroutine */ void dcopy_(integer *, doublereal *, integer *,
|
||||
doublereal *, integer *);
|
||||
logical wantq, wantu, wantv;
|
||||
extern doublereal dlamch_(char *), dlange_(char *, integer *,
|
||||
integer *, doublereal *, integer *, doublereal *);
|
||||
extern /* Subroutine */ int dtgsja_(char *, char *, char *, integer *,
|
||||
extern /* Subroutine */ void dtgsja_(char *, char *, char *, integer *,
|
||||
integer *, integer *, integer *, integer *, doublereal *, integer
|
||||
*, doublereal *, integer *, doublereal *, doublereal *,
|
||||
doublereal *, doublereal *, doublereal *, integer *, doublereal *,
|
||||
integer *, doublereal *, integer *, doublereal *, integer *,
|
||||
integer *), xerbla_(char *, integer *), dggsvp_(char *, char *, char *, integer *, integer *,
|
||||
integer *);
|
||||
extern int xerbla_(char *, integer *, ftnlen);
|
||||
extern void dggsvp_(char *, char *, char *, integer *, integer *,
|
||||
integer *, doublereal *, integer *, doublereal *, integer *,
|
||||
doublereal *, doublereal *, integer *, integer *, doublereal *,
|
||||
integer *, doublereal *, integer *, doublereal *, integer *,
|
||||
|
@ -945,8 +947,8 @@ f"> */
|
|||
}
|
||||
if (*info != 0) {
|
||||
i__1 = -(*info);
|
||||
xerbla_("DGGSVD", &i__1);
|
||||
return 0;
|
||||
xerbla_("DGGSVD", &i__1, 6);
|
||||
return;
|
||||
}
|
||||
|
||||
/* Compute the Frobenius norm of matrices A and B */
|
||||
|
@ -1007,7 +1009,7 @@ f"> */
|
|||
/* L20: */
|
||||
}
|
||||
|
||||
return 0;
|
||||
return;
|
||||
|
||||
/* End of DGGSVD */
|
||||
|
||||
|
|
|
@ -768,7 +768,7 @@ f"> */
|
|||
/* > a matrix. It may be replaced by a better rank determination strategy. */
|
||||
/* > */
|
||||
/* ===================================================================== */
|
||||
/* Subroutine */ int dggsvp_(char *jobu, char *jobv, char *jobq, integer *m,
|
||||
/* Subroutine */ void dggsvp_(char *jobu, char *jobv, char *jobq, integer *m,
|
||||
integer *p, integer *n, doublereal *a, integer *lda, doublereal *b,
|
||||
integer *ldb, doublereal *tola, doublereal *tolb, integer *k, integer
|
||||
*l, doublereal *u, integer *ldu, doublereal *v, integer *ldv,
|
||||
|
@ -784,7 +784,7 @@ f"> */
|
|||
integer i__, j;
|
||||
extern logical lsame_(char *, char *);
|
||||
logical wantq, wantu, wantv;
|
||||
extern /* Subroutine */ int dgeqr2_(integer *, integer *, doublereal *,
|
||||
extern /* Subroutine */ void dgeqr2_(integer *, integer *, doublereal *,
|
||||
integer *, doublereal *, doublereal *, integer *), dgerq2_(
|
||||
integer *, integer *, doublereal *, integer *, doublereal *,
|
||||
doublereal *, integer *), dorg2r_(integer *, integer *, integer *,
|
||||
|
@ -797,7 +797,9 @@ f"> */
|
|||
integer *, integer *, doublereal *, doublereal *, integer *),
|
||||
dlacpy_(char *, integer *, integer *, doublereal *, integer *,
|
||||
doublereal *, integer *), dlaset_(char *, integer *,
|
||||
integer *, doublereal *, doublereal *, doublereal *, integer *), xerbla_(char *, integer *), dlapmt_(logical *,
|
||||
integer *, doublereal *, doublereal *, doublereal *, integer *);
|
||||
extern int xerbla_(char *, integer *, ftnlen);
|
||||
extern void dlapmt_(logical *,
|
||||
integer *, integer *, doublereal *, integer *, integer *);
|
||||
logical forwrd;
|
||||
|
||||
|
@ -865,8 +867,8 @@ f"> */
|
|||
}
|
||||
if (*info != 0) {
|
||||
i__1 = -(*info);
|
||||
xerbla_("DGGSVP", &i__1);
|
||||
return 0;
|
||||
xerbla_("DGGSVP", &i__1, 6);
|
||||
return;
|
||||
}
|
||||
|
||||
/* QR with column pivoting of B: B*P = V*( S11 S12 ) */
|
||||
|
@ -1115,7 +1117,7 @@ f"> */
|
|||
|
||||
}
|
||||
|
||||
return 0;
|
||||
return;
|
||||
|
||||
/* End of DGGSVP */
|
||||
|
||||
|
|
|
@ -685,7 +685,7 @@ f"> */
|
|||
/* > \endverbatim */
|
||||
/* > */
|
||||
/* ===================================================================== */
|
||||
/* Subroutine */ int dlahrd_(integer *n, integer *k, integer *nb, doublereal *
|
||||
/* Subroutine */ void dlahrd_(integer *n, integer *k, integer *nb, doublereal *
|
||||
a, integer *lda, doublereal *tau, doublereal *t, integer *ldt,
|
||||
doublereal *y, integer *ldy)
|
||||
{
|
||||
|
@ -696,7 +696,7 @@ f"> */
|
|||
|
||||
/* Local variables */
|
||||
integer i__;
|
||||
extern /* Subroutine */ int dscal_(integer *, doublereal *, doublereal *,
|
||||
extern /* Subroutine */ void dscal_(integer *, doublereal *, doublereal *,
|
||||
integer *), dgemv_(char *, integer *, integer *, doublereal *,
|
||||
doublereal *, integer *, doublereal *, integer *, doublereal *,
|
||||
doublereal *, integer *), dcopy_(integer *, doublereal *,
|
||||
|
@ -705,7 +705,7 @@ f"> */
|
|||
*, char *, char *, integer *, doublereal *, integer *, doublereal
|
||||
*, integer *);
|
||||
doublereal ei;
|
||||
extern /* Subroutine */ int dlarfg_(integer *, doublereal *, doublereal *,
|
||||
extern /* Subroutine */ void dlarfg_(integer *, doublereal *, doublereal *,
|
||||
integer *, doublereal *);
|
||||
|
||||
|
||||
|
@ -734,7 +734,7 @@ f"> */
|
|||
|
||||
/* Function Body */
|
||||
if (*n <= 1) {
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
|
||||
i__1 = *nb;
|
||||
|
@ -843,7 +843,7 @@ f"> */
|
|||
}
|
||||
a[*k + *nb + *nb * a_dim1] = ei;
|
||||
|
||||
return 0;
|
||||
return;
|
||||
|
||||
/* End of DLAHRD */
|
||||
|
||||
|
|
|
@ -665,7 +665,7 @@ f"> */
|
|||
/* > \ingroup doubleOTHERcomputational */
|
||||
|
||||
/* ===================================================================== */
|
||||
/* Subroutine */ int dlatzm_(char *side, integer *m, integer *n, doublereal *
|
||||
/* Subroutine */ void dlatzm_(char *side, integer *m, integer *n, doublereal *
|
||||
v, integer *incv, doublereal *tau, doublereal *c1, doublereal *c2,
|
||||
integer *ldc, doublereal *work)
|
||||
{
|
||||
|
@ -674,11 +674,11 @@ f"> */
|
|||
doublereal d__1;
|
||||
|
||||
/* Local variables */
|
||||
extern /* Subroutine */ int dger_(integer *, integer *, doublereal *,
|
||||
extern /* Subroutine */ void dger_(integer *, integer *, doublereal *,
|
||||
doublereal *, integer *, doublereal *, integer *, doublereal *,
|
||||
integer *);
|
||||
extern logical lsame_(char *, char *);
|
||||
extern /* Subroutine */ int dgemv_(char *, integer *, integer *,
|
||||
extern /* Subroutine */ void dgemv_(char *, integer *, integer *,
|
||||
doublereal *, doublereal *, integer *, doublereal *, integer *,
|
||||
doublereal *, doublereal *, integer *), dcopy_(integer *,
|
||||
doublereal *, integer *, doublereal *, integer *), daxpy_(integer
|
||||
|
@ -707,7 +707,7 @@ f"> */
|
|||
|
||||
/* Function Body */
|
||||
if (f2cmin(*m,*n) == 0 || *tau == 0.) {
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
|
||||
if (lsame_(side, "L")) {
|
||||
|
@ -748,7 +748,7 @@ f"> */
|
|||
ldc);
|
||||
}
|
||||
|
||||
return 0;
|
||||
return;
|
||||
|
||||
/* End of DLATZM */
|
||||
|
||||
|
|
|
@ -652,7 +652,7 @@ f"> */
|
|||
/* > \endverbatim */
|
||||
/* > */
|
||||
/* ===================================================================== */
|
||||
/* Subroutine */ int dtzrqf_(integer *m, integer *n, doublereal *a, integer *
|
||||
/* Subroutine */ void dtzrqf_(integer *m, integer *n, doublereal *a, integer *
|
||||
lda, doublereal *tau, integer *info)
|
||||
{
|
||||
/* System generated locals */
|
||||
|
@ -660,19 +660,20 @@ f"> */
|
|||
doublereal d__1;
|
||||
|
||||
/* Local variables */
|
||||
extern /* Subroutine */ int dger_(integer *, integer *, doublereal *,
|
||||
extern /* Subroutine */ void dger_(integer *, integer *, doublereal *,
|
||||
doublereal *, integer *, doublereal *, integer *, doublereal *,
|
||||
integer *);
|
||||
integer i__, k;
|
||||
extern /* Subroutine */ int dgemv_(char *, integer *, integer *,
|
||||
extern /* Subroutine */ void dgemv_(char *, integer *, integer *,
|
||||
doublereal *, doublereal *, integer *, doublereal *, integer *,
|
||||
doublereal *, doublereal *, integer *), dcopy_(integer *,
|
||||
doublereal *, integer *, doublereal *, integer *), daxpy_(integer
|
||||
*, doublereal *, doublereal *, integer *, doublereal *, integer *)
|
||||
;
|
||||
integer m1;
|
||||
extern /* Subroutine */ int dlarfg_(integer *, doublereal *, doublereal *,
|
||||
integer *, doublereal *), xerbla_(char *, integer *);
|
||||
extern /* Subroutine */ void dlarfg_(integer *, doublereal *, doublereal *,
|
||||
integer *, doublereal *);
|
||||
extern int xerbla_(char *, integer *, ftnlen);
|
||||
|
||||
|
||||
/* -- LAPACK computational routine (version 3.7.0) -- */
|
||||
|
@ -703,14 +704,14 @@ f"> */
|
|||
}
|
||||
if (*info != 0) {
|
||||
i__1 = -(*info);
|
||||
xerbla_("DTZRQF", &i__1);
|
||||
return 0;
|
||||
xerbla_("DTZRQF", &i__1, 6);
|
||||
return;
|
||||
}
|
||||
|
||||
/* Perform the factorization. */
|
||||
|
||||
if (*m == 0) {
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
if (*m == *n) {
|
||||
i__1 = *n;
|
||||
|
@ -768,7 +769,7 @@ f"> */
|
|||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
return;
|
||||
|
||||
/* End of DTZRQF */
|
||||
|
||||
|
|
|
@ -742,7 +742,7 @@ ices</b> */
|
|||
/* > \ingroup realGEeigen */
|
||||
|
||||
/* ===================================================================== */
|
||||
/* Subroutine */ int sgegs_(char *jobvsl, char *jobvsr, integer *n, real *a,
|
||||
/* Subroutine */ void sgegs_(char *jobvsl, char *jobvsr, integer *n, real *a,
|
||||
integer *lda, real *b, integer *ldb, real *alphar, real *alphai, real
|
||||
*beta, real *vsl, integer *ldvsl, real *vsr, integer *ldvsr, real *
|
||||
work, integer *lwork, integer *info)
|
||||
|
@ -760,7 +760,7 @@ ices</b> */
|
|||
integer iwork;
|
||||
logical ilvsr;
|
||||
integer irows, nb;
|
||||
extern /* Subroutine */ int sggbak_(char *, char *, integer *, integer *,
|
||||
extern /* Subroutine */ void sggbak_(char *, char *, integer *, integer *,
|
||||
integer *, real *, real *, integer *, real *, integer *, integer *
|
||||
), sggbal_(char *, integer *, real *, integer *,
|
||||
real *, integer *, integer *, integer *, real *, real *, real *,
|
||||
|
@ -769,35 +769,35 @@ ices</b> */
|
|||
extern real slamch_(char *), slange_(char *, integer *, integer *,
|
||||
real *, integer *, real *);
|
||||
real safmin;
|
||||
extern /* Subroutine */ int sgghrd_(char *, char *, integer *, integer *,
|
||||
extern /* Subroutine */ void sgghrd_(char *, char *, integer *, integer *,
|
||||
integer *, real *, integer *, real *, integer *, real *, integer *
|
||||
, real *, integer *, integer *), xerbla_(char *,
|
||||
integer *);
|
||||
, real *, integer *, integer *);
|
||||
extern int xerbla_(char *, integer *, ftnlen);
|
||||
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
|
||||
integer *, integer *, ftnlen, ftnlen);
|
||||
real bignum;
|
||||
extern /* Subroutine */ int slascl_(char *, integer *, integer *, real *,
|
||||
extern /* Subroutine */ void slascl_(char *, integer *, integer *, real *,
|
||||
real *, integer *, integer *, real *, integer *, integer *);
|
||||
integer ijobvl, iright;
|
||||
extern /* Subroutine */ int sgeqrf_(integer *, integer *, real *, integer
|
||||
extern /* Subroutine */ void sgeqrf_(integer *, integer *, real *, integer
|
||||
*, real *, real *, integer *, integer *);
|
||||
integer ijobvr;
|
||||
extern /* Subroutine */ int slacpy_(char *, integer *, integer *, real *,
|
||||
extern /* Subroutine */ void slacpy_(char *, integer *, integer *, real *,
|
||||
integer *, real *, integer *), slaset_(char *, integer *,
|
||||
integer *, real *, real *, real *, integer *);
|
||||
real anrmto;
|
||||
integer lwkmin, nb1, nb2, nb3;
|
||||
real bnrmto;
|
||||
extern /* Subroutine */ int shgeqz_(char *, char *, char *, integer *,
|
||||
extern /* Subroutine */ void shgeqz_(char *, char *, char *, integer *,
|
||||
integer *, integer *, real *, integer *, real *, integer *, real *
|
||||
, real *, real *, real *, integer *, real *, integer *, real *,
|
||||
integer *, integer *);
|
||||
real smlnum;
|
||||
extern /* Subroutine */ int sorgqr_(integer *, integer *, integer *, real
|
||||
extern /* Subroutine */ void sorgqr_(integer *, integer *, integer *, real
|
||||
*, integer *, real *, real *, integer *, integer *);
|
||||
integer lwkopt;
|
||||
logical lquery;
|
||||
extern /* Subroutine */ int sormqr_(char *, char *, integer *, integer *,
|
||||
extern /* Subroutine */ void sormqr_(char *, char *, integer *, integer *,
|
||||
integer *, real *, integer *, real *, real *, integer *, real *,
|
||||
integer *, integer *);
|
||||
integer ihi, ilo;
|
||||
|
@ -899,16 +899,16 @@ ices</b> */
|
|||
|
||||
if (*info != 0) {
|
||||
i__1 = -(*info);
|
||||
xerbla_("SGEGS ", &i__1);
|
||||
return 0;
|
||||
xerbla_("SGEGS ", &i__1, 6);
|
||||
return;
|
||||
} else if (lquery) {
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
|
||||
/* Quick return if possible */
|
||||
|
||||
if (*n == 0) {
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
|
||||
/* Get machine constants */
|
||||
|
@ -935,7 +935,7 @@ ices</b> */
|
|||
iinfo);
|
||||
if (iinfo != 0) {
|
||||
*info = *n + 9;
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -956,7 +956,7 @@ ices</b> */
|
|||
iinfo);
|
||||
if (iinfo != 0) {
|
||||
*info = *n + 9;
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1093,19 +1093,19 @@ ices</b> */
|
|||
iinfo);
|
||||
if (iinfo != 0) {
|
||||
*info = *n + 9;
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
slascl_("G", &c_n1, &c_n1, &anrmto, &anrm, n, &c__1, &alphar[1], n, &
|
||||
iinfo);
|
||||
if (iinfo != 0) {
|
||||
*info = *n + 9;
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
slascl_("G", &c_n1, &c_n1, &anrmto, &anrm, n, &c__1, &alphai[1], n, &
|
||||
iinfo);
|
||||
if (iinfo != 0) {
|
||||
*info = *n + 9;
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1114,20 +1114,20 @@ ices</b> */
|
|||
iinfo);
|
||||
if (iinfo != 0) {
|
||||
*info = *n + 9;
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
slascl_("G", &c_n1, &c_n1, &bnrmto, &bnrm, n, &c__1, &beta[1], n, &
|
||||
iinfo);
|
||||
if (iinfo != 0) {
|
||||
*info = *n + 9;
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
L10:
|
||||
work[1] = (real) lwkopt;
|
||||
|
||||
return 0;
|
||||
return;
|
||||
|
||||
/* End of SGEGS */
|
||||
|
||||
|
|
|
@ -822,7 +822,7 @@ rices</b> */
|
|||
/* > \endverbatim */
|
||||
/* > */
|
||||
/* ===================================================================== */
|
||||
/* Subroutine */ int sgegv_(char *jobvl, char *jobvr, integer *n, real *a,
|
||||
/* Subroutine */ void sgegv_(char *jobvl, char *jobvr, integer *n, real *a,
|
||||
integer *lda, real *b, integer *ldb, real *alphar, real *alphai, real
|
||||
*beta, real *vl, integer *ldvl, real *vr, integer *ldvr, real *work,
|
||||
integer *lwork, integer *info)
|
||||
|
@ -842,7 +842,7 @@ rices</b> */
|
|||
extern logical lsame_(char *, char *);
|
||||
integer ileft, iinfo, icols, iwork, irows, jc, nb, in, jr;
|
||||
real salfai;
|
||||
extern /* Subroutine */ int sggbak_(char *, char *, integer *, integer *,
|
||||
extern /* Subroutine */ void sggbak_(char *, char *, integer *, integer *,
|
||||
integer *, real *, real *, integer *, real *, integer *, integer *
|
||||
), sggbal_(char *, integer *, real *, integer *,
|
||||
real *, integer *, integer *, integer *, real *, real *, real *,
|
||||
|
@ -851,22 +851,23 @@ rices</b> */
|
|||
extern real slamch_(char *), slange_(char *, integer *, integer *,
|
||||
real *, integer *, real *);
|
||||
real safmin;
|
||||
extern /* Subroutine */ int sgghrd_(char *, char *, integer *, integer *,
|
||||
extern /* Subroutine */ void sgghrd_(char *, char *, integer *, integer *,
|
||||
integer *, real *, integer *, real *, integer *, real *, integer *
|
||||
, real *, integer *, integer *);
|
||||
real safmax;
|
||||
char chtemp[1];
|
||||
logical ldumma[1];
|
||||
extern /* Subroutine */ int slascl_(char *, integer *, integer *, real *,
|
||||
real *, integer *, integer *, real *, integer *, integer *), xerbla_(char *, integer *);
|
||||
extern /* Subroutine */ void slascl_(char *, integer *, integer *, real *,
|
||||
real *, integer *, integer *, real *, integer *, integer *);
|
||||
extern int xerbla_(char *, integer *, ftnlen);
|
||||
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
|
||||
integer *, integer *, ftnlen, ftnlen);
|
||||
integer ijobvl, iright;
|
||||
logical ilimit;
|
||||
extern /* Subroutine */ int sgeqrf_(integer *, integer *, real *, integer
|
||||
extern /* Subroutine */ void sgeqrf_(integer *, integer *, real *, integer
|
||||
*, real *, real *, integer *, integer *);
|
||||
integer ijobvr;
|
||||
extern /* Subroutine */ int slacpy_(char *, integer *, integer *, real *,
|
||||
extern /* Subroutine */ void slacpy_(char *, integer *, integer *, real *,
|
||||
integer *, real *, integer *), slaset_(char *, integer *,
|
||||
integer *, real *, real *, real *, integer *), stgevc_(
|
||||
char *, char *, logical *, integer *, real *, integer *, real *,
|
||||
|
@ -874,7 +875,7 @@ rices</b> */
|
|||
integer *, real *, integer *);
|
||||
real onepls;
|
||||
integer lwkmin, nb1, nb2, nb3;
|
||||
extern /* Subroutine */ int shgeqz_(char *, char *, char *, integer *,
|
||||
extern /* Subroutine */ void shgeqz_(char *, char *, char *, integer *,
|
||||
integer *, integer *, real *, integer *, real *, integer *, real *
|
||||
, real *, real *, real *, integer *, real *, integer *, real *,
|
||||
integer *, integer *), sorgqr_(integer *,
|
||||
|
@ -882,7 +883,7 @@ rices</b> */
|
|||
, integer *);
|
||||
integer lwkopt;
|
||||
logical lquery;
|
||||
extern /* Subroutine */ int sormqr_(char *, char *, integer *, integer *,
|
||||
extern /* Subroutine */ void sormqr_(char *, char *, integer *, integer *,
|
||||
integer *, real *, integer *, real *, real *, integer *, real *,
|
||||
integer *, integer *);
|
||||
integer ihi, ilo;
|
||||
|
@ -988,16 +989,16 @@ rices</b> */
|
|||
|
||||
if (*info != 0) {
|
||||
i__1 = -(*info);
|
||||
xerbla_("SGEGV ", &i__1);
|
||||
return 0;
|
||||
xerbla_("SGEGV ", &i__1, 6);
|
||||
return;
|
||||
} else if (lquery) {
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
|
||||
/* Quick return if possible */
|
||||
|
||||
if (*n == 0) {
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
|
||||
/* Get machine constants */
|
||||
|
@ -1025,7 +1026,7 @@ rices</b> */
|
|||
iinfo);
|
||||
if (iinfo != 0) {
|
||||
*info = *n + 10;
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1046,7 +1047,7 @@ rices</b> */
|
|||
iinfo);
|
||||
if (iinfo != 0) {
|
||||
*info = *n + 10;
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1417,7 +1418,7 @@ L100:
|
|||
L120:
|
||||
work[1] = (real) lwkopt;
|
||||
|
||||
return 0;
|
||||
return;
|
||||
|
||||
/* End of SGEGV */
|
||||
|
||||
|
|
|
@ -694,7 +694,7 @@ f"> */
|
|||
/* > \ingroup realGEsolve */
|
||||
|
||||
/* ===================================================================== */
|
||||
/* Subroutine */ int sgelsx_(integer *m, integer *n, integer *nrhs, real *a,
|
||||
/* Subroutine */ void sgelsx_(integer *m, integer *n, integer *nrhs, real *a,
|
||||
integer *lda, real *b, integer *ldb, integer *jpvt, real *rcond,
|
||||
integer *rank, real *work, integer *info)
|
||||
{
|
||||
|
@ -706,7 +706,7 @@ f"> */
|
|||
real anrm, bnrm, smin, smax;
|
||||
integer i__, j, k, iascl, ibscl, ismin, ismax;
|
||||
real c1, c2, s1, s2, t1, t2;
|
||||
extern /* Subroutine */ int strsm_(char *, char *, char *, char *,
|
||||
extern /* Subroutine */ void strsm_(char *, char *, char *, char *,
|
||||
integer *, integer *, real *, real *, integer *, real *, integer *
|
||||
), slaic1_(integer *, integer *,
|
||||
real *, real *, real *, real *, real *, real *, real *), sorm2r_(
|
||||
|
@ -716,14 +716,14 @@ f"> */
|
|||
integer mn;
|
||||
extern real slamch_(char *), slange_(char *, integer *, integer *,
|
||||
real *, integer *, real *);
|
||||
extern /* Subroutine */ int xerbla_(char *, integer *);
|
||||
extern /* Subroutine */ int xerbla_(char *, integer *, ftnlen);
|
||||
real bignum;
|
||||
extern /* Subroutine */ int slascl_(char *, integer *, integer *, real *,
|
||||
extern /* Subroutine */ void slascl_(char *, integer *, integer *, real *,
|
||||
real *, integer *, integer *, real *, integer *, integer *), sgeqpf_(integer *, integer *, real *, integer *, integer
|
||||
*, real *, real *, integer *), slaset_(char *, integer *, integer
|
||||
*, real *, real *, real *, integer *);
|
||||
real sminpr, smaxpr, smlnum;
|
||||
extern /* Subroutine */ int slatzm_(char *, integer *, integer *, real *,
|
||||
extern /* Subroutine */ void slatzm_(char *, integer *, integer *, real *,
|
||||
integer *, real *, real *, real *, integer *, real *),
|
||||
stzrqf_(integer *, integer *, real *, integer *, real *, integer *
|
||||
);
|
||||
|
@ -774,8 +774,8 @@ f"> */
|
|||
|
||||
if (*info != 0) {
|
||||
i__1 = -(*info);
|
||||
xerbla_("SGELSX", &i__1);
|
||||
return 0;
|
||||
xerbla_("SGELSX", &i__1, 6);
|
||||
return;
|
||||
}
|
||||
|
||||
/* Quick return if possible */
|
||||
|
@ -784,7 +784,7 @@ f"> */
|
|||
i__1 = f2cmin(*m,*n);
|
||||
if (f2cmin(i__1,*nrhs) == 0) {
|
||||
*rank = 0;
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
|
||||
/* Get machine parameters */
|
||||
|
@ -992,7 +992,7 @@ L70:
|
|||
|
||||
L100:
|
||||
|
||||
return 0;
|
||||
return;
|
||||
|
||||
/* End of SGELSX */
|
||||
|
||||
|
|
|
@ -655,7 +655,7 @@ f"> */
|
|||
/* > \endverbatim */
|
||||
/* > */
|
||||
/* ===================================================================== */
|
||||
/* Subroutine */ int sgeqpf_(integer *m, integer *n, real *a, integer *lda,
|
||||
/* Subroutine */ void sgeqpf_(integer *m, integer *n, real *a, integer *lda,
|
||||
integer *jpvt, real *tau, real *work, integer *info)
|
||||
{
|
||||
/* System generated locals */
|
||||
|
@ -667,19 +667,20 @@ f"> */
|
|||
extern real snrm2_(integer *, real *, integer *);
|
||||
integer i__, j;
|
||||
real tol3z;
|
||||
extern /* Subroutine */ int slarf_(char *, integer *, integer *, real *,
|
||||
extern /* Subroutine */ void slarf_(char *, integer *, integer *, real *,
|
||||
integer *, real *, real *, integer *, real *);
|
||||
integer itemp;
|
||||
extern /* Subroutine */ int sswap_(integer *, real *, integer *, real *,
|
||||
extern /* Subroutine */ void sswap_(integer *, real *, integer *, real *,
|
||||
integer *), sgeqr2_(integer *, integer *, real *, integer *, real
|
||||
*, real *, integer *);
|
||||
integer ma;
|
||||
extern /* Subroutine */ int sorm2r_(char *, char *, integer *, integer *,
|
||||
extern /* Subroutine */ void sorm2r_(char *, char *, integer *, integer *,
|
||||
integer *, real *, integer *, real *, real *, integer *, real *,
|
||||
integer *);
|
||||
integer mn;
|
||||
extern real slamch_(char *);
|
||||
extern /* Subroutine */ int xerbla_(char *, integer *), slarfg_(
|
||||
extern /* Subroutine */ int xerbla_(char *, integer *, ftnlen);
|
||||
extern void slarfg_(
|
||||
integer *, real *, real *, integer *, real *);
|
||||
extern integer isamax_(integer *, real *, integer *);
|
||||
real aii;
|
||||
|
@ -716,8 +717,8 @@ f"> */
|
|||
}
|
||||
if (*info != 0) {
|
||||
i__1 = -(*info);
|
||||
xerbla_("SGEQPF", &i__1);
|
||||
return 0;
|
||||
xerbla_("SGEQPF", &i__1, 6);
|
||||
return;
|
||||
}
|
||||
|
||||
mn = f2cmin(*m,*n);
|
||||
|
@ -851,7 +852,7 @@ f"> */
|
|||
/* L40: */
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
return;
|
||||
|
||||
/* End of SGEQPF */
|
||||
|
||||
|
|
|
@ -845,7 +845,7 @@ f"> */
|
|||
/* > California at Berkeley, USA */
|
||||
/* > */
|
||||
/* ===================================================================== */
|
||||
/* Subroutine */ int sggsvd_(char *jobu, char *jobv, char *jobq, integer *m,
|
||||
/* Subroutine */ void sggsvd_(char *jobu, char *jobv, char *jobq, integer *m,
|
||||
integer *n, integer *p, integer *k, integer *l, real *a, integer *lda,
|
||||
real *b, integer *ldb, real *alpha, real *beta, real *u, integer *
|
||||
ldu, real *v, integer *ldv, real *q, integer *ldq, real *work,
|
||||
|
@ -864,12 +864,13 @@ f"> */
|
|||
extern logical lsame_(char *, char *);
|
||||
real anorm, bnorm;
|
||||
logical wantq;
|
||||
extern /* Subroutine */ int scopy_(integer *, real *, integer *, real *,
|
||||
extern /* Subroutine */ void scopy_(integer *, real *, integer *, real *,
|
||||
integer *);
|
||||
logical wantu, wantv;
|
||||
extern real slamch_(char *), slange_(char *, integer *, integer *,
|
||||
real *, integer *, real *);
|
||||
extern /* Subroutine */ int xerbla_(char *, integer *), stgsja_(
|
||||
extern /* Subroutine */ int xerbla_(char *, integer *, ftnlen);
|
||||
extern void stgsja_(
|
||||
char *, char *, char *, integer *, integer *, integer *, integer *
|
||||
, integer *, real *, integer *, real *, integer *, real *, real *,
|
||||
real *, real *, real *, integer *, real *, integer *, real *,
|
||||
|
@ -944,8 +945,8 @@ f"> */
|
|||
}
|
||||
if (*info != 0) {
|
||||
i__1 = -(*info);
|
||||
xerbla_("SGGSVD", &i__1);
|
||||
return 0;
|
||||
xerbla_("SGGSVD", &i__1, 6);
|
||||
return;
|
||||
}
|
||||
|
||||
/* Compute the Frobenius norm of matrices A and B */
|
||||
|
@ -1006,7 +1007,7 @@ f"> */
|
|||
/* L20: */
|
||||
}
|
||||
|
||||
return 0;
|
||||
return;
|
||||
|
||||
/* End of SGGSVD */
|
||||
|
||||
|
|
|
@ -768,7 +768,7 @@ f"> */
|
|||
/* > a matrix. It may be replaced by a better rank determination strategy. */
|
||||
/* > */
|
||||
/* ===================================================================== */
|
||||
/* Subroutine */ int sggsvp_(char *jobu, char *jobv, char *jobq, integer *m,
|
||||
/* Subroutine */ void sggsvp_(char *jobu, char *jobv, char *jobq, integer *m,
|
||||
integer *p, integer *n, real *a, integer *lda, real *b, integer *ldb,
|
||||
real *tola, real *tolb, integer *k, integer *l, real *u, integer *ldu,
|
||||
real *v, integer *ldv, real *q, integer *ldq, integer *iwork, real *
|
||||
|
@ -783,13 +783,15 @@ f"> */
|
|||
integer i__, j;
|
||||
extern logical lsame_(char *, char *);
|
||||
logical wantq, wantu, wantv;
|
||||
extern /* Subroutine */ int sgeqr2_(integer *, integer *, real *, integer
|
||||
extern /* Subroutine */ void sgeqr2_(integer *, integer *, real *, integer
|
||||
*, real *, real *, integer *), sgerq2_(integer *, integer *, real
|
||||
*, integer *, real *, real *, integer *), sorg2r_(integer *,
|
||||
integer *, integer *, real *, integer *, real *, real *, integer *
|
||||
), sorm2r_(char *, char *, integer *, integer *, integer *, real *
|
||||
, integer *, real *, real *, integer *, real *, integer *), sormr2_(char *, char *, integer *, integer *, integer *,
|
||||
real *, integer *, real *, real *, integer *, real *, integer *), xerbla_(char *, integer *), sgeqpf_(
|
||||
real *, integer *, real *, real *, integer *, real *, integer *);
|
||||
extern int xerbla_(char *, integer *, ftnlen);
|
||||
extern void sgeqpf_(
|
||||
integer *, integer *, real *, integer *, integer *, real *, real *
|
||||
, integer *), slacpy_(char *, integer *, integer *, real *,
|
||||
integer *, real *, integer *), slaset_(char *, integer *,
|
||||
|
@ -861,8 +863,8 @@ f"> */
|
|||
}
|
||||
if (*info != 0) {
|
||||
i__1 = -(*info);
|
||||
xerbla_("SGGSVP", &i__1);
|
||||
return 0;
|
||||
xerbla_("SGGSVP", &i__1, 6);
|
||||
return;
|
||||
}
|
||||
|
||||
/* QR with column pivoting of B: B*P = V*( S11 S12 ) */
|
||||
|
@ -1111,7 +1113,7 @@ f"> */
|
|||
|
||||
}
|
||||
|
||||
return 0;
|
||||
return;
|
||||
|
||||
/* End of SGGSVP */
|
||||
|
||||
|
|
|
@ -685,7 +685,7 @@ f"> */
|
|||
/* > \endverbatim */
|
||||
/* > */
|
||||
/* ===================================================================== */
|
||||
/* Subroutine */ int slahrd_(integer *n, integer *k, integer *nb, real *a,
|
||||
/* Subroutine */ void slahrd_(integer *n, integer *k, integer *nb, real *a,
|
||||
integer *lda, real *tau, real *t, integer *ldt, real *y, integer *ldy)
|
||||
{
|
||||
/* System generated locals */
|
||||
|
@ -695,14 +695,14 @@ f"> */
|
|||
|
||||
/* Local variables */
|
||||
integer i__;
|
||||
extern /* Subroutine */ int sscal_(integer *, real *, real *, integer *),
|
||||
extern /* Subroutine */ void sscal_(integer *, real *, real *, integer *),
|
||||
sgemv_(char *, integer *, integer *, real *, real *, integer *,
|
||||
real *, integer *, real *, real *, integer *), scopy_(
|
||||
integer *, real *, integer *, real *, integer *), saxpy_(integer *
|
||||
, real *, real *, integer *, real *, integer *), strmv_(char *,
|
||||
char *, char *, integer *, real *, integer *, real *, integer *);
|
||||
real ei;
|
||||
extern /* Subroutine */ int slarfg_(integer *, real *, real *, integer *,
|
||||
extern /* Subroutine */ void slarfg_(integer *, real *, real *, integer *,
|
||||
real *);
|
||||
|
||||
|
||||
|
@ -731,7 +731,7 @@ f"> */
|
|||
|
||||
/* Function Body */
|
||||
if (*n <= 1) {
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
|
||||
i__1 = *nb;
|
||||
|
@ -840,7 +840,7 @@ f"> */
|
|||
}
|
||||
a[*k + *nb + *nb * a_dim1] = ei;
|
||||
|
||||
return 0;
|
||||
return;
|
||||
|
||||
/* End of SLAHRD */
|
||||
|
||||
|
|
|
@ -665,7 +665,7 @@ f"> */
|
|||
/* > \ingroup realOTHERcomputational */
|
||||
|
||||
/* ===================================================================== */
|
||||
/* Subroutine */ int slatzm_(char *side, integer *m, integer *n, real *v,
|
||||
/* Subroutine */ void slatzm_(char *side, integer *m, integer *n, real *v,
|
||||
integer *incv, real *tau, real *c1, real *c2, integer *ldc, real *
|
||||
work)
|
||||
{
|
||||
|
@ -674,10 +674,10 @@ f"> */
|
|||
real r__1;
|
||||
|
||||
/* Local variables */
|
||||
extern /* Subroutine */ int sger_(integer *, integer *, real *, real *,
|
||||
extern /* Subroutine */ void sger_(integer *, integer *, real *, real *,
|
||||
integer *, real *, integer *, real *, integer *);
|
||||
extern logical lsame_(char *, char *);
|
||||
extern /* Subroutine */ int sgemv_(char *, integer *, integer *, real *,
|
||||
extern /* Subroutine */ void sgemv_(char *, integer *, integer *, real *,
|
||||
real *, integer *, real *, integer *, real *, real *, integer *), scopy_(integer *, real *, integer *, real *, integer *),
|
||||
saxpy_(integer *, real *, real *, integer *, real *, integer *);
|
||||
|
||||
|
@ -703,7 +703,7 @@ f"> */
|
|||
|
||||
/* Function Body */
|
||||
if (f2cmin(*m,*n) == 0 || *tau == 0.f) {
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
|
||||
if (lsame_(side, "L")) {
|
||||
|
@ -744,7 +744,7 @@ f"> */
|
|||
ldc);
|
||||
}
|
||||
|
||||
return 0;
|
||||
return;
|
||||
|
||||
/* End of SLATZM */
|
||||
|
||||
|
|
|
@ -652,7 +652,7 @@ f"> */
|
|||
/* > \endverbatim */
|
||||
/* > */
|
||||
/* ===================================================================== */
|
||||
/* Subroutine */ int stzrqf_(integer *m, integer *n, real *a, integer *lda,
|
||||
/* Subroutine */ void stzrqf_(integer *m, integer *n, real *a, integer *lda,
|
||||
real *tau, integer *info)
|
||||
{
|
||||
/* System generated locals */
|
||||
|
@ -660,14 +660,16 @@ f"> */
|
|||
real r__1;
|
||||
|
||||
/* Local variables */
|
||||
extern /* Subroutine */ int sger_(integer *, integer *, real *, real *,
|
||||
extern /* Subroutine */ void sger_(integer *, integer *, real *, real *,
|
||||
integer *, real *, integer *, real *, integer *);
|
||||
integer i__, k;
|
||||
extern /* Subroutine */ int sgemv_(char *, integer *, integer *, real *,
|
||||
extern /* Subroutine */ void sgemv_(char *, integer *, integer *, real *,
|
||||
real *, integer *, real *, integer *, real *, real *, integer *), scopy_(integer *, real *, integer *, real *, integer *);
|
||||
integer m1;
|
||||
extern /* Subroutine */ int saxpy_(integer *, real *, real *, integer *,
|
||||
real *, integer *), xerbla_(char *, integer *), slarfg_(
|
||||
extern /* Subroutine */ void saxpy_(integer *, real *, real *, integer *,
|
||||
real *, integer *);
|
||||
extern int xerbla_(char *, integer *, ftnlen);
|
||||
extern void slarfg_(
|
||||
integer *, real *, real *, integer *, real *);
|
||||
|
||||
|
||||
|
@ -699,14 +701,14 @@ f"> */
|
|||
}
|
||||
if (*info != 0) {
|
||||
i__1 = -(*info);
|
||||
xerbla_("STZRQF", &i__1);
|
||||
return 0;
|
||||
xerbla_("STZRQF", &i__1, 6);
|
||||
return;
|
||||
}
|
||||
|
||||
/* Perform the factorization. */
|
||||
|
||||
if (*m == 0) {
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
if (*m == *n) {
|
||||
i__1 = *n;
|
||||
|
@ -764,7 +766,7 @@ f"> */
|
|||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
return;
|
||||
|
||||
/* End of STZRQF */
|
||||
|
||||
|
|
|
@ -740,7 +740,7 @@ rices</b> */
|
|||
/* > \ingroup complex16GEeigen */
|
||||
|
||||
/* ===================================================================== */
|
||||
/* Subroutine */ int zgegs_(char *jobvsl, char *jobvsr, integer *n,
|
||||
/* Subroutine */ void zgegs_(char *jobvsl, char *jobvsr, integer *n,
|
||||
doublecomplex *a, integer *lda, doublecomplex *b, integer *ldb,
|
||||
doublecomplex *alpha, doublecomplex *beta, doublecomplex *vsl,
|
||||
integer *ldvsl, doublecomplex *vsr, integer *ldvsr, doublecomplex *
|
||||
|
@ -760,34 +760,34 @@ rices</b> */
|
|||
logical ilvsr;
|
||||
integer irows, nb;
|
||||
extern doublereal dlamch_(char *);
|
||||
extern /* Subroutine */ int zggbak_(char *, char *, integer *, integer *,
|
||||
extern /* Subroutine */ void zggbak_(char *, char *, integer *, integer *,
|
||||
integer *, doublereal *, doublereal *, integer *, doublecomplex *,
|
||||
integer *, integer *), zggbal_(char *, integer *,
|
||||
doublecomplex *, integer *, doublecomplex *, integer *, integer *
|
||||
, integer *, doublereal *, doublereal *, doublereal *, integer *);
|
||||
logical ilascl, ilbscl;
|
||||
doublereal safmin;
|
||||
extern /* Subroutine */ int xerbla_(char *, integer *);
|
||||
extern /* Subroutine */ int xerbla_(char *, integer *, ftnlen);
|
||||
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
|
||||
integer *, integer *, ftnlen, ftnlen);
|
||||
extern doublereal zlange_(char *, integer *, integer *, doublecomplex *,
|
||||
integer *, doublereal *);
|
||||
doublereal bignum;
|
||||
integer ijobvl, iright;
|
||||
extern /* Subroutine */ int zgghrd_(char *, char *, integer *, integer *,
|
||||
extern /* Subroutine */ void zgghrd_(char *, char *, integer *, integer *,
|
||||
integer *, doublecomplex *, integer *, doublecomplex *, integer *,
|
||||
doublecomplex *, integer *, doublecomplex *, integer *, integer *
|
||||
), zlascl_(char *, integer *, integer *,
|
||||
doublereal *, doublereal *, integer *, integer *, doublecomplex *,
|
||||
integer *, integer *);
|
||||
integer ijobvr;
|
||||
extern /* Subroutine */ int zgeqrf_(integer *, integer *, doublecomplex *,
|
||||
extern /* Subroutine */ void zgeqrf_(integer *, integer *, doublecomplex *,
|
||||
integer *, doublecomplex *, doublecomplex *, integer *, integer *
|
||||
);
|
||||
doublereal anrmto;
|
||||
integer lwkmin, nb1, nb2, nb3;
|
||||
doublereal bnrmto;
|
||||
extern /* Subroutine */ int zlacpy_(char *, integer *, integer *,
|
||||
extern /* Subroutine */ void zlacpy_(char *, integer *, integer *,
|
||||
doublecomplex *, integer *, doublecomplex *, integer *),
|
||||
zhgeqz_(char *, char *, char *, integer *, integer *, integer *,
|
||||
doublecomplex *, integer *, doublecomplex *, integer *,
|
||||
|
@ -799,7 +799,7 @@ rices</b> */
|
|||
doublereal smlnum;
|
||||
integer irwork, lwkopt;
|
||||
logical lquery;
|
||||
extern /* Subroutine */ int zungqr_(integer *, integer *, integer *,
|
||||
extern /* Subroutine */ void zungqr_(integer *, integer *, integer *,
|
||||
doublecomplex *, integer *, doublecomplex *, doublecomplex *,
|
||||
integer *, integer *), zunmqr_(char *, char *, integer *, integer
|
||||
*, integer *, doublecomplex *, integer *, doublecomplex *,
|
||||
|
@ -903,16 +903,16 @@ rices</b> */
|
|||
|
||||
if (*info != 0) {
|
||||
i__1 = -(*info);
|
||||
xerbla_("ZGEGS ", &i__1);
|
||||
return 0;
|
||||
xerbla_("ZGEGS ", &i__1, 6);
|
||||
return;
|
||||
} else if (lquery) {
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
|
||||
/* Quick return if possible */
|
||||
|
||||
if (*n == 0) {
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
|
||||
/* Get machine constants */
|
||||
|
@ -939,7 +939,7 @@ rices</b> */
|
|||
iinfo);
|
||||
if (iinfo != 0) {
|
||||
*info = *n + 9;
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -960,7 +960,7 @@ rices</b> */
|
|||
iinfo);
|
||||
if (iinfo != 0) {
|
||||
*info = *n + 9;
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1097,13 +1097,13 @@ rices</b> */
|
|||
iinfo);
|
||||
if (iinfo != 0) {
|
||||
*info = *n + 9;
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
zlascl_("G", &c_n1, &c_n1, &anrmto, &anrm, n, &c__1, &alpha[1], n, &
|
||||
iinfo);
|
||||
if (iinfo != 0) {
|
||||
*info = *n + 9;
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1112,20 +1112,20 @@ rices</b> */
|
|||
iinfo);
|
||||
if (iinfo != 0) {
|
||||
*info = *n + 9;
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
zlascl_("G", &c_n1, &c_n1, &bnrmto, &bnrm, n, &c__1, &beta[1], n, &
|
||||
iinfo);
|
||||
if (iinfo != 0) {
|
||||
*info = *n + 9;
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
L10:
|
||||
work[1].r = (doublereal) lwkopt, work[1].i = 0.;
|
||||
|
||||
return 0;
|
||||
return;
|
||||
|
||||
/* End of ZGEGS */
|
||||
|
||||
|
|
|
@ -799,7 +799,7 @@ rices</b> */
|
|||
/* > \endverbatim */
|
||||
/* > */
|
||||
/* ===================================================================== */
|
||||
/* Subroutine */ int zgegv_(char *jobvl, char *jobvr, integer *n,
|
||||
/* Subroutine */ void zgegv_(char *jobvl, char *jobvr, integer *n,
|
||||
doublecomplex *a, integer *lda, doublecomplex *b, integer *ldb,
|
||||
doublecomplex *alpha, doublecomplex *beta, doublecomplex *vl, integer
|
||||
*ldvl, doublecomplex *vr, integer *ldvr, doublecomplex *work, integer
|
||||
|
@ -823,13 +823,13 @@ rices</b> */
|
|||
extern doublereal dlamch_(char *);
|
||||
integer jr;
|
||||
doublereal salfai;
|
||||
extern /* Subroutine */ int zggbak_(char *, char *, integer *, integer *,
|
||||
extern /* Subroutine */ void zggbak_(char *, char *, integer *, integer *,
|
||||
integer *, doublereal *, doublereal *, integer *, doublecomplex *,
|
||||
integer *, integer *), zggbal_(char *, integer *,
|
||||
doublecomplex *, integer *, doublecomplex *, integer *, integer *
|
||||
, integer *, doublereal *, doublereal *, doublereal *, integer *);
|
||||
doublereal salfar, safmin;
|
||||
extern /* Subroutine */ int xerbla_(char *, integer *);
|
||||
extern /* Subroutine */ int xerbla_(char *, integer *, ftnlen);
|
||||
doublereal safmax;
|
||||
char chtemp[1];
|
||||
logical ldumma[1];
|
||||
|
@ -839,18 +839,18 @@ rices</b> */
|
|||
integer *, doublereal *);
|
||||
integer ijobvl, iright;
|
||||
logical ilimit;
|
||||
extern /* Subroutine */ int zgghrd_(char *, char *, integer *, integer *,
|
||||
extern /* Subroutine */ void zgghrd_(char *, char *, integer *, integer *,
|
||||
integer *, doublecomplex *, integer *, doublecomplex *, integer *,
|
||||
doublecomplex *, integer *, doublecomplex *, integer *, integer *
|
||||
), zlascl_(char *, integer *, integer *,
|
||||
doublereal *, doublereal *, integer *, integer *, doublecomplex *,
|
||||
integer *, integer *);
|
||||
integer ijobvr;
|
||||
extern /* Subroutine */ int zgeqrf_(integer *, integer *, doublecomplex *,
|
||||
extern /* Subroutine */ void zgeqrf_(integer *, integer *, doublecomplex *,
|
||||
integer *, doublecomplex *, doublecomplex *, integer *, integer *
|
||||
);
|
||||
integer lwkmin, nb1, nb2, nb3;
|
||||
extern /* Subroutine */ int zlacpy_(char *, integer *, integer *,
|
||||
extern /* Subroutine */ void zlacpy_(char *, integer *, integer *,
|
||||
doublecomplex *, integer *, doublecomplex *, integer *),
|
||||
zlaset_(char *, integer *, integer *, doublecomplex *,
|
||||
doublecomplex *, doublecomplex *, integer *), ztgevc_(
|
||||
|
@ -864,7 +864,7 @@ rices</b> */
|
|||
integer *, doublecomplex *, integer *, doublereal *, integer *);
|
||||
integer irwork, lwkopt;
|
||||
logical lquery;
|
||||
extern /* Subroutine */ int zungqr_(integer *, integer *, integer *,
|
||||
extern /* Subroutine */ void zungqr_(integer *, integer *, integer *,
|
||||
doublecomplex *, integer *, doublecomplex *, doublecomplex *,
|
||||
integer *, integer *), zunmqr_(char *, char *, integer *, integer
|
||||
*, integer *, doublecomplex *, integer *, doublecomplex *,
|
||||
|
@ -972,16 +972,16 @@ rices</b> */
|
|||
|
||||
if (*info != 0) {
|
||||
i__1 = -(*info);
|
||||
xerbla_("ZGEGV ", &i__1);
|
||||
return 0;
|
||||
xerbla_("ZGEGV ", &i__1, 6);
|
||||
return;
|
||||
} else if (lquery) {
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
|
||||
/* Quick return if possible */
|
||||
|
||||
if (*n == 0) {
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
|
||||
/* Get machine constants */
|
||||
|
@ -1008,7 +1008,7 @@ rices</b> */
|
|||
iinfo);
|
||||
if (iinfo != 0) {
|
||||
*info = *n + 10;
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1029,7 +1029,7 @@ rices</b> */
|
|||
iinfo);
|
||||
if (iinfo != 0) {
|
||||
*info = *n + 10;
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1356,7 +1356,7 @@ L60:
|
|||
L80:
|
||||
work[1].r = (doublereal) lwkopt, work[1].i = 0.;
|
||||
|
||||
return 0;
|
||||
return;
|
||||
|
||||
/* End of ZGEGV */
|
||||
|
||||
|
|
|
@ -700,7 +700,7 @@ f"> */
|
|||
/* > \ingroup complex16GEsolve */
|
||||
|
||||
/* ===================================================================== */
|
||||
/* Subroutine */ int zgelsx_(integer *m, integer *n, integer *nrhs,
|
||||
/* Subroutine */ void zgelsx_(integer *m, integer *n, integer *nrhs,
|
||||
doublecomplex *a, integer *lda, doublecomplex *b, integer *ldb,
|
||||
integer *jpvt, doublereal *rcond, integer *rank, doublecomplex *work,
|
||||
doublereal *rwork, integer *info)
|
||||
|
@ -713,7 +713,7 @@ f"> */
|
|||
doublereal anrm, bnrm, smin, smax;
|
||||
integer i__, j, k, iascl, ibscl, ismin, ismax;
|
||||
doublecomplex c1, c2, s1, s2, t1, t2;
|
||||
extern /* Subroutine */ int ztrsm_(char *, char *, char *, char *,
|
||||
extern /* Subroutine */ void ztrsm_(char *, char *, char *, char *,
|
||||
integer *, integer *, doublecomplex *, doublecomplex *, integer *,
|
||||
doublecomplex *, integer *),
|
||||
zlaic1_(integer *, integer *, doublecomplex *, doublereal *,
|
||||
|
@ -721,13 +721,14 @@ f"> */
|
|||
doublecomplex *), dlabad_(doublereal *, doublereal *);
|
||||
extern doublereal dlamch_(char *);
|
||||
integer mn;
|
||||
extern /* Subroutine */ int zunm2r_(char *, char *, integer *, integer *,
|
||||
extern /* Subroutine */ void zunm2r_(char *, char *, integer *, integer *,
|
||||
integer *, doublecomplex *, integer *, doublecomplex *,
|
||||
doublecomplex *, integer *, doublecomplex *, integer *), xerbla_(char *, integer *);
|
||||
doublecomplex *, integer *, doublecomplex *, integer *);
|
||||
extern int xerbla_(char *, integer *, ftnlen);
|
||||
extern doublereal zlange_(char *, integer *, integer *, doublecomplex *,
|
||||
integer *, doublereal *);
|
||||
doublereal bignum;
|
||||
extern /* Subroutine */ int zlascl_(char *, integer *, integer *,
|
||||
extern /* Subroutine */ void zlascl_(char *, integer *, integer *,
|
||||
doublereal *, doublereal *, integer *, integer *, doublecomplex *,
|
||||
integer *, integer *), zgeqpf_(integer *, integer *,
|
||||
doublecomplex *, integer *, integer *, doublecomplex *,
|
||||
|
@ -735,7 +736,7 @@ f"> */
|
|||
integer *, integer *, doublecomplex *, doublecomplex *,
|
||||
doublecomplex *, integer *);
|
||||
doublereal sminpr, smaxpr, smlnum;
|
||||
extern /* Subroutine */ int zlatzm_(char *, integer *, integer *,
|
||||
extern /* Subroutine */ void zlatzm_(char *, integer *, integer *,
|
||||
doublecomplex *, integer *, doublecomplex *, doublecomplex *,
|
||||
doublecomplex *, integer *, doublecomplex *), ztzrqf_(
|
||||
integer *, integer *, doublecomplex *, integer *, doublecomplex *,
|
||||
|
@ -788,8 +789,8 @@ f"> */
|
|||
|
||||
if (*info != 0) {
|
||||
i__1 = -(*info);
|
||||
xerbla_("ZGELSX", &i__1);
|
||||
return 0;
|
||||
xerbla_("ZGELSX", &i__1, 6);
|
||||
return;
|
||||
}
|
||||
|
||||
/* Quick return if possible */
|
||||
|
@ -798,7 +799,7 @@ f"> */
|
|||
i__1 = f2cmin(*m,*n);
|
||||
if (f2cmin(i__1,*nrhs) == 0) {
|
||||
*rank = 0;
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
|
||||
/* Get machine parameters */
|
||||
|
@ -1030,7 +1031,7 @@ L70:
|
|||
|
||||
L100:
|
||||
|
||||
return 0;
|
||||
return;
|
||||
|
||||
/* End of ZGELSX */
|
||||
|
||||
|
|
|
@ -661,7 +661,7 @@ f"> */
|
|||
/* > \endverbatim */
|
||||
/* > */
|
||||
/* ===================================================================== */
|
||||
/* Subroutine */ int zgeqpf_(integer *m, integer *n, doublecomplex *a,
|
||||
/* Subroutine */ void zgeqpf_(integer *m, integer *n, doublecomplex *a,
|
||||
integer *lda, integer *jpvt, doublecomplex *tau, doublecomplex *work,
|
||||
doublereal *rwork, integer *info)
|
||||
{
|
||||
|
@ -675,7 +675,7 @@ f"> */
|
|||
integer i__, j;
|
||||
doublereal tol3z;
|
||||
integer itemp;
|
||||
extern /* Subroutine */ int zlarf_(char *, integer *, integer *,
|
||||
extern /* Subroutine */ void zlarf_(char *, integer *, integer *,
|
||||
doublecomplex *, integer *, doublecomplex *, doublecomplex *,
|
||||
integer *, doublecomplex *), zswap_(integer *,
|
||||
doublecomplex *, integer *, doublecomplex *, integer *), zgeqr2_(
|
||||
|
@ -685,11 +685,12 @@ f"> */
|
|||
integer ma;
|
||||
extern doublereal dlamch_(char *);
|
||||
integer mn;
|
||||
extern /* Subroutine */ int zunm2r_(char *, char *, integer *, integer *,
|
||||
extern /* Subroutine */ void zunm2r_(char *, char *, integer *, integer *,
|
||||
integer *, doublecomplex *, integer *, doublecomplex *,
|
||||
doublecomplex *, integer *, doublecomplex *, integer *);
|
||||
extern integer idamax_(integer *, doublereal *, integer *);
|
||||
extern /* Subroutine */ int xerbla_(char *, integer *), zlarfg_(
|
||||
extern /* Subroutine */ int xerbla_(char *, integer *, ftnlen);
|
||||
extern void zlarfg_(
|
||||
integer *, doublecomplex *, doublecomplex *, integer *,
|
||||
doublecomplex *);
|
||||
doublecomplex aii;
|
||||
|
@ -727,8 +728,8 @@ f"> */
|
|||
}
|
||||
if (*info != 0) {
|
||||
i__1 = -(*info);
|
||||
xerbla_("ZGEQPF", &i__1);
|
||||
return 0;
|
||||
xerbla_("ZGEQPF", &i__1, 6);
|
||||
return;
|
||||
}
|
||||
|
||||
mn = f2cmin(*m,*n);
|
||||
|
@ -867,7 +868,7 @@ f"> */
|
|||
/* L40: */
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
return;
|
||||
|
||||
/* End of ZGEQPF */
|
||||
|
||||
|
|
|
@ -848,7 +848,7 @@ f"> */
|
|||
/* > California at Berkeley, USA */
|
||||
/* > */
|
||||
/* ===================================================================== */
|
||||
/* Subroutine */ int zggsvd_(char *jobu, char *jobv, char *jobq, integer *m,
|
||||
/* Subroutine */ void zggsvd_(char *jobu, char *jobv, char *jobq, integer *m,
|
||||
integer *n, integer *p, integer *k, integer *l, doublecomplex *a,
|
||||
integer *lda, doublecomplex *b, integer *ldb, doublereal *alpha,
|
||||
doublereal *beta, doublecomplex *u, integer *ldu, doublecomplex *v,
|
||||
|
@ -867,14 +867,14 @@ f"> */
|
|||
integer ncallmycycle, i__, j;
|
||||
extern logical lsame_(char *, char *);
|
||||
doublereal anorm, bnorm;
|
||||
extern /* Subroutine */ int dcopy_(integer *, doublereal *, integer *,
|
||||
extern /* Subroutine */ void dcopy_(integer *, doublereal *, integer *,
|
||||
doublereal *, integer *);
|
||||
logical wantq, wantu, wantv;
|
||||
extern doublereal dlamch_(char *);
|
||||
extern /* Subroutine */ int xerbla_(char *, integer *);
|
||||
extern /* Subroutine */ int xerbla_(char *, integer *, ftnlen);
|
||||
extern doublereal zlange_(char *, integer *, integer *, doublecomplex *,
|
||||
integer *, doublereal *);
|
||||
extern /* Subroutine */ int ztgsja_(char *, char *, char *, integer *,
|
||||
extern /* Subroutine */ void ztgsja_(char *, char *, char *, integer *,
|
||||
integer *, integer *, integer *, integer *, doublecomplex *,
|
||||
integer *, doublecomplex *, integer *, doublereal *, doublereal *,
|
||||
doublereal *, doublereal *, doublecomplex *, integer *,
|
||||
|
@ -953,8 +953,8 @@ f"> */
|
|||
}
|
||||
if (*info != 0) {
|
||||
i__1 = -(*info);
|
||||
xerbla_("ZGGSVD", &i__1);
|
||||
return 0;
|
||||
xerbla_("ZGGSVD", &i__1, 6);
|
||||
return;
|
||||
}
|
||||
|
||||
/* Compute the Frobenius norm of matrices A and B */
|
||||
|
@ -1014,7 +1014,7 @@ f"> */
|
|||
/* L20: */
|
||||
}
|
||||
|
||||
return 0;
|
||||
return;
|
||||
|
||||
/* End of ZGGSVD */
|
||||
|
||||
|
|
|
@ -777,7 +777,7 @@ f"> */
|
|||
/* > \endverbatim */
|
||||
/* > */
|
||||
/* ===================================================================== */
|
||||
/* Subroutine */ int zggsvp_(char *jobu, char *jobv, char *jobq, integer *m,
|
||||
/* Subroutine */ void zggsvp_(char *jobu, char *jobv, char *jobq, integer *m,
|
||||
integer *p, integer *n, doublecomplex *a, integer *lda, doublecomplex
|
||||
*b, integer *ldb, doublereal *tola, doublereal *tolb, integer *k,
|
||||
integer *l, doublecomplex *u, integer *ldu, doublecomplex *v, integer
|
||||
|
@ -793,7 +793,7 @@ f"> */
|
|||
integer i__, j;
|
||||
extern logical lsame_(char *, char *);
|
||||
logical wantq, wantu, wantv;
|
||||
extern /* Subroutine */ int zgeqr2_(integer *, integer *, doublecomplex *,
|
||||
extern /* Subroutine */ void zgeqr2_(integer *, integer *, doublecomplex *,
|
||||
integer *, doublecomplex *, doublecomplex *, integer *), zgerq2_(
|
||||
integer *, integer *, doublecomplex *, integer *, doublecomplex *,
|
||||
doublecomplex *, integer *), zung2r_(integer *, integer *,
|
||||
|
@ -802,14 +802,15 @@ f"> */
|
|||
integer *, integer *, doublecomplex *, integer *, doublecomplex *,
|
||||
doublecomplex *, integer *, doublecomplex *, integer *), zunmr2_(char *, char *, integer *, integer *, integer *,
|
||||
doublecomplex *, integer *, doublecomplex *, doublecomplex *,
|
||||
integer *, doublecomplex *, integer *), xerbla_(
|
||||
char *, integer *), zgeqpf_(integer *, integer *,
|
||||
integer *, doublecomplex *, integer *);
|
||||
extern int xerbla_(char *, integer *, ftnlen);
|
||||
extern void zgeqpf_(integer *, integer *,
|
||||
doublecomplex *, integer *, integer *, doublecomplex *,
|
||||
doublecomplex *, doublereal *, integer *), zlacpy_(char *,
|
||||
integer *, integer *, doublecomplex *, integer *, doublecomplex *,
|
||||
integer *);
|
||||
logical forwrd;
|
||||
extern /* Subroutine */ int zlaset_(char *, integer *, integer *,
|
||||
extern /* Subroutine */ void zlaset_(char *, integer *, integer *,
|
||||
doublecomplex *, doublecomplex *, doublecomplex *, integer *), zlapmt_(logical *, integer *, integer *, doublecomplex *,
|
||||
integer *, integer *);
|
||||
|
||||
|
@ -878,8 +879,8 @@ f"> */
|
|||
}
|
||||
if (*info != 0) {
|
||||
i__1 = -(*info);
|
||||
xerbla_("ZGGSVP", &i__1);
|
||||
return 0;
|
||||
xerbla_("ZGGSVP", &i__1, 6);
|
||||
return;
|
||||
}
|
||||
|
||||
/* QR with column pivoting of B: B*P = V*( S11 S12 ) */
|
||||
|
@ -1137,7 +1138,7 @@ f"> */
|
|||
|
||||
}
|
||||
|
||||
return 0;
|
||||
return;
|
||||
|
||||
/* End of ZGGSVP */
|
||||
|
||||
|
|
|
@ -684,7 +684,7 @@ f"> */
|
|||
/* > \endverbatim */
|
||||
/* > */
|
||||
/* ===================================================================== */
|
||||
/* Subroutine */ int zlahrd_(integer *n, integer *k, integer *nb,
|
||||
/* Subroutine */ void zlahrd_(integer *n, integer *k, integer *nb,
|
||||
doublecomplex *a, integer *lda, doublecomplex *tau, doublecomplex *t,
|
||||
integer *ldt, doublecomplex *y, integer *ldy)
|
||||
{
|
||||
|
@ -695,7 +695,7 @@ f"> */
|
|||
|
||||
/* Local variables */
|
||||
integer i__;
|
||||
extern /* Subroutine */ int zscal_(integer *, doublecomplex *,
|
||||
extern /* Subroutine */ void zscal_(integer *, doublecomplex *,
|
||||
doublecomplex *, integer *), zgemv_(char *, integer *, integer *,
|
||||
doublecomplex *, doublecomplex *, integer *, doublecomplex *,
|
||||
integer *, doublecomplex *, doublecomplex *, integer *),
|
||||
|
@ -705,7 +705,7 @@ f"> */
|
|||
char *, integer *, doublecomplex *, integer *, doublecomplex *,
|
||||
integer *);
|
||||
doublecomplex ei;
|
||||
extern /* Subroutine */ int zlarfg_(integer *, doublecomplex *,
|
||||
extern /* Subroutine */ void zlarfg_(integer *, doublecomplex *,
|
||||
doublecomplex *, integer *, doublecomplex *), zlacgv_(integer *,
|
||||
doublecomplex *, integer *);
|
||||
|
||||
|
@ -735,7 +735,7 @@ f"> */
|
|||
|
||||
/* Function Body */
|
||||
if (*n <= 1) {
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
|
||||
i__1 = *nb;
|
||||
|
@ -859,7 +859,7 @@ f"> */
|
|||
i__1 = *k + *nb + *nb * a_dim1;
|
||||
a[i__1].r = ei.r, a[i__1].i = ei.i;
|
||||
|
||||
return 0;
|
||||
return;
|
||||
|
||||
/* End of ZLAHRD */
|
||||
|
||||
|
|
|
@ -666,7 +666,7 @@ f"> */
|
|||
/* > \ingroup complex16OTHERcomputational */
|
||||
|
||||
/* ===================================================================== */
|
||||
/* Subroutine */ int zlatzm_(char *side, integer *m, integer *n,
|
||||
/* Subroutine */ void zlatzm_(char *side, integer *m, integer *n,
|
||||
doublecomplex *v, integer *incv, doublecomplex *tau, doublecomplex *
|
||||
c1, doublecomplex *c2, integer *ldc, doublecomplex *work)
|
||||
{
|
||||
|
@ -676,7 +676,7 @@ f"> */
|
|||
|
||||
/* Local variables */
|
||||
extern logical lsame_(char *, char *);
|
||||
extern /* Subroutine */ int zgerc_(integer *, integer *, doublecomplex *,
|
||||
extern /* Subroutine */ void zgerc_(integer *, integer *, doublecomplex *,
|
||||
doublecomplex *, integer *, doublecomplex *, integer *,
|
||||
doublecomplex *, integer *), zgemv_(char *, integer *, integer *,
|
||||
doublecomplex *, doublecomplex *, integer *, doublecomplex *,
|
||||
|
@ -710,7 +710,7 @@ f"> */
|
|||
|
||||
/* Function Body */
|
||||
if (f2cmin(*m,*n) == 0 || tau->r == 0. && tau->i == 0.) {
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
|
||||
if (lsame_(side, "L")) {
|
||||
|
@ -753,7 +753,7 @@ f"> */
|
|||
ldc);
|
||||
}
|
||||
|
||||
return 0;
|
||||
return;
|
||||
|
||||
/* End of ZLATZM */
|
||||
|
||||
|
|
|
@ -652,7 +652,7 @@ f"> */
|
|||
/* > \endverbatim */
|
||||
/* > */
|
||||
/* ===================================================================== */
|
||||
/* Subroutine */ int ztzrqf_(integer *m, integer *n, doublecomplex *a,
|
||||
/* Subroutine */ void ztzrqf_(integer *m, integer *n, doublecomplex *a,
|
||||
integer *lda, doublecomplex *tau, integer *info)
|
||||
{
|
||||
/* System generated locals */
|
||||
|
@ -662,16 +662,17 @@ f"> */
|
|||
/* Local variables */
|
||||
integer i__, k;
|
||||
doublecomplex alpha;
|
||||
extern /* Subroutine */ int zgerc_(integer *, integer *, doublecomplex *,
|
||||
extern /* Subroutine */ void zgerc_(integer *, integer *, doublecomplex *,
|
||||
doublecomplex *, integer *, doublecomplex *, integer *,
|
||||
doublecomplex *, integer *), zgemv_(char *, integer *, integer *,
|
||||
doublecomplex *, doublecomplex *, integer *, doublecomplex *,
|
||||
integer *, doublecomplex *, doublecomplex *, integer *);
|
||||
integer m1;
|
||||
extern /* Subroutine */ int zcopy_(integer *, doublecomplex *, integer *,
|
||||
extern /* Subroutine */ void zcopy_(integer *, doublecomplex *, integer *,
|
||||
doublecomplex *, integer *), zaxpy_(integer *, doublecomplex *,
|
||||
doublecomplex *, integer *, doublecomplex *, integer *), xerbla_(
|
||||
char *, integer *), zlarfg_(integer *, doublecomplex *,
|
||||
doublecomplex *, integer *, doublecomplex *, integer *);
|
||||
extern int xerbla_(char *, integer *, ftnlen);
|
||||
extern void zlarfg_(integer *, doublecomplex *,
|
||||
doublecomplex *, integer *, doublecomplex *), zlacgv_(integer *,
|
||||
doublecomplex *, integer *);
|
||||
|
||||
|
@ -704,14 +705,14 @@ f"> */
|
|||
}
|
||||
if (*info != 0) {
|
||||
i__1 = -(*info);
|
||||
xerbla_("ZTZRQF", &i__1);
|
||||
return 0;
|
||||
xerbla_("ZTZRQF", &i__1, 6);
|
||||
return;
|
||||
}
|
||||
|
||||
/* Perform the factorization. */
|
||||
|
||||
if (*m == 0) {
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
if (*m == *n) {
|
||||
i__1 = *n;
|
||||
|
@ -784,7 +785,7 @@ f"> */
|
|||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
return;
|
||||
|
||||
/* End of ZTZRQF */
|
||||
|
||||
|
|
Loading…
Reference in New Issue