Fix signatures of external functions in the f2c-generated C sources
This commit is contained in:
parent
48f4151373
commit
8df791e513
|
@ -849,7 +849,7 @@ f"> */
|
||||||
/* > \ingroup complexOTHERcomputational */
|
/* > \ingroup complexOTHERcomputational */
|
||||||
|
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cbbcsd_(char *jobu1, char *jobu2, char *jobv1t, char *
|
/* Subroutine */ void cbbcsd_(char *jobu1, char *jobu2, char *jobv1t, char *
|
||||||
jobv2t, char *trans, integer *m, integer *p, integer *q, real *theta,
|
jobv2t, char *trans, integer *m, integer *p, integer *q, real *theta,
|
||||||
real *phi, complex *u1, integer *ldu1, complex *u2, integer *ldu2,
|
real *phi, complex *u1, integer *ldu1, complex *u2, integer *ldu2,
|
||||||
complex *v1t, integer *ldv1t, complex *v2t, integer *ldv2t, real *
|
complex *v1t, integer *ldv1t, complex *v2t, integer *ldv2t, real *
|
||||||
|
@ -869,14 +869,14 @@ f"> */
|
||||||
real thetamin, thetamax;
|
real thetamin, thetamax;
|
||||||
logical restart11, restart12, restart21, restart22;
|
logical restart11, restart12, restart21, restart22;
|
||||||
integer iu1cs, iu2cs;
|
integer iu1cs, iu2cs;
|
||||||
extern /* Subroutine */ int slas2_(real *, real *, real *, real *, real *)
|
extern /* Subroutine */ void slas2_(real *, real *, real *, real *, real *)
|
||||||
;
|
;
|
||||||
integer iu1sn, iu2sn, i__, j;
|
integer iu1sn, iu2sn, i__, j;
|
||||||
real r__;
|
real r__;
|
||||||
extern /* Subroutine */ int cscal_(integer *, complex *, complex *,
|
extern /* Subroutine */ void cscal_(integer *, complex *, complex *,
|
||||||
integer *);
|
integer *);
|
||||||
extern logical lsame_(char *, char *);
|
extern logical lsame_(char *, char *);
|
||||||
extern /* Subroutine */ int clasr_(char *, char *, char *, integer *,
|
extern /* Subroutine */ void clasr_(char *, char *, char *, integer *,
|
||||||
integer *, real *, real *, complex *, integer *), cswap_(integer *, complex *, integer *, complex *,
|
integer *, real *, real *, complex *, integer *), cswap_(integer *, complex *, integer *, complex *,
|
||||||
integer *);
|
integer *);
|
||||||
integer maxit;
|
integer maxit;
|
||||||
|
@ -888,12 +888,12 @@ f"> */
|
||||||
extern real slamch_(char *);
|
extern real slamch_(char *);
|
||||||
extern /* Subroutine */ int xerbla_(char *, integer *, ftnlen);
|
extern /* Subroutine */ int xerbla_(char *, integer *, ftnlen);
|
||||||
real thresh, tolmul;
|
real thresh, tolmul;
|
||||||
extern /* Subroutine */ int mecago_();
|
extern /* Subroutine */ void mecago_();
|
||||||
logical lquery;
|
logical lquery;
|
||||||
real b11bulge;
|
real b11bulge;
|
||||||
logical wantv1t, wantv2t;
|
logical wantv1t, wantv2t;
|
||||||
real b12bulge, b21bulge, b22bulge, eps, tol;
|
real b12bulge, b21bulge, b22bulge, eps, tol;
|
||||||
extern /* Subroutine */ int slartgp_(real *, real *, real *, real *, real
|
extern /* Subroutine */ void slartgp_(real *, real *, real *, real *, real
|
||||||
*), slartgs_(real *, real *, real *, real *, real *);
|
*), slartgs_(real *, real *, real *, real *, real *);
|
||||||
|
|
||||||
|
|
||||||
|
@ -966,7 +966,7 @@ f"> */
|
||||||
if (*info == 0 && *q == 0) {
|
if (*info == 0 && *q == 0) {
|
||||||
lrworkmin = 1;
|
lrworkmin = 1;
|
||||||
rwork[1] = (real) lrworkmin;
|
rwork[1] = (real) lrworkmin;
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Compute workspace */
|
/* Compute workspace */
|
||||||
|
@ -991,9 +991,9 @@ f"> */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CBBCSD", &i__1, (ftnlen)6);
|
xerbla_("CBBCSD", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
} else if (lquery) {
|
} else if (lquery) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Get machine constants */
|
/* Get machine constants */
|
||||||
|
@ -1086,7 +1086,7 @@ f"> */
|
||||||
++(*info);
|
++(*info);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
iter = iter + imax - imin;
|
iter = iter + imax - imin;
|
||||||
|
@ -1800,7 +1800,7 @@ f"> */
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CBBCSD */
|
/* End of CBBCSD */
|
||||||
|
|
||||||
|
|
|
@ -742,7 +742,7 @@ f"> */
|
||||||
/* > \ingroup complexOTHERcomputational */
|
/* > \ingroup complexOTHERcomputational */
|
||||||
|
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cbdsqr_(char *uplo, integer *n, integer *ncvt, integer *
|
/* Subroutine */ void cbdsqr_(char *uplo, integer *n, integer *ncvt, integer *
|
||||||
nru, integer *ncc, real *d__, real *e, complex *vt, integer *ldvt,
|
nru, integer *ncc, real *d__, real *e, complex *vt, integer *ldvt,
|
||||||
complex *u, integer *ldu, complex *c__, integer *ldc, real *rwork,
|
complex *u, integer *ldu, complex *c__, integer *ldc, real *rwork,
|
||||||
integer *info)
|
integer *info)
|
||||||
|
@ -761,23 +761,23 @@ f"> */
|
||||||
real cosl;
|
real cosl;
|
||||||
integer isub, iter;
|
integer isub, iter;
|
||||||
real unfl, sinl, cosr, smin, smax, sinr;
|
real unfl, sinl, cosr, smin, smax, sinr;
|
||||||
extern /* Subroutine */ int slas2_(real *, real *, real *, real *, real *)
|
extern /* Subroutine */ void slas2_(real *, real *, real *, real *, real *)
|
||||||
;
|
;
|
||||||
real f, g, h__;
|
real f, g, h__;
|
||||||
integer i__, j, m;
|
integer i__, j, m;
|
||||||
real r__;
|
real r__;
|
||||||
extern logical lsame_(char *, char *);
|
extern logical lsame_(char *, char *);
|
||||||
real oldcs;
|
real oldcs;
|
||||||
extern /* Subroutine */ int clasr_(char *, char *, char *, integer *,
|
extern /* Subroutine */ void clasr_(char *, char *, char *, integer *,
|
||||||
integer *, real *, real *, complex *, integer *);
|
integer *, real *, real *, complex *, integer *);
|
||||||
integer oldll;
|
integer oldll;
|
||||||
real shift, sigmn, oldsn;
|
real shift, sigmn, oldsn;
|
||||||
extern /* Subroutine */ int cswap_(integer *, complex *, integer *,
|
extern /* Subroutine */ void cswap_(integer *, complex *, integer *,
|
||||||
complex *, integer *);
|
complex *, integer *);
|
||||||
integer maxit;
|
integer maxit;
|
||||||
real sminl, sigmx;
|
real sminl, sigmx;
|
||||||
logical lower;
|
logical lower;
|
||||||
extern /* Subroutine */ int csrot_(integer *, complex *, integer *,
|
extern /* Subroutine */ void csrot_(integer *, complex *, integer *,
|
||||||
complex *, integer *, real *, real *), slasq1_(integer *, real *,
|
complex *, integer *, real *, real *), slasq1_(integer *, real *,
|
||||||
real *, real *, integer *), slasv2_(real *, real *, real *, real *
|
real *, real *, integer *), slasv2_(real *, real *, real *, real *
|
||||||
, real *, real *, real *, real *, real *);
|
, real *, real *, real *, real *, real *);
|
||||||
|
@ -785,10 +785,11 @@ f"> */
|
||||||
integer ll;
|
integer ll;
|
||||||
real sn, mu;
|
real sn, mu;
|
||||||
extern real slamch_(char *);
|
extern real slamch_(char *);
|
||||||
extern /* Subroutine */ int csscal_(integer *, real *, complex *, integer
|
extern /* Subroutine */ void csscal_(integer *, real *, complex *, integer
|
||||||
*), xerbla_(char *, integer *, ftnlen);
|
*);
|
||||||
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
real sminoa;
|
real sminoa;
|
||||||
extern /* Subroutine */ int slartg_(real *, real *, real *, real *, real *
|
extern /* Subroutine */ void slartg_(real *, real *, real *, real *, real *
|
||||||
);
|
);
|
||||||
real thresh;
|
real thresh;
|
||||||
logical rotate;
|
logical rotate;
|
||||||
|
@ -846,10 +847,10 @@ f"> */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CBDSQR", &i__1, (ftnlen)6);
|
xerbla_("CBDSQR", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
if (*n == 0) {
|
if (*n == 0) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
if (*n == 1) {
|
if (*n == 1) {
|
||||||
goto L160;
|
goto L160;
|
||||||
|
@ -867,7 +868,7 @@ f"> */
|
||||||
/* If INFO equals 2, dqds didn't finish, try to finish */
|
/* If INFO equals 2, dqds didn't finish, try to finish */
|
||||||
|
|
||||||
if (*info != 2) {
|
if (*info != 2) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
*info = 0;
|
*info = 0;
|
||||||
}
|
}
|
||||||
|
@ -1492,7 +1493,7 @@ L200:
|
||||||
/* L210: */
|
/* L210: */
|
||||||
}
|
}
|
||||||
L220:
|
L220:
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CBDSQR */
|
/* End of CBDSQR */
|
||||||
|
|
||||||
|
|
|
@ -712,7 +712,7 @@ f"> */
|
||||||
/* > \ingroup complexGBcomputational */
|
/* > \ingroup complexGBcomputational */
|
||||||
|
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgbbrd_(char *vect, integer *m, integer *n, integer *ncc,
|
/* Subroutine */ void cgbbrd_(char *vect, integer *m, integer *n, integer *ncc,
|
||||||
integer *kl, integer *ku, complex *ab, integer *ldab, real *d__,
|
integer *kl, integer *ku, complex *ab, integer *ldab, real *d__,
|
||||||
real *e, complex *q, integer *ldq, complex *pt, integer *ldpt,
|
real *e, complex *q, integer *ldq, complex *pt, integer *ldpt,
|
||||||
complex *c__, integer *ldc, complex *work, real *rwork, integer *info)
|
complex *c__, integer *ldc, complex *work, real *rwork, integer *info)
|
||||||
|
@ -725,11 +725,11 @@ f"> */
|
||||||
/* Local variables */
|
/* Local variables */
|
||||||
integer inca;
|
integer inca;
|
||||||
real abst;
|
real abst;
|
||||||
extern /* Subroutine */ int crot_(integer *, complex *, integer *,
|
extern /* Subroutine */ void crot_(integer *, complex *, integer *,
|
||||||
complex *, integer *, real *, complex *);
|
complex *, integer *, real *, complex *);
|
||||||
integer i__, j, l;
|
integer i__, j, l;
|
||||||
complex t;
|
complex t;
|
||||||
extern /* Subroutine */ int cscal_(integer *, complex *, complex *,
|
extern /* Subroutine */ void cscal_(integer *, complex *, complex *,
|
||||||
integer *);
|
integer *);
|
||||||
extern logical lsame_(char *, char *);
|
extern logical lsame_(char *, char *);
|
||||||
logical wantb, wantc;
|
logical wantb, wantc;
|
||||||
|
@ -742,10 +742,11 @@ f"> */
|
||||||
complex rb;
|
complex rb;
|
||||||
integer ml, nr, mu;
|
integer ml, nr, mu;
|
||||||
complex rs;
|
complex rs;
|
||||||
extern /* Subroutine */ int claset_(char *, integer *, integer *, complex
|
extern /* Subroutine */ void claset_(char *, integer *, integer *, complex
|
||||||
*, complex *, complex *, integer *), clartg_(complex *,
|
*, complex *, complex *, integer *), clartg_(complex *,
|
||||||
complex *, real *, complex *, complex *), xerbla_(char *, integer
|
complex *, real *, complex *, complex *);
|
||||||
*, ftnlen), clargv_(integer *, complex *, integer *, complex *,
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
|
extern void clargv_(integer *, complex *, integer *, complex *,
|
||||||
integer *, real *, integer *), clartv_(integer *, complex *,
|
integer *, real *, integer *), clartv_(integer *, complex *,
|
||||||
integer *, complex *, integer *, real *, complex *, integer *);
|
integer *, complex *, integer *, real *, complex *, integer *);
|
||||||
integer kb1, ml0;
|
integer kb1, ml0;
|
||||||
|
@ -813,7 +814,7 @@ f"> */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGBBRD", &i__1, (ftnlen)6);
|
xerbla_("CGBBRD", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Initialize Q and P**H to the unit matrix, if needed */
|
/* Initialize Q and P**H to the unit matrix, if needed */
|
||||||
|
@ -828,7 +829,7 @@ f"> */
|
||||||
/* Quick return if possible. */
|
/* Quick return if possible. */
|
||||||
|
|
||||||
if (*m == 0 || *n == 0) {
|
if (*m == 0 || *n == 0) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
minmn = f2cmin(*m,*n);
|
minmn = f2cmin(*m,*n);
|
||||||
|
@ -1237,7 +1238,7 @@ f"> */
|
||||||
}
|
}
|
||||||
/* L120: */
|
/* L120: */
|
||||||
}
|
}
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGBBRD */
|
/* End of CGBBRD */
|
||||||
|
|
||||||
|
|
|
@ -664,7 +664,7 @@ f"> */
|
||||||
/* > \ingroup complexGBcomputational */
|
/* > \ingroup complexGBcomputational */
|
||||||
|
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgbcon_(char *norm, integer *n, integer *kl, integer *ku,
|
/* Subroutine */ void cgbcon_(char *norm, integer *n, integer *kl, integer *ku,
|
||||||
complex *ab, integer *ldab, integer *ipiv, real *anorm, real *rcond,
|
complex *ab, integer *ldab, integer *ipiv, real *anorm, real *rcond,
|
||||||
complex *work, real *rwork, integer *info)
|
complex *work, real *rwork, integer *info)
|
||||||
{
|
{
|
||||||
|
@ -681,20 +681,20 @@ f"> */
|
||||||
*, complex *, integer *);
|
*, complex *, integer *);
|
||||||
extern logical lsame_(char *, char *);
|
extern logical lsame_(char *, char *);
|
||||||
integer isave[3];
|
integer isave[3];
|
||||||
extern /* Subroutine */ int caxpy_(integer *, complex *, complex *,
|
extern /* Subroutine */ void caxpy_(integer *, complex *, complex *,
|
||||||
integer *, complex *, integer *);
|
integer *, complex *, integer *);
|
||||||
logical lnoti;
|
logical lnoti;
|
||||||
extern /* Subroutine */ int clacn2_(integer *, complex *, complex *, real
|
extern /* Subroutine */ void clacn2_(integer *, complex *, complex *, real
|
||||||
*, integer *, integer *);
|
*, integer *, integer *);
|
||||||
integer kd, lm, jp, ix;
|
integer kd, lm, jp, ix;
|
||||||
extern integer icamax_(integer *, complex *, integer *);
|
extern integer icamax_(integer *, complex *, integer *);
|
||||||
extern real slamch_(char *);
|
extern real slamch_(char *);
|
||||||
extern /* Subroutine */ int clatbs_(char *, char *, char *, char *,
|
extern /* Subroutine */ void clatbs_(char *, char *, char *, char *,
|
||||||
integer *, integer *, complex *, integer *, complex *, real *,
|
integer *, integer *, complex *, integer *, complex *, real *,
|
||||||
real *, integer *), xerbla_(char *
|
real *, integer *);
|
||||||
, integer *, ftnlen);
|
extern int xerbla_(char * , integer *, ftnlen);
|
||||||
real ainvnm;
|
real ainvnm;
|
||||||
extern /* Subroutine */ int csrscl_(integer *, real *, complex *, integer
|
extern /* Subroutine */ void csrscl_(integer *, real *, complex *, integer
|
||||||
*);
|
*);
|
||||||
logical onenrm;
|
logical onenrm;
|
||||||
char normin[1];
|
char normin[1];
|
||||||
|
@ -739,7 +739,7 @@ f"> */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGBCON", &i__1, (ftnlen)6);
|
xerbla_("CGBCON", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Quick return if possible */
|
/* Quick return if possible */
|
||||||
|
@ -747,9 +747,9 @@ f"> */
|
||||||
*rcond = 0.f;
|
*rcond = 0.f;
|
||||||
if (*n == 0) {
|
if (*n == 0) {
|
||||||
*rcond = 1.f;
|
*rcond = 1.f;
|
||||||
return 0;
|
return;
|
||||||
} else if (*anorm == 0.f) {
|
} else if (*anorm == 0.f) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
smlnum = slamch_("Safe minimum");
|
smlnum = slamch_("Safe minimum");
|
||||||
|
@ -863,7 +863,7 @@ L10:
|
||||||
}
|
}
|
||||||
|
|
||||||
L40:
|
L40:
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGBCON */
|
/* End of CGBCON */
|
||||||
|
|
||||||
|
|
|
@ -674,7 +674,7 @@ f"> */
|
||||||
/* > \ingroup complexGBcomputational */
|
/* > \ingroup complexGBcomputational */
|
||||||
|
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgbequ_(integer *m, integer *n, integer *kl, integer *ku,
|
/* Subroutine */ void cgbequ_(integer *m, integer *n, integer *kl, integer *ku,
|
||||||
complex *ab, integer *ldab, real *r__, real *c__, real *rowcnd, real
|
complex *ab, integer *ldab, real *r__, real *c__, real *rowcnd, real
|
||||||
*colcnd, real *amax, integer *info)
|
*colcnd, real *amax, integer *info)
|
||||||
{
|
{
|
||||||
|
@ -725,7 +725,7 @@ f"> */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGBEQU", &i__1, (ftnlen)6);
|
xerbla_("CGBEQU", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Quick return if possible */
|
/* Quick return if possible */
|
||||||
|
@ -734,7 +734,7 @@ f"> */
|
||||||
*rowcnd = 1.f;
|
*rowcnd = 1.f;
|
||||||
*colcnd = 1.f;
|
*colcnd = 1.f;
|
||||||
*amax = 0.f;
|
*amax = 0.f;
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Get machine constants. */
|
/* Get machine constants. */
|
||||||
|
@ -795,7 +795,7 @@ f"> */
|
||||||
for (i__ = 1; i__ <= i__1; ++i__) {
|
for (i__ = 1; i__ <= i__1; ++i__) {
|
||||||
if (r__[i__] == 0.f) {
|
if (r__[i__] == 0.f) {
|
||||||
*info = i__;
|
*info = i__;
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
/* L50: */
|
/* L50: */
|
||||||
}
|
}
|
||||||
|
@ -872,7 +872,7 @@ f"> */
|
||||||
for (j = 1; j <= i__1; ++j) {
|
for (j = 1; j <= i__1; ++j) {
|
||||||
if (c__[j] == 0.f) {
|
if (c__[j] == 0.f) {
|
||||||
*info = *m + j;
|
*info = *m + j;
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
/* L110: */
|
/* L110: */
|
||||||
}
|
}
|
||||||
|
@ -895,7 +895,7 @@ f"> */
|
||||||
*colcnd = f2cmax(rcmin,smlnum) / f2cmin(rcmax,bignum);
|
*colcnd = f2cmax(rcmin,smlnum) / f2cmin(rcmax,bignum);
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGBEQU */
|
/* End of CGBEQU */
|
||||||
|
|
||||||
|
|
|
@ -681,7 +681,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ
|
||||||
/* > \ingroup complexGBcomputational */
|
/* > \ingroup complexGBcomputational */
|
||||||
|
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgbequb_(integer *m, integer *n, integer *kl, integer *
|
/* Subroutine */ void cgbequb_(integer *m, integer *n, integer *kl, integer *
|
||||||
ku, complex *ab, integer *ldab, real *r__, real *c__, real *rowcnd,
|
ku, complex *ab, integer *ldab, real *r__, real *c__, real *rowcnd,
|
||||||
real *colcnd, real *amax, integer *info)
|
real *colcnd, real *amax, integer *info)
|
||||||
{
|
{
|
||||||
|
@ -732,7 +732,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGBEQUB", &i__1, (ftnlen)7);
|
xerbla_("CGBEQUB", &i__1, (ftnlen)7);
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Quick return if possible. */
|
/* Quick return if possible. */
|
||||||
|
@ -741,7 +741,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ
|
||||||
*rowcnd = 1.f;
|
*rowcnd = 1.f;
|
||||||
*colcnd = 1.f;
|
*colcnd = 1.f;
|
||||||
*amax = 0.f;
|
*amax = 0.f;
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Get machine constants. Assume SMLNUM is a power of the radix. */
|
/* Get machine constants. Assume SMLNUM is a power of the radix. */
|
||||||
|
@ -811,7 +811,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ
|
||||||
for (i__ = 1; i__ <= i__1; ++i__) {
|
for (i__ = 1; i__ <= i__1; ++i__) {
|
||||||
if (r__[i__] == 0.f) {
|
if (r__[i__] == 0.f) {
|
||||||
*info = i__;
|
*info = i__;
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
/* L50: */
|
/* L50: */
|
||||||
}
|
}
|
||||||
|
@ -891,7 +891,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ
|
||||||
for (j = 1; j <= i__1; ++j) {
|
for (j = 1; j <= i__1; ++j) {
|
||||||
if (c__[j] == 0.f) {
|
if (c__[j] == 0.f) {
|
||||||
*info = *m + j;
|
*info = *m + j;
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
/* L110: */
|
/* L110: */
|
||||||
}
|
}
|
||||||
|
@ -914,7 +914,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ
|
||||||
*colcnd = f2cmax(rcmin,smlnum) / f2cmin(rcmax,bignum);
|
*colcnd = f2cmax(rcmin,smlnum) / f2cmin(rcmax,bignum);
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGBEQUB */
|
/* End of CGBEQUB */
|
||||||
|
|
||||||
|
|
|
@ -730,7 +730,7 @@ f"> */
|
||||||
/* > \ingroup complexGBcomputational */
|
/* > \ingroup complexGBcomputational */
|
||||||
|
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgbrfs_(char *trans, integer *n, integer *kl, integer *
|
/* Subroutine */ void cgbrfs_(char *trans, integer *n, integer *kl, integer *
|
||||||
ku, integer *nrhs, complex *ab, integer *ldab, complex *afb, integer *
|
ku, integer *nrhs, complex *ab, integer *ldab, complex *afb, integer *
|
||||||
ldafb, integer *ipiv, complex *b, integer *ldb, complex *x, integer *
|
ldafb, integer *ipiv, complex *b, integer *ldb, complex *x, integer *
|
||||||
ldx, real *ferr, real *berr, complex *work, real *rwork, integer *
|
ldx, real *ferr, real *berr, complex *work, real *rwork, integer *
|
||||||
|
@ -747,23 +747,24 @@ f"> */
|
||||||
real safe1, safe2;
|
real safe1, safe2;
|
||||||
integer i__, j, k;
|
integer i__, j, k;
|
||||||
real s;
|
real s;
|
||||||
extern /* Subroutine */ int cgbmv_(char *, integer *, integer *, integer *
|
extern /* Subroutine */ void cgbmv_(char *, integer *, integer *, integer *
|
||||||
, integer *, complex *, complex *, integer *, complex *, integer *
|
, integer *, complex *, complex *, integer *, complex *, integer *
|
||||||
, complex *, complex *, integer *);
|
, complex *, complex *, integer *);
|
||||||
extern logical lsame_(char *, char *);
|
extern logical lsame_(char *, char *);
|
||||||
integer isave[3];
|
integer isave[3];
|
||||||
extern /* Subroutine */ int ccopy_(integer *, complex *, integer *,
|
extern /* Subroutine */ void ccopy_(integer *, complex *, integer *,
|
||||||
complex *, integer *), caxpy_(integer *, complex *, complex *,
|
complex *, integer *), caxpy_(integer *, complex *, complex *,
|
||||||
integer *, complex *, integer *);
|
integer *, complex *, integer *);
|
||||||
integer count;
|
integer count;
|
||||||
extern /* Subroutine */ int clacn2_(integer *, complex *, complex *, real
|
extern /* Subroutine */ void clacn2_(integer *, complex *, complex *, real
|
||||||
*, integer *, integer *);
|
*, integer *, integer *);
|
||||||
integer kk;
|
integer kk;
|
||||||
real xk;
|
real xk;
|
||||||
extern real slamch_(char *);
|
extern real slamch_(char *);
|
||||||
integer nz;
|
integer nz;
|
||||||
real safmin;
|
real safmin;
|
||||||
extern /* Subroutine */ int xerbla_(char *, integer *, ftnlen), cgbtrs_(
|
extern /* Subroutine */ int xerbla_(char *, integer *, ftnlen);
|
||||||
|
extern void cgbtrs_(
|
||||||
char *, integer *, integer *, integer *, integer *, complex *,
|
char *, integer *, integer *, integer *, integer *, complex *,
|
||||||
integer *, integer *, complex *, integer *, integer *);
|
integer *, integer *, complex *, integer *, integer *);
|
||||||
logical notran;
|
logical notran;
|
||||||
|
@ -827,7 +828,7 @@ f"> */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGBRFS", &i__1, (ftnlen)6);
|
xerbla_("CGBRFS", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Quick return if possible */
|
/* Quick return if possible */
|
||||||
|
@ -839,7 +840,7 @@ f"> */
|
||||||
berr[j] = 0.f;
|
berr[j] = 0.f;
|
||||||
/* L10: */
|
/* L10: */
|
||||||
}
|
}
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (notran) {
|
if (notran) {
|
||||||
|
@ -1078,7 +1079,7 @@ L100:
|
||||||
/* L140: */
|
/* L140: */
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGBRFS */
|
/* End of CGBRFS */
|
||||||
|
|
||||||
|
|
|
@ -684,7 +684,7 @@ e driver) */
|
||||||
/* > \endverbatim */
|
/* > \endverbatim */
|
||||||
/* > */
|
/* > */
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgbsv_(integer *n, integer *kl, integer *ku, integer *
|
/* Subroutine */ void cgbsv_(integer *n, integer *kl, integer *ku, integer *
|
||||||
nrhs, complex *ab, integer *ldab, integer *ipiv, complex *b, integer *
|
nrhs, complex *ab, integer *ldab, integer *ipiv, complex *b, integer *
|
||||||
ldb, integer *info)
|
ldb, integer *info)
|
||||||
{
|
{
|
||||||
|
@ -692,9 +692,10 @@ e driver) */
|
||||||
integer ab_dim1, ab_offset, b_dim1, b_offset, i__1;
|
integer ab_dim1, ab_offset, b_dim1, b_offset, i__1;
|
||||||
|
|
||||||
/* Local variables */
|
/* Local variables */
|
||||||
extern /* Subroutine */ int cgbtrf_(integer *, integer *, integer *,
|
extern /* Subroutine */ void cgbtrf_(integer *, integer *, integer *,
|
||||||
integer *, complex *, integer *, integer *, integer *), xerbla_(
|
integer *, complex *, integer *, integer *, integer *);
|
||||||
char *, integer *, ftnlen), cgbtrs_(char *, integer *, integer *,
|
extern int xerbla_( char *, integer *, ftnlen);
|
||||||
|
extern void cgbtrs_(char *, integer *, integer *,
|
||||||
integer *, integer *, complex *, integer *, integer *, complex *,
|
integer *, integer *, complex *, integer *, integer *, complex *,
|
||||||
integer *, integer *);
|
integer *, integer *);
|
||||||
|
|
||||||
|
@ -737,7 +738,7 @@ e driver) */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGBSV ", &i__1, (ftnlen)6);
|
xerbla_("CGBSV ", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Compute the LU factorization of the band matrix A. */
|
/* Compute the LU factorization of the band matrix A. */
|
||||||
|
@ -750,7 +751,7 @@ e driver) */
|
||||||
cgbtrs_("No transpose", n, kl, ku, nrhs, &ab[ab_offset], ldab, &ipiv[
|
cgbtrs_("No transpose", n, kl, ku, nrhs, &ab[ab_offset], ldab, &ipiv[
|
||||||
1], &b[b_offset], ldb, info);
|
1], &b[b_offset], ldb, info);
|
||||||
}
|
}
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGBSV */
|
/* End of CGBSV */
|
||||||
|
|
||||||
|
|
|
@ -893,7 +893,7 @@ f"> */
|
||||||
/* > \ingroup complexGBsolve */
|
/* > \ingroup complexGBsolve */
|
||||||
|
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgbsvx_(char *fact, char *trans, integer *n, integer *kl,
|
/* Subroutine */ void cgbsvx_(char *fact, char *trans, integer *n, integer *kl,
|
||||||
integer *ku, integer *nrhs, complex *ab, integer *ldab, complex *afb,
|
integer *ku, integer *nrhs, complex *ab, integer *ldab, complex *afb,
|
||||||
integer *ldafb, integer *ipiv, char *equed, real *r__, real *c__,
|
integer *ldafb, integer *ipiv, char *equed, real *r__, real *c__,
|
||||||
complex *b, integer *ldb, complex *x, integer *ldx, real *rcond, real
|
complex *b, integer *ldb, complex *x, integer *ldx, real *rcond, real
|
||||||
|
@ -911,13 +911,13 @@ f"> */
|
||||||
integer i__, j;
|
integer i__, j;
|
||||||
extern logical lsame_(char *, char *);
|
extern logical lsame_(char *, char *);
|
||||||
real rcmin, rcmax, anorm;
|
real rcmin, rcmax, anorm;
|
||||||
extern /* Subroutine */ int ccopy_(integer *, complex *, integer *,
|
extern /* Subroutine */ void ccopy_(integer *, complex *, integer *,
|
||||||
complex *, integer *);
|
complex *, integer *);
|
||||||
logical equil;
|
logical equil;
|
||||||
integer j1, j2;
|
integer j1, j2;
|
||||||
extern real clangb_(char *, integer *, integer *, integer *, complex *,
|
extern real clangb_(char *, integer *, integer *, integer *, complex *,
|
||||||
integer *, real *);
|
integer *, real *);
|
||||||
extern /* Subroutine */ int claqgb_(integer *, integer *, integer *,
|
extern /* Subroutine */ void claqgb_(integer *, integer *, integer *,
|
||||||
integer *, complex *, integer *, real *, real *, real *, real *,
|
integer *, complex *, integer *, real *, real *, real *, real *,
|
||||||
real *, char *), cgbcon_(char *, integer *, integer *,
|
real *, char *), cgbcon_(char *, integer *, integer *,
|
||||||
integer *, complex *, integer *, integer *, real *, real *,
|
integer *, complex *, integer *, integer *, real *, real *,
|
||||||
|
@ -925,22 +925,22 @@ f"> */
|
||||||
real colcnd;
|
real colcnd;
|
||||||
extern real clantb_(char *, char *, char *, integer *, integer *, complex
|
extern real clantb_(char *, char *, char *, integer *, integer *, complex
|
||||||
*, integer *, real *);
|
*, integer *, real *);
|
||||||
extern /* Subroutine */ int cgbequ_(integer *, integer *, integer *,
|
extern /* Subroutine */ void cgbequ_(integer *, integer *, integer *,
|
||||||
integer *, complex *, integer *, real *, real *, real *, real *,
|
integer *, complex *, integer *, real *, real *, real *, real *,
|
||||||
real *, integer *);
|
real *, integer *);
|
||||||
extern real slamch_(char *);
|
extern real slamch_(char *);
|
||||||
extern /* Subroutine */ int cgbrfs_(char *, integer *, integer *, integer
|
extern /* Subroutine */ void cgbrfs_(char *, integer *, integer *, integer
|
||||||
*, integer *, complex *, integer *, complex *, integer *, integer
|
*, integer *, complex *, integer *, complex *, integer *, integer
|
||||||
*, complex *, integer *, complex *, integer *, real *, real *,
|
*, complex *, integer *, complex *, integer *, real *, real *,
|
||||||
complex *, real *, integer *), cgbtrf_(integer *, integer
|
complex *, real *, integer *), cgbtrf_(integer *, integer
|
||||||
*, integer *, integer *, complex *, integer *, integer *, integer
|
*, integer *, integer *, complex *, integer *, integer *, integer
|
||||||
*);
|
*);
|
||||||
logical nofact;
|
logical nofact;
|
||||||
extern /* Subroutine */ int clacpy_(char *, integer *, integer *, complex
|
extern /* Subroutine */ void clacpy_(char *, integer *, integer *, complex
|
||||||
*, integer *, complex *, integer *), xerbla_(char *,
|
*, integer *, complex *, integer *);
|
||||||
integer *, ftnlen);
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
real bignum;
|
real bignum;
|
||||||
extern /* Subroutine */ int cgbtrs_(char *, integer *, integer *, integer
|
extern /* Subroutine */ void cgbtrs_(char *, integer *, integer *, integer
|
||||||
*, integer *, complex *, integer *, integer *, complex *, integer
|
*, integer *, complex *, integer *, integer *, complex *, integer
|
||||||
*, integer *);
|
*, integer *);
|
||||||
integer infequ;
|
integer infequ;
|
||||||
|
@ -1080,7 +1080,7 @@ f"> */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGBSVX", &i__1, (ftnlen)6);
|
xerbla_("CGBSVX", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (equil) {
|
if (equil) {
|
||||||
|
@ -1195,7 +1195,7 @@ f"> */
|
||||||
}
|
}
|
||||||
rwork[1] = rpvgrw;
|
rwork[1] = rpvgrw;
|
||||||
*rcond = 0.f;
|
*rcond = 0.f;
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1289,7 +1289,7 @@ f"> */
|
||||||
}
|
}
|
||||||
|
|
||||||
rwork[1] = rpvgrw;
|
rwork[1] = rpvgrw;
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGBSVX */
|
/* End of CGBSVX */
|
||||||
|
|
||||||
|
|
|
@ -1080,7 +1080,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ
|
||||||
/* > \ingroup complexGBsolve */
|
/* > \ingroup complexGBsolve */
|
||||||
|
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgbsvxx_(char *fact, char *trans, integer *n, integer *
|
/* Subroutine */ void cgbsvxx_(char *fact, char *trans, integer *n, integer *
|
||||||
kl, integer *ku, integer *nrhs, complex *ab, integer *ldab, complex *
|
kl, integer *ku, integer *nrhs, complex *ab, integer *ldab, complex *
|
||||||
afb, integer *ldafb, integer *ipiv, char *equed, real *r__, real *c__,
|
afb, integer *ldafb, integer *ipiv, char *equed, real *r__, real *c__,
|
||||||
complex *b, integer *ldb, complex *x, integer *ldx, real *rcond,
|
complex *b, integer *ldb, complex *x, integer *ldx, real *rcond,
|
||||||
|
@ -1102,19 +1102,19 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ
|
||||||
extern logical lsame_(char *, char *);
|
extern logical lsame_(char *, char *);
|
||||||
real rcmin, rcmax;
|
real rcmin, rcmax;
|
||||||
logical equil;
|
logical equil;
|
||||||
extern /* Subroutine */ int claqgb_(integer *, integer *, integer *,
|
extern /* Subroutine */ void claqgb_(integer *, integer *, integer *,
|
||||||
integer *, complex *, integer *, real *, real *, real *, real *,
|
integer *, complex *, integer *, real *, real *, real *, real *,
|
||||||
real *, char *);
|
real *, char *);
|
||||||
real colcnd;
|
real colcnd;
|
||||||
extern real slamch_(char *);
|
extern real slamch_(char *);
|
||||||
extern /* Subroutine */ int cgbtrf_(integer *, integer *, integer *,
|
extern /* Subroutine */ void cgbtrf_(integer *, integer *, integer *,
|
||||||
integer *, complex *, integer *, integer *, integer *);
|
integer *, complex *, integer *, integer *, integer *);
|
||||||
logical nofact;
|
logical nofact;
|
||||||
extern /* Subroutine */ int clacpy_(char *, integer *, integer *, complex
|
extern /* Subroutine */ void clacpy_(char *, integer *, integer *, complex
|
||||||
*, integer *, complex *, integer *), xerbla_(char *,
|
*, integer *, complex *, integer *);
|
||||||
integer *, ftnlen);
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
real bignum;
|
real bignum;
|
||||||
extern /* Subroutine */ int cgbtrs_(char *, integer *, integer *, integer
|
extern /* Subroutine */ void cgbtrs_(char *, integer *, integer *, integer
|
||||||
*, integer *, complex *, integer *, integer *, complex *, integer
|
*, integer *, complex *, integer *, integer *, complex *, integer
|
||||||
*, integer *);
|
*, integer *);
|
||||||
integer infequ;
|
integer infequ;
|
||||||
|
@ -1123,7 +1123,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ
|
||||||
logical notran;
|
logical notran;
|
||||||
real smlnum;
|
real smlnum;
|
||||||
logical rowequ;
|
logical rowequ;
|
||||||
extern /* Subroutine */ int clascl2_(integer *, integer *, real *,
|
extern /* Subroutine */ void clascl2_(integer *, integer *, real *,
|
||||||
complex *, integer *), cgbequb_(integer *, integer *, integer *,
|
complex *, integer *), cgbequb_(integer *, integer *, integer *,
|
||||||
integer *, complex *, integer *, real *, real *, real *, real *,
|
integer *, complex *, integer *, real *, real *, real *, real *,
|
||||||
real *, integer *), cgbrfsx_(char *, char *, integer *, integer *,
|
real *, integer *), cgbrfsx_(char *, char *, integer *, integer *,
|
||||||
|
@ -1270,7 +1270,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGBSVXX", &i__1, (ftnlen)7);
|
xerbla_("CGBSVXX", &i__1, (ftnlen)7);
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (equil) {
|
if (equil) {
|
||||||
|
@ -1346,7 +1346,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ
|
||||||
|
|
||||||
*rpvgrw = cla_gbrpvgrw_(n, kl, ku, info, &ab[ab_offset], ldab, &
|
*rpvgrw = cla_gbrpvgrw_(n, kl, ku, info, &ab[ab_offset], ldab, &
|
||||||
afb[afb_offset], ldafb);
|
afb[afb_offset], ldafb);
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1379,7 +1379,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ
|
||||||
clascl2_(n, nrhs, &r__[1], &x[x_offset], ldx);
|
clascl2_(n, nrhs, &r__[1], &x[x_offset], ldx);
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGBSVXX */
|
/* End of CGBSVXX */
|
||||||
|
|
||||||
|
|
|
@ -672,7 +672,7 @@ f"> */
|
||||||
/* > \endverbatim */
|
/* > \endverbatim */
|
||||||
/* > */
|
/* > */
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgbtf2_(integer *m, integer *n, integer *kl, integer *ku,
|
/* Subroutine */ void cgbtf2_(integer *m, integer *n, integer *kl, integer *ku,
|
||||||
complex *ab, integer *ldab, integer *ipiv, integer *info)
|
complex *ab, integer *ldab, integer *ipiv, integer *info)
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
|
@ -681,7 +681,7 @@ f"> */
|
||||||
|
|
||||||
/* Local variables */
|
/* Local variables */
|
||||||
integer i__, j;
|
integer i__, j;
|
||||||
extern /* Subroutine */ int cscal_(integer *, complex *, complex *,
|
extern /* Subroutine */ void cscal_(integer *, complex *, complex *,
|
||||||
integer *), cgeru_(integer *, integer *, complex *, complex *,
|
integer *), cgeru_(integer *, integer *, complex *, complex *,
|
||||||
integer *, complex *, integer *, complex *, integer *), cswap_(
|
integer *, complex *, integer *, complex *, integer *), cswap_(
|
||||||
integer *, complex *, integer *, complex *, integer *);
|
integer *, complex *, integer *, complex *, integer *);
|
||||||
|
@ -728,13 +728,13 @@ f"> */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGBTF2", &i__1, (ftnlen)6);
|
xerbla_("CGBTF2", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Quick return if possible */
|
/* Quick return if possible */
|
||||||
|
|
||||||
if (*m == 0 || *n == 0) {
|
if (*m == 0 || *n == 0) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Gaussian elimination with partial pivoting */
|
/* Gaussian elimination with partial pivoting */
|
||||||
|
@ -827,7 +827,7 @@ f"> */
|
||||||
}
|
}
|
||||||
/* L40: */
|
/* L40: */
|
||||||
}
|
}
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGBTF2 */
|
/* End of CGBTF2 */
|
||||||
|
|
||||||
|
|
|
@ -671,7 +671,7 @@ f"> */
|
||||||
/* > \endverbatim */
|
/* > \endverbatim */
|
||||||
/* > */
|
/* > */
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgbtrf_(integer *m, integer *n, integer *kl, integer *ku,
|
/* Subroutine */ void cgbtrf_(integer *m, integer *n, integer *kl, integer *ku,
|
||||||
complex *ab, integer *ldab, integer *ipiv, integer *info)
|
complex *ab, integer *ldab, integer *ipiv, integer *info)
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
|
@ -681,7 +681,7 @@ f"> */
|
||||||
/* Local variables */
|
/* Local variables */
|
||||||
complex temp;
|
complex temp;
|
||||||
integer i__, j;
|
integer i__, j;
|
||||||
extern /* Subroutine */ int cscal_(integer *, complex *, complex *,
|
extern /* Subroutine */ void cscal_(integer *, complex *, complex *,
|
||||||
integer *), cgemm_(char *, char *, integer *, integer *, integer *
|
integer *), cgemm_(char *, char *, integer *, integer *, integer *
|
||||||
, complex *, complex *, integer *, complex *, integer *, complex *
|
, complex *, complex *, integer *, complex *, integer *, complex *
|
||||||
, complex *, integer *), cgeru_(integer *,
|
, complex *, integer *), cgeru_(integer *,
|
||||||
|
@ -691,11 +691,11 @@ f"> */
|
||||||
complex *, integer *);
|
complex *, integer *);
|
||||||
complex work13[4160] /* was [65][64] */, work31[4160] /*
|
complex work13[4160] /* was [65][64] */, work31[4160] /*
|
||||||
was [65][64] */;
|
was [65][64] */;
|
||||||
extern /* Subroutine */ int ctrsm_(char *, char *, char *, char *,
|
extern /* Subroutine */ void ctrsm_(char *, char *, char *, char *,
|
||||||
integer *, integer *, complex *, complex *, integer *, complex *,
|
integer *, integer *, complex *, complex *, integer *, complex *,
|
||||||
integer *);
|
integer *);
|
||||||
integer i2, i3, j2, j3, k2;
|
integer i2, i3, j2, j3, k2;
|
||||||
extern /* Subroutine */ int cgbtf2_(integer *, integer *, integer *,
|
extern /* Subroutine */ void cgbtf2_(integer *, integer *, integer *,
|
||||||
integer *, complex *, integer *, integer *, integer *);
|
integer *, complex *, integer *, integer *, integer *);
|
||||||
integer jb, nb, ii, jj, jm, ip, jp, km, ju, kv;
|
integer jb, nb, ii, jj, jm, ip, jp, km, ju, kv;
|
||||||
extern integer icamax_(integer *, complex *, integer *);
|
extern integer icamax_(integer *, complex *, integer *);
|
||||||
|
@ -745,13 +745,13 @@ f"> */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGBTRF", &i__1, (ftnlen)6);
|
xerbla_("CGBTRF", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Quick return if possible */
|
/* Quick return if possible */
|
||||||
|
|
||||||
if (*m == 0 || *n == 0) {
|
if (*m == 0 || *n == 0) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Determine the block size for this environment */
|
/* Determine the block size for this environment */
|
||||||
|
@ -1162,7 +1162,7 @@ f"> */
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGBTRF */
|
/* End of CGBTRF */
|
||||||
|
|
||||||
|
|
|
@ -663,7 +663,7 @@ f"> */
|
||||||
/* > \ingroup complexGBcomputational */
|
/* > \ingroup complexGBcomputational */
|
||||||
|
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgbtrs_(char *trans, integer *n, integer *kl, integer *
|
/* Subroutine */ void cgbtrs_(char *trans, integer *n, integer *kl, integer *
|
||||||
ku, integer *nrhs, complex *ab, integer *ldab, integer *ipiv, complex
|
ku, integer *nrhs, complex *ab, integer *ldab, integer *ipiv, complex
|
||||||
*b, integer *ldb, integer *info)
|
*b, integer *ldb, integer *info)
|
||||||
{
|
{
|
||||||
|
@ -674,7 +674,7 @@ f"> */
|
||||||
/* Local variables */
|
/* Local variables */
|
||||||
integer i__, j, l;
|
integer i__, j, l;
|
||||||
extern logical lsame_(char *, char *);
|
extern logical lsame_(char *, char *);
|
||||||
extern /* Subroutine */ int cgemv_(char *, integer *, integer *, complex *
|
extern /* Subroutine */ void cgemv_(char *, integer *, integer *, complex *
|
||||||
, complex *, integer *, complex *, integer *, complex *, complex *
|
, complex *, integer *, complex *, integer *, complex *, complex *
|
||||||
, integer *), cgeru_(integer *, integer *, complex *,
|
, integer *), cgeru_(integer *, integer *, complex *,
|
||||||
complex *, integer *, complex *, integer *, complex *, integer *),
|
complex *, integer *, complex *, integer *, complex *, integer *),
|
||||||
|
@ -683,8 +683,8 @@ f"> */
|
||||||
integer *, complex *, integer *);
|
integer *, complex *, integer *);
|
||||||
logical lnoti;
|
logical lnoti;
|
||||||
integer kd, lm;
|
integer kd, lm;
|
||||||
extern /* Subroutine */ int clacgv_(integer *, complex *, integer *),
|
extern /* Subroutine */ void clacgv_(integer *, complex *, integer *);
|
||||||
xerbla_(char *, integer *, ftnlen);
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
logical notran;
|
logical notran;
|
||||||
|
|
||||||
|
|
||||||
|
@ -730,13 +730,13 @@ f"> */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGBTRS", &i__1, (ftnlen)6);
|
xerbla_("CGBTRS", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Quick return if possible */
|
/* Quick return if possible */
|
||||||
|
|
||||||
if (*n == 0 || *nrhs == 0) {
|
if (*n == 0 || *nrhs == 0) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
kd = *ku + *kl + 1;
|
kd = *ku + *kl + 1;
|
||||||
|
@ -851,7 +851,7 @@ f"> */
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGBTRS */
|
/* End of CGBTRS */
|
||||||
|
|
||||||
|
|
|
@ -651,7 +651,7 @@ f"> */
|
||||||
/* > \ingroup complexGEcomputational */
|
/* > \ingroup complexGEcomputational */
|
||||||
|
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgebak_(char *job, char *side, integer *n, integer *ilo,
|
/* Subroutine */ void cgebak_(char *job, char *side, integer *n, integer *ilo,
|
||||||
integer *ihi, real *scale, integer *m, complex *v, integer *ldv,
|
integer *ihi, real *scale, integer *m, complex *v, integer *ldv,
|
||||||
integer *info)
|
integer *info)
|
||||||
{
|
{
|
||||||
|
@ -662,12 +662,13 @@ f"> */
|
||||||
integer i__, k;
|
integer i__, k;
|
||||||
real s;
|
real s;
|
||||||
extern logical lsame_(char *, char *);
|
extern logical lsame_(char *, char *);
|
||||||
extern /* Subroutine */ int cswap_(integer *, complex *, integer *,
|
extern /* Subroutine */ void cswap_(integer *, complex *, integer *,
|
||||||
complex *, integer *);
|
complex *, integer *);
|
||||||
logical leftv;
|
logical leftv;
|
||||||
integer ii;
|
integer ii;
|
||||||
extern /* Subroutine */ int csscal_(integer *, real *, complex *, integer
|
extern /* Subroutine */ void csscal_(integer *, real *, complex *, integer
|
||||||
*), xerbla_(char *, integer *, ftnlen);
|
*);
|
||||||
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
logical rightv;
|
logical rightv;
|
||||||
|
|
||||||
|
|
||||||
|
@ -712,19 +713,19 @@ f"> */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGEBAK", &i__1, (ftnlen)6);
|
xerbla_("CGEBAK", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Quick return if possible */
|
/* Quick return if possible */
|
||||||
|
|
||||||
if (*n == 0) {
|
if (*n == 0) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
if (*m == 0) {
|
if (*m == 0) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
if (lsame_(job, "N")) {
|
if (lsame_(job, "N")) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (*ilo == *ihi) {
|
if (*ilo == *ihi) {
|
||||||
|
@ -803,7 +804,7 @@ L50:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGEBAK */
|
/* End of CGEBAK */
|
||||||
|
|
||||||
|
|
|
@ -686,7 +686,7 @@ f"> */
|
||||||
/* > \endverbatim */
|
/* > \endverbatim */
|
||||||
/* > */
|
/* > */
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgebal_(char *job, integer *n, complex *a, integer *lda,
|
/* Subroutine */ void cgebal_(char *job, integer *n, complex *a, integer *lda,
|
||||||
integer *ilo, integer *ihi, real *scale, integer *info)
|
integer *ilo, integer *ihi, real *scale, integer *info)
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
|
@ -699,15 +699,16 @@ f"> */
|
||||||
integer i__, j, k, l, m;
|
integer i__, j, k, l, m;
|
||||||
real r__, s;
|
real r__, s;
|
||||||
extern logical lsame_(char *, char *);
|
extern logical lsame_(char *, char *);
|
||||||
extern /* Subroutine */ int cswap_(integer *, complex *, integer *,
|
extern /* Subroutine */ void cswap_(integer *, complex *, integer *,
|
||||||
complex *, integer *);
|
complex *, integer *);
|
||||||
real sfmin1, sfmin2, sfmax1, sfmax2, ca;
|
real sfmin1, sfmin2, sfmax1, sfmax2, ca;
|
||||||
extern real scnrm2_(integer *, complex *, integer *);
|
extern real scnrm2_(integer *, complex *, integer *);
|
||||||
real ra;
|
real ra;
|
||||||
extern integer icamax_(integer *, complex *, integer *);
|
extern integer icamax_(integer *, complex *, integer *);
|
||||||
extern real slamch_(char *);
|
extern real slamch_(char *);
|
||||||
extern /* Subroutine */ int csscal_(integer *, real *, complex *, integer
|
extern /* Subroutine */ void csscal_(integer *, real *, complex *, integer
|
||||||
*), xerbla_(char *, integer *, ftnlen);
|
*);
|
||||||
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
extern logical sisnan_(real *);
|
extern logical sisnan_(real *);
|
||||||
logical noconv;
|
logical noconv;
|
||||||
integer ica, ira;
|
integer ica, ira;
|
||||||
|
@ -743,7 +744,7 @@ f"> */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGEBAL", &i__1, (ftnlen)6);
|
xerbla_("CGEBAL", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
k = 1;
|
k = 1;
|
||||||
|
@ -909,7 +910,7 @@ L160:
|
||||||
*info = -3;
|
*info = -3;
|
||||||
i__2 = -(*info);
|
i__2 = -(*info);
|
||||||
xerbla_("CGEBAL", &i__2, (ftnlen)6);
|
xerbla_("CGEBAL", &i__2, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
f *= 2.f;
|
f *= 2.f;
|
||||||
c__ *= 2.f;
|
c__ *= 2.f;
|
||||||
|
@ -971,7 +972,7 @@ L210:
|
||||||
*ilo = k;
|
*ilo = k;
|
||||||
*ihi = l;
|
*ihi = l;
|
||||||
|
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGEBAL */
|
/* End of CGEBAL */
|
||||||
|
|
||||||
|
|
|
@ -715,7 +715,7 @@ f"> */
|
||||||
/* > \endverbatim */
|
/* > \endverbatim */
|
||||||
/* > */
|
/* > */
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgebd2_(integer *m, integer *n, complex *a, integer *lda,
|
/* Subroutine */ void cgebd2_(integer *m, integer *n, complex *a, integer *lda,
|
||||||
real *d__, real *e, complex *tauq, complex *taup, complex *work,
|
real *d__, real *e, complex *tauq, complex *taup, complex *work,
|
||||||
integer *info)
|
integer *info)
|
||||||
{
|
{
|
||||||
|
@ -726,11 +726,11 @@ f"> */
|
||||||
/* Local variables */
|
/* Local variables */
|
||||||
integer i__;
|
integer i__;
|
||||||
complex alpha;
|
complex alpha;
|
||||||
extern /* Subroutine */ int clarf_(char *, integer *, integer *, complex *
|
extern /* Subroutine */ void clarf_(char *, integer *, integer *, complex *
|
||||||
, integer *, complex *, complex *, integer *, complex *),
|
, integer *, complex *, complex *, integer *, complex *),
|
||||||
clarfg_(integer *, complex *, complex *, integer *, complex *),
|
clarfg_(integer *, complex *, complex *, integer *, complex *),
|
||||||
clacgv_(integer *, complex *, integer *), xerbla_(char *, integer
|
clacgv_(integer *, complex *, integer *);
|
||||||
*, ftnlen);
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
|
|
||||||
|
|
||||||
/* -- LAPACK computational routine (version 3.7.1) -- */
|
/* -- LAPACK computational routine (version 3.7.1) -- */
|
||||||
|
@ -766,7 +766,7 @@ f"> */
|
||||||
if (*info < 0) {
|
if (*info < 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGEBD2", &i__1, (ftnlen)6);
|
xerbla_("CGEBD2", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (*m >= *n) {
|
if (*m >= *n) {
|
||||||
|
@ -912,7 +912,7 @@ f"> */
|
||||||
/* L20: */
|
/* L20: */
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGEBD2 */
|
/* End of CGEBD2 */
|
||||||
|
|
||||||
|
|
|
@ -722,7 +722,7 @@ f"> */
|
||||||
/* > \endverbatim */
|
/* > \endverbatim */
|
||||||
/* > */
|
/* > */
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgebrd_(integer *m, integer *n, complex *a, integer *lda,
|
/* Subroutine */ void cgebrd_(integer *m, integer *n, complex *a, integer *lda,
|
||||||
real *d__, real *e, complex *tauq, complex *taup, complex *work,
|
real *d__, real *e, complex *tauq, complex *taup, complex *work,
|
||||||
integer *lwork, integer *info)
|
integer *lwork, integer *info)
|
||||||
{
|
{
|
||||||
|
@ -733,15 +733,15 @@ f"> */
|
||||||
|
|
||||||
/* Local variables */
|
/* Local variables */
|
||||||
integer i__, j;
|
integer i__, j;
|
||||||
extern /* Subroutine */ int cgemm_(char *, char *, integer *, integer *,
|
extern /* Subroutine */ void cgemm_(char *, char *, integer *, integer *,
|
||||||
integer *, complex *, complex *, integer *, complex *, integer *,
|
integer *, complex *, complex *, integer *, complex *, integer *,
|
||||||
complex *, complex *, integer *);
|
complex *, complex *, integer *);
|
||||||
integer nbmin, iinfo, minmn;
|
integer nbmin, iinfo, minmn;
|
||||||
extern /* Subroutine */ int cgebd2_(integer *, integer *, complex *,
|
extern /* Subroutine */ void cgebd2_(integer *, integer *, complex *,
|
||||||
integer *, real *, real *, complex *, complex *, complex *,
|
integer *, real *, real *, complex *, complex *, complex *,
|
||||||
integer *);
|
integer *);
|
||||||
integer nb;
|
integer nb;
|
||||||
extern /* Subroutine */ int clabrd_(integer *, integer *, integer *,
|
extern /* Subroutine */ void clabrd_(integer *, integer *, integer *,
|
||||||
complex *, integer *, real *, real *, complex *, complex *,
|
complex *, integer *, real *, real *, complex *, complex *,
|
||||||
complex *, integer *, complex *, integer *);
|
complex *, integer *, complex *, integer *);
|
||||||
integer nx, ws;
|
integer nx, ws;
|
||||||
|
@ -799,9 +799,9 @@ f"> */
|
||||||
if (*info < 0) {
|
if (*info < 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGEBRD", &i__1, (ftnlen)6);
|
xerbla_("CGEBRD", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
} else if (lquery) {
|
} else if (lquery) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Quick return if possible */
|
/* Quick return if possible */
|
||||||
|
@ -809,7 +809,7 @@ f"> */
|
||||||
minmn = f2cmin(*m,*n);
|
minmn = f2cmin(*m,*n);
|
||||||
if (minmn == 0) {
|
if (minmn == 0) {
|
||||||
work[1].r = 1.f, work[1].i = 0.f;
|
work[1].r = 1.f, work[1].i = 0.f;
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
ws = f2cmax(*m,*n);
|
ws = f2cmax(*m,*n);
|
||||||
|
@ -914,7 +914,7 @@ f"> */
|
||||||
cgebd2_(&i__2, &i__1, &a[i__ + i__ * a_dim1], lda, &d__[i__], &e[i__], &
|
cgebd2_(&i__2, &i__1, &a[i__ + i__ * a_dim1], lda, &d__[i__], &e[i__], &
|
||||||
tauq[i__], &taup[i__], &work[1], &iinfo);
|
tauq[i__], &taup[i__], &work[1], &iinfo);
|
||||||
work[1].r = (real) ws, work[1].i = 0.f;
|
work[1].r = (real) ws, work[1].i = 0.f;
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGEBRD */
|
/* End of CGEBRD */
|
||||||
|
|
||||||
|
|
|
@ -635,7 +635,7 @@ f"> */
|
||||||
/* > \ingroup complexGEcomputational */
|
/* > \ingroup complexGEcomputational */
|
||||||
|
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgecon_(char *norm, integer *n, complex *a, integer *lda,
|
/* Subroutine */ void cgecon_(char *norm, integer *n, complex *a, integer *lda,
|
||||||
real *anorm, real *rcond, complex *work, real *rwork, integer *info)
|
real *anorm, real *rcond, complex *work, real *rwork, integer *info)
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
|
@ -647,7 +647,7 @@ f"> */
|
||||||
real scale;
|
real scale;
|
||||||
extern logical lsame_(char *, char *);
|
extern logical lsame_(char *, char *);
|
||||||
integer isave[3];
|
integer isave[3];
|
||||||
extern /* Subroutine */ int clacn2_(integer *, complex *, complex *, real
|
extern /* Subroutine */ void clacn2_(integer *, complex *, complex *, real
|
||||||
*, integer *, integer *);
|
*, integer *, integer *);
|
||||||
real sl;
|
real sl;
|
||||||
integer ix;
|
integer ix;
|
||||||
|
@ -656,7 +656,7 @@ f"> */
|
||||||
real su;
|
real su;
|
||||||
extern /* Subroutine */ int xerbla_(char *, integer *, ftnlen);
|
extern /* Subroutine */ int xerbla_(char *, integer *, ftnlen);
|
||||||
real ainvnm;
|
real ainvnm;
|
||||||
extern /* Subroutine */ int clatrs_(char *, char *, char *, char *,
|
extern /* Subroutine */ void clatrs_(char *, char *, char *, char *,
|
||||||
integer *, complex *, integer *, complex *, real *, real *,
|
integer *, complex *, integer *, complex *, real *, real *,
|
||||||
integer *), csrscl_(integer *,
|
integer *), csrscl_(integer *,
|
||||||
real *, complex *, integer *);
|
real *, complex *, integer *);
|
||||||
|
@ -698,7 +698,7 @@ f"> */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGECON", &i__1, (ftnlen)6);
|
xerbla_("CGECON", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Quick return if possible */
|
/* Quick return if possible */
|
||||||
|
@ -706,9 +706,9 @@ f"> */
|
||||||
*rcond = 0.f;
|
*rcond = 0.f;
|
||||||
if (*n == 0) {
|
if (*n == 0) {
|
||||||
*rcond = 1.f;
|
*rcond = 1.f;
|
||||||
return 0;
|
return;
|
||||||
} else if (*anorm == 0.f) {
|
} else if (*anorm == 0.f) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
smlnum = slamch_("Safe minimum");
|
smlnum = slamch_("Safe minimum");
|
||||||
|
@ -773,7 +773,7 @@ L10:
|
||||||
}
|
}
|
||||||
|
|
||||||
L20:
|
L20:
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGECON */
|
/* End of CGECON */
|
||||||
|
|
||||||
|
|
|
@ -648,7 +648,7 @@ f"> */
|
||||||
/* > \ingroup complexGEcomputational */
|
/* > \ingroup complexGEcomputational */
|
||||||
|
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgeequ_(integer *m, integer *n, complex *a, integer *lda,
|
/* Subroutine */ void cgeequ_(integer *m, integer *n, complex *a, integer *lda,
|
||||||
real *r__, real *c__, real *rowcnd, real *colcnd, real *amax,
|
real *r__, real *c__, real *rowcnd, real *colcnd, real *amax,
|
||||||
integer *info)
|
integer *info)
|
||||||
{
|
{
|
||||||
|
@ -694,7 +694,7 @@ f"> */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGEEQU", &i__1, (ftnlen)6);
|
xerbla_("CGEEQU", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Quick return if possible */
|
/* Quick return if possible */
|
||||||
|
@ -703,7 +703,7 @@ f"> */
|
||||||
*rowcnd = 1.f;
|
*rowcnd = 1.f;
|
||||||
*colcnd = 1.f;
|
*colcnd = 1.f;
|
||||||
*amax = 0.f;
|
*amax = 0.f;
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Get machine constants. */
|
/* Get machine constants. */
|
||||||
|
@ -759,7 +759,7 @@ f"> */
|
||||||
for (i__ = 1; i__ <= i__1; ++i__) {
|
for (i__ = 1; i__ <= i__1; ++i__) {
|
||||||
if (r__[i__] == 0.f) {
|
if (r__[i__] == 0.f) {
|
||||||
*info = i__;
|
*info = i__;
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
/* L50: */
|
/* L50: */
|
||||||
}
|
}
|
||||||
|
@ -830,7 +830,7 @@ f"> */
|
||||||
for (j = 1; j <= i__1; ++j) {
|
for (j = 1; j <= i__1; ++j) {
|
||||||
if (c__[j] == 0.f) {
|
if (c__[j] == 0.f) {
|
||||||
*info = *m + j;
|
*info = *m + j;
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
/* L110: */
|
/* L110: */
|
||||||
}
|
}
|
||||||
|
@ -853,7 +853,7 @@ f"> */
|
||||||
*colcnd = f2cmax(rcmin,smlnum) / f2cmin(rcmax,bignum);
|
*colcnd = f2cmax(rcmin,smlnum) / f2cmin(rcmax,bignum);
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGEEQU */
|
/* End of CGEEQU */
|
||||||
|
|
||||||
|
|
|
@ -656,7 +656,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ
|
||||||
/* > \ingroup complexGEcomputational */
|
/* > \ingroup complexGEcomputational */
|
||||||
|
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgeequb_(integer *m, integer *n, complex *a, integer *
|
/* Subroutine */ void cgeequb_(integer *m, integer *n, complex *a, integer *
|
||||||
lda, real *r__, real *c__, real *rowcnd, real *colcnd, real *amax,
|
lda, real *r__, real *c__, real *rowcnd, real *colcnd, real *amax,
|
||||||
integer *info)
|
integer *info)
|
||||||
{
|
{
|
||||||
|
@ -702,7 +702,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGEEQUB", &i__1, (ftnlen)7);
|
xerbla_("CGEEQUB", &i__1, (ftnlen)7);
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Quick return if possible. */
|
/* Quick return if possible. */
|
||||||
|
@ -711,7 +711,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ
|
||||||
*rowcnd = 1.f;
|
*rowcnd = 1.f;
|
||||||
*colcnd = 1.f;
|
*colcnd = 1.f;
|
||||||
*amax = 0.f;
|
*amax = 0.f;
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Get machine constants. Assume SMLNUM is a power of the radix. */
|
/* Get machine constants. Assume SMLNUM is a power of the radix. */
|
||||||
|
@ -776,7 +776,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ
|
||||||
for (i__ = 1; i__ <= i__1; ++i__) {
|
for (i__ = 1; i__ <= i__1; ++i__) {
|
||||||
if (r__[i__] == 0.f) {
|
if (r__[i__] == 0.f) {
|
||||||
*info = i__;
|
*info = i__;
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
/* L50: */
|
/* L50: */
|
||||||
}
|
}
|
||||||
|
@ -851,7 +851,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ
|
||||||
for (j = 1; j <= i__1; ++j) {
|
for (j = 1; j <= i__1; ++j) {
|
||||||
if (c__[j] == 0.f) {
|
if (c__[j] == 0.f) {
|
||||||
*info = *m + j;
|
*info = *m + j;
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
/* L110: */
|
/* L110: */
|
||||||
}
|
}
|
||||||
|
@ -874,7 +874,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ
|
||||||
*colcnd = f2cmax(rcmin,smlnum) / f2cmin(rcmax,bignum);
|
*colcnd = f2cmax(rcmin,smlnum) / f2cmin(rcmax,bignum);
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGEEQUB */
|
/* End of CGEEQUB */
|
||||||
|
|
||||||
|
|
|
@ -710,7 +710,7 @@ or GE matrices</b> */
|
||||||
/* > \ingroup complexGEeigen */
|
/* > \ingroup complexGEeigen */
|
||||||
|
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgees_(char *jobvs, char *sort, L_fp select, integer *n,
|
/* Subroutine */ void cgees_(char *jobvs, char *sort, L_fp select, integer *n,
|
||||||
complex *a, integer *lda, integer *sdim, complex *w, complex *vs,
|
complex *a, integer *lda, integer *sdim, complex *w, complex *vs,
|
||||||
integer *ldvs, complex *work, integer *lwork, real *rwork, logical *
|
integer *ldvs, complex *work, integer *lwork, real *rwork, logical *
|
||||||
bwork, integer *info)
|
bwork, integer *info)
|
||||||
|
@ -725,7 +725,7 @@ or GE matrices</b> */
|
||||||
real s;
|
real s;
|
||||||
integer icond, ieval;
|
integer icond, ieval;
|
||||||
extern logical lsame_(char *, char *);
|
extern logical lsame_(char *, char *);
|
||||||
extern /* Subroutine */ int ccopy_(integer *, complex *, integer *,
|
extern /* Subroutine */ void ccopy_(integer *, complex *, integer *,
|
||||||
complex *, integer *), cgebak_(char *, char *, integer *, integer
|
complex *, integer *), cgebak_(char *, char *, integer *, integer
|
||||||
*, integer *, real *, integer *, complex *, integer *, integer *), cgebal_(char *, integer *, complex *, integer *,
|
*, integer *, real *, integer *, complex *, integer *, integer *), cgebal_(char *, integer *, complex *, integer *,
|
||||||
integer *, integer *, real *, integer *), slabad_(real *,
|
integer *, integer *, real *, integer *), slabad_(real *,
|
||||||
|
@ -734,18 +734,18 @@ or GE matrices</b> */
|
||||||
extern real clange_(char *, integer *, integer *, complex *, integer *,
|
extern real clange_(char *, integer *, integer *, complex *, integer *,
|
||||||
real *);
|
real *);
|
||||||
real cscale;
|
real cscale;
|
||||||
extern /* Subroutine */ int cgehrd_(integer *, integer *, integer *,
|
extern /* Subroutine */ void cgehrd_(integer *, integer *, integer *,
|
||||||
complex *, integer *, complex *, complex *, integer *, integer *),
|
complex *, integer *, complex *, complex *, integer *, integer *),
|
||||||
clascl_(char *, integer *, integer *, real *, real *, integer *,
|
clascl_(char *, integer *, integer *, real *, real *, integer *,
|
||||||
integer *, complex *, integer *, integer *);
|
integer *, complex *, integer *, integer *);
|
||||||
extern real slamch_(char *);
|
extern real slamch_(char *);
|
||||||
extern /* Subroutine */ int clacpy_(char *, integer *, integer *, complex
|
extern /* Subroutine */ void clacpy_(char *, integer *, integer *, complex
|
||||||
*, integer *, complex *, integer *), xerbla_(char *,
|
*, integer *, complex *, integer *);
|
||||||
integer *, ftnlen);
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
|
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
|
||||||
integer *, integer *, ftnlen, ftnlen);
|
integer *, integer *, ftnlen, ftnlen);
|
||||||
real bignum;
|
real bignum;
|
||||||
extern /* Subroutine */ int chseqr_(char *, char *, integer *, integer *,
|
extern /* Subroutine */ void chseqr_(char *, char *, integer *, integer *,
|
||||||
integer *, complex *, integer *, complex *, complex *, integer *,
|
integer *, complex *, integer *, complex *, complex *, integer *,
|
||||||
complex *, integer *, integer *), cunghr_(integer
|
complex *, integer *, integer *), cunghr_(integer
|
||||||
*, integer *, integer *, complex *, integer *, complex *, complex
|
*, integer *, integer *, complex *, integer *, complex *, complex
|
||||||
|
@ -844,16 +844,16 @@ or GE matrices</b> */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGEES ", &i__1, (ftnlen)6);
|
xerbla_("CGEES ", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
} else if (lquery) {
|
} else if (lquery) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Quick return if possible */
|
/* Quick return if possible */
|
||||||
|
|
||||||
if (*n == 0) {
|
if (*n == 0) {
|
||||||
*sdim = 0;
|
*sdim = 0;
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Get machine constants */
|
/* Get machine constants */
|
||||||
|
@ -971,7 +971,7 @@ or GE matrices</b> */
|
||||||
}
|
}
|
||||||
|
|
||||||
work[1].r = (real) maxwrk, work[1].i = 0.f;
|
work[1].r = (real) maxwrk, work[1].i = 0.f;
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGEES */
|
/* End of CGEES */
|
||||||
|
|
||||||
|
|
|
@ -752,7 +752,7 @@ f"> */
|
||||||
/* > \ingroup complexGEeigen */
|
/* > \ingroup complexGEeigen */
|
||||||
|
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgeesx_(char *jobvs, char *sort, L_fp select, char *
|
/* Subroutine */ void cgeesx_(char *jobvs, char *sort, L_fp select, char *
|
||||||
sense, integer *n, complex *a, integer *lda, integer *sdim, complex *
|
sense, integer *n, complex *a, integer *lda, integer *sdim, complex *
|
||||||
w, complex *vs, integer *ldvs, real *rconde, real *rcondv, complex *
|
w, complex *vs, integer *ldvs, real *rconde, real *rcondv, complex *
|
||||||
work, integer *lwork, real *rwork, logical *bwork, integer *info)
|
work, integer *lwork, real *rwork, logical *bwork, integer *info)
|
||||||
|
@ -765,7 +765,7 @@ f"> */
|
||||||
real anrm;
|
real anrm;
|
||||||
integer ierr, itau, iwrk, lwrk, i__, icond, ieval;
|
integer ierr, itau, iwrk, lwrk, i__, icond, ieval;
|
||||||
extern logical lsame_(char *, char *);
|
extern logical lsame_(char *, char *);
|
||||||
extern /* Subroutine */ int ccopy_(integer *, complex *, integer *,
|
extern /* Subroutine */ void ccopy_(integer *, complex *, integer *,
|
||||||
complex *, integer *), cgebak_(char *, char *, integer *, integer
|
complex *, integer *), cgebak_(char *, char *, integer *, integer
|
||||||
*, integer *, real *, integer *, complex *, integer *, integer *), cgebal_(char *, integer *, complex *, integer *,
|
*, integer *, real *, integer *, complex *, integer *, integer *), cgebal_(char *, integer *, complex *, integer *,
|
||||||
integer *, integer *, real *, integer *), slabad_(real *,
|
integer *, integer *, real *, integer *), slabad_(real *,
|
||||||
|
@ -774,25 +774,25 @@ f"> */
|
||||||
extern real clange_(char *, integer *, integer *, complex *, integer *,
|
extern real clange_(char *, integer *, integer *, complex *, integer *,
|
||||||
real *);
|
real *);
|
||||||
real cscale;
|
real cscale;
|
||||||
extern /* Subroutine */ int cgehrd_(integer *, integer *, integer *,
|
extern /* Subroutine */ void cgehrd_(integer *, integer *, integer *,
|
||||||
complex *, integer *, complex *, complex *, integer *, integer *),
|
complex *, integer *, complex *, complex *, integer *, integer *),
|
||||||
clascl_(char *, integer *, integer *, real *, real *, integer *,
|
clascl_(char *, integer *, integer *, real *, real *, integer *,
|
||||||
integer *, complex *, integer *, integer *);
|
integer *, complex *, integer *, integer *);
|
||||||
extern real slamch_(char *);
|
extern real slamch_(char *);
|
||||||
extern /* Subroutine */ int clacpy_(char *, integer *, integer *, complex
|
extern /* Subroutine */ void clacpy_(char *, integer *, integer *, complex
|
||||||
*, integer *, complex *, integer *), xerbla_(char *,
|
*, integer *, complex *, integer *);
|
||||||
integer *, ftnlen);
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
|
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
|
||||||
integer *, integer *, ftnlen, ftnlen);
|
integer *, integer *, ftnlen, ftnlen);
|
||||||
real bignum;
|
real bignum;
|
||||||
extern /* Subroutine */ int slascl_(char *, integer *, integer *, real *,
|
extern /* Subroutine */ void slascl_(char *, integer *, integer *, real *,
|
||||||
real *, integer *, integer *, real *, integer *, integer *), chseqr_(char *, char *, integer *, integer *, integer *,
|
real *, integer *, integer *, real *, integer *, integer *), chseqr_(char *, char *, integer *, integer *, integer *,
|
||||||
complex *, integer *, complex *, complex *, integer *, complex *,
|
complex *, integer *, complex *, complex *, integer *, complex *,
|
||||||
integer *, integer *), cunghr_(integer *, integer
|
integer *, integer *), cunghr_(integer *, integer
|
||||||
*, integer *, complex *, integer *, complex *, complex *, integer
|
*, integer *, complex *, integer *, complex *, complex *, integer
|
||||||
*, integer *);
|
*, integer *);
|
||||||
logical wantsb;
|
logical wantsb;
|
||||||
extern /* Subroutine */ int ctrsen_(char *, char *, logical *, integer *,
|
extern /* Subroutine */ void ctrsen_(char *, char *, logical *, integer *,
|
||||||
complex *, integer *, complex *, integer *, complex *, integer *,
|
complex *, integer *, complex *, integer *, complex *, integer *,
|
||||||
real *, real *, complex *, integer *, integer *);
|
real *, real *, complex *, integer *, integer *);
|
||||||
logical wantse;
|
logical wantse;
|
||||||
|
@ -906,16 +906,16 @@ f"> */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGEESX", &i__1, (ftnlen)6);
|
xerbla_("CGEESX", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
} else if (lquery) {
|
} else if (lquery) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Quick return if possible */
|
/* Quick return if possible */
|
||||||
|
|
||||||
if (*n == 0) {
|
if (*n == 0) {
|
||||||
*sdim = 0;
|
*sdim = 0;
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Get machine constants */
|
/* Get machine constants */
|
||||||
|
@ -1054,7 +1054,7 @@ f"> */
|
||||||
}
|
}
|
||||||
|
|
||||||
work[1].r = (real) maxwrk, work[1].i = 0.f;
|
work[1].r = (real) maxwrk, work[1].i = 0.f;
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGEESX */
|
/* End of CGEESX */
|
||||||
|
|
||||||
|
|
|
@ -695,7 +695,7 @@ ices</b> */
|
||||||
/* > \ingroup complexGEeigen */
|
/* > \ingroup complexGEeigen */
|
||||||
|
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgeev_(char *jobvl, char *jobvr, integer *n, complex *a,
|
/* Subroutine */ void cgeev_(char *jobvl, char *jobvr, integer *n, complex *a,
|
||||||
integer *lda, complex *w, complex *vl, integer *ldvl, complex *vr,
|
integer *lda, complex *w, complex *vl, integer *ldvl, complex *vr,
|
||||||
integer *ldvr, complex *work, integer *lwork, real *rwork, integer *
|
integer *ldvr, complex *work, integer *lwork, real *rwork, integer *
|
||||||
info)
|
info)
|
||||||
|
@ -711,11 +711,11 @@ ices</b> */
|
||||||
char side[1];
|
char side[1];
|
||||||
real anrm;
|
real anrm;
|
||||||
integer ierr, itau, iwrk, nout, i__, k;
|
integer ierr, itau, iwrk, nout, i__, k;
|
||||||
extern /* Subroutine */ int cscal_(integer *, complex *, complex *,
|
extern /* Subroutine */ void cscal_(integer *, complex *, complex *,
|
||||||
integer *);
|
integer *);
|
||||||
extern logical lsame_(char *, char *);
|
extern logical lsame_(char *, char *);
|
||||||
extern real scnrm2_(integer *, complex *, integer *);
|
extern real scnrm2_(integer *, complex *, integer *);
|
||||||
extern /* Subroutine */ int cgebak_(char *, char *, integer *, integer *,
|
extern /* Subroutine */ void cgebak_(char *, char *, integer *, integer *,
|
||||||
integer *, real *, integer *, complex *, integer *, integer *), cgebal_(char *, integer *, complex *, integer *,
|
integer *, real *, integer *, complex *, integer *, integer *), cgebal_(char *, integer *, complex *, integer *,
|
||||||
integer *, integer *, real *, integer *), slabad_(real *,
|
integer *, integer *, real *, integer *), slabad_(real *,
|
||||||
real *);
|
real *);
|
||||||
|
@ -723,20 +723,21 @@ ices</b> */
|
||||||
extern real clange_(char *, integer *, integer *, complex *, integer *,
|
extern real clange_(char *, integer *, integer *, complex *, integer *,
|
||||||
real *);
|
real *);
|
||||||
real cscale;
|
real cscale;
|
||||||
extern /* Subroutine */ int cgehrd_(integer *, integer *, integer *,
|
extern /* Subroutine */ void cgehrd_(integer *, integer *, integer *,
|
||||||
complex *, integer *, complex *, complex *, integer *, integer *),
|
complex *, integer *, complex *, complex *, integer *, integer *),
|
||||||
clascl_(char *, integer *, integer *, real *, real *, integer *,
|
clascl_(char *, integer *, integer *, real *, real *, integer *,
|
||||||
integer *, complex *, integer *, integer *);
|
integer *, complex *, integer *, integer *);
|
||||||
extern real slamch_(char *);
|
extern real slamch_(char *);
|
||||||
extern /* Subroutine */ int csscal_(integer *, real *, complex *, integer
|
extern /* Subroutine */ void csscal_(integer *, real *, complex *, integer
|
||||||
*), clacpy_(char *, integer *, integer *, complex *, integer *,
|
*), clacpy_(char *, integer *, integer *, complex *, integer *,
|
||||||
complex *, integer *), xerbla_(char *, integer *, ftnlen);
|
complex *, integer *);
|
||||||
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
|
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
|
||||||
integer *, integer *, ftnlen, ftnlen);
|
integer *, integer *, ftnlen, ftnlen);
|
||||||
logical select[1];
|
logical select[1];
|
||||||
real bignum;
|
real bignum;
|
||||||
extern integer isamax_(integer *, real *, integer *);
|
extern integer isamax_(integer *, real *, integer *);
|
||||||
extern /* Subroutine */ int chseqr_(char *, char *, integer *, integer *,
|
extern /* Subroutine */ void chseqr_(char *, char *, integer *, integer *,
|
||||||
integer *, complex *, integer *, complex *, complex *, integer *,
|
integer *, complex *, integer *, complex *, complex *, integer *,
|
||||||
complex *, integer *, integer *), cunghr_(integer
|
complex *, integer *, integer *), cunghr_(integer
|
||||||
*, integer *, integer *, complex *, integer *, complex *, complex
|
*, integer *, integer *, complex *, integer *, complex *, complex
|
||||||
|
@ -746,7 +747,7 @@ ices</b> */
|
||||||
real smlnum;
|
real smlnum;
|
||||||
integer hswork, irwork;
|
integer hswork, irwork;
|
||||||
logical lquery, wantvr;
|
logical lquery, wantvr;
|
||||||
extern /* Subroutine */ int ctrevc3_(char *, char *, logical *, integer *,
|
extern /* Subroutine */ void ctrevc3_(char *, char *, logical *, integer *,
|
||||||
complex *, integer *, complex *, integer *, complex *, integer *,
|
complex *, integer *, complex *, integer *, complex *, integer *,
|
||||||
integer *, integer *, complex *, integer *, real *, integer *,
|
integer *, integer *, complex *, integer *, real *, integer *,
|
||||||
integer *);
|
integer *);
|
||||||
|
@ -868,15 +869,15 @@ ices</b> */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGEEV ", &i__1, (ftnlen)6);
|
xerbla_("CGEEV ", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
} else if (lquery) {
|
} else if (lquery) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Quick return if possible */
|
/* Quick return if possible */
|
||||||
|
|
||||||
if (*n == 0) {
|
if (*n == 0) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Get machine constants */
|
/* Get machine constants */
|
||||||
|
@ -1111,7 +1112,7 @@ L50:
|
||||||
}
|
}
|
||||||
|
|
||||||
work[1].r = (real) maxwrk, work[1].i = 0.f;
|
work[1].r = (real) maxwrk, work[1].i = 0.f;
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGEEV */
|
/* End of CGEEV */
|
||||||
|
|
||||||
|
|
|
@ -802,7 +802,7 @@ f"> */
|
||||||
/* > \ingroup complexGEeigen */
|
/* > \ingroup complexGEeigen */
|
||||||
|
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgeevx_(char *balanc, char *jobvl, char *jobvr, char *
|
/* Subroutine */ void cgeevx_(char *balanc, char *jobvl, char *jobvr, char *
|
||||||
sense, integer *n, complex *a, integer *lda, complex *w, complex *vl,
|
sense, integer *n, complex *a, integer *lda, complex *w, complex *vl,
|
||||||
integer *ldvl, complex *vr, integer *ldvr, integer *ilo, integer *ihi,
|
integer *ldvl, complex *vr, integer *ldvr, integer *ilo, integer *ihi,
|
||||||
real *scale, real *abnrm, real *rconde, real *rcondv, complex *work,
|
real *scale, real *abnrm, real *rconde, real *rcondv, complex *work,
|
||||||
|
@ -818,12 +818,12 @@ f"> */
|
||||||
char side[1];
|
char side[1];
|
||||||
real anrm;
|
real anrm;
|
||||||
integer ierr, itau, iwrk, nout, i__, k;
|
integer ierr, itau, iwrk, nout, i__, k;
|
||||||
extern /* Subroutine */ int cscal_(integer *, complex *, complex *,
|
extern /* Subroutine */ void cscal_(integer *, complex *, complex *,
|
||||||
integer *);
|
integer *);
|
||||||
integer icond;
|
integer icond;
|
||||||
extern logical lsame_(char *, char *);
|
extern logical lsame_(char *, char *);
|
||||||
extern real scnrm2_(integer *, complex *, integer *);
|
extern real scnrm2_(integer *, complex *, integer *);
|
||||||
extern /* Subroutine */ int cgebak_(char *, char *, integer *, integer *,
|
extern /* Subroutine */ void cgebak_(char *, char *, integer *, integer *,
|
||||||
integer *, real *, integer *, complex *, integer *, integer *), cgebal_(char *, integer *, complex *, integer *,
|
integer *, real *, integer *, complex *, integer *, integer *), cgebal_(char *, integer *, complex *, integer *,
|
||||||
integer *, integer *, real *, integer *), slabad_(real *,
|
integer *, integer *, real *, integer *), slabad_(real *,
|
||||||
real *);
|
real *);
|
||||||
|
@ -831,22 +831,23 @@ f"> */
|
||||||
extern real clange_(char *, integer *, integer *, complex *, integer *,
|
extern real clange_(char *, integer *, integer *, complex *, integer *,
|
||||||
real *);
|
real *);
|
||||||
real cscale;
|
real cscale;
|
||||||
extern /* Subroutine */ int cgehrd_(integer *, integer *, integer *,
|
extern /* Subroutine */ void cgehrd_(integer *, integer *, integer *,
|
||||||
complex *, integer *, complex *, complex *, integer *, integer *),
|
complex *, integer *, complex *, complex *, integer *, integer *),
|
||||||
clascl_(char *, integer *, integer *, real *, real *, integer *,
|
clascl_(char *, integer *, integer *, real *, real *, integer *,
|
||||||
integer *, complex *, integer *, integer *);
|
integer *, complex *, integer *, integer *);
|
||||||
extern real slamch_(char *);
|
extern real slamch_(char *);
|
||||||
extern /* Subroutine */ int csscal_(integer *, real *, complex *, integer
|
extern /* Subroutine */ void csscal_(integer *, real *, complex *, integer
|
||||||
*), clacpy_(char *, integer *, integer *, complex *, integer *,
|
*), clacpy_(char *, integer *, integer *, complex *, integer *,
|
||||||
complex *, integer *), xerbla_(char *, integer *, ftnlen);
|
complex *, integer *);
|
||||||
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
|
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
|
||||||
integer *, integer *, ftnlen, ftnlen);
|
integer *, integer *, ftnlen, ftnlen);
|
||||||
logical select[1];
|
logical select[1];
|
||||||
real bignum;
|
real bignum;
|
||||||
extern /* Subroutine */ int slascl_(char *, integer *, integer *, real *,
|
extern /* Subroutine */ void slascl_(char *, integer *, integer *, real *,
|
||||||
real *, integer *, integer *, real *, integer *, integer *);
|
real *, integer *, integer *, real *, integer *, integer *);
|
||||||
extern integer isamax_(integer *, real *, integer *);
|
extern integer isamax_(integer *, real *, integer *);
|
||||||
extern /* Subroutine */ int chseqr_(char *, char *, integer *, integer *,
|
extern /* Subroutine */ void chseqr_(char *, char *, integer *, integer *,
|
||||||
integer *, complex *, integer *, complex *, complex *, integer *,
|
integer *, complex *, integer *, complex *, complex *, integer *,
|
||||||
complex *, integer *, integer *), cunghr_(integer
|
complex *, integer *, integer *), cunghr_(integer
|
||||||
*, integer *, integer *, complex *, integer *, complex *, complex
|
*, integer *, integer *, complex *, integer *, complex *, complex
|
||||||
|
@ -860,7 +861,7 @@ f"> */
|
||||||
logical wntsne;
|
logical wntsne;
|
||||||
real smlnum;
|
real smlnum;
|
||||||
logical lquery, wantvr, wntsnn, wntsnv;
|
logical lquery, wantvr, wntsnn, wntsnv;
|
||||||
extern /* Subroutine */ int ctrevc3_(char *, char *, logical *, integer *,
|
extern /* Subroutine */ void ctrevc3_(char *, char *, logical *, integer *,
|
||||||
complex *, integer *, complex *, integer *, complex *, integer *,
|
complex *, integer *, complex *, integer *, complex *, integer *,
|
||||||
integer *, integer *, complex *, integer *, real *, integer *,
|
integer *, integer *, complex *, integer *, real *, integer *,
|
||||||
integer *);
|
integer *);
|
||||||
|
@ -1019,15 +1020,15 @@ f"> */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGEEVX", &i__1, (ftnlen)6);
|
xerbla_("CGEEVX", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
} else if (lquery) {
|
} else if (lquery) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Quick return if possible */
|
/* Quick return if possible */
|
||||||
|
|
||||||
if (*n == 0) {
|
if (*n == 0) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Get machine constants */
|
/* Get machine constants */
|
||||||
|
@ -1285,7 +1286,7 @@ L50:
|
||||||
}
|
}
|
||||||
|
|
||||||
work[1].r = (real) maxwrk, work[1].i = 0.f;
|
work[1].r = (real) maxwrk, work[1].i = 0.f;
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGEEVX */
|
/* End of CGEEVX */
|
||||||
|
|
||||||
|
|
|
@ -664,7 +664,7 @@ f"> */
|
||||||
/* > \endverbatim */
|
/* > \endverbatim */
|
||||||
/* > */
|
/* > */
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgehd2_(integer *n, integer *ilo, integer *ihi, complex *
|
/* Subroutine */ void cgehd2_(integer *n, integer *ilo, integer *ihi, complex *
|
||||||
a, integer *lda, complex *tau, complex *work, integer *info)
|
a, integer *lda, complex *tau, complex *work, integer *info)
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
|
@ -674,10 +674,10 @@ f"> */
|
||||||
/* Local variables */
|
/* Local variables */
|
||||||
integer i__;
|
integer i__;
|
||||||
complex alpha;
|
complex alpha;
|
||||||
extern /* Subroutine */ int clarf_(char *, integer *, integer *, complex *
|
extern /* Subroutine */ void clarf_(char *, integer *, integer *, complex *
|
||||||
, integer *, complex *, complex *, integer *, complex *),
|
, integer *, complex *, complex *, integer *, complex *),
|
||||||
clarfg_(integer *, complex *, complex *, integer *, complex *),
|
clarfg_(integer *, complex *, complex *, integer *, complex *);
|
||||||
xerbla_(char *, integer *, ftnlen);
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
|
|
||||||
|
|
||||||
/* -- LAPACK computational routine (version 3.7.0) -- */
|
/* -- LAPACK computational routine (version 3.7.0) -- */
|
||||||
|
@ -712,7 +712,7 @@ f"> */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGEHD2", &i__1, (ftnlen)6);
|
xerbla_("CGEHD2", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
i__1 = *ihi - 1;
|
i__1 = *ihi - 1;
|
||||||
|
@ -749,7 +749,7 @@ f"> */
|
||||||
/* L10: */
|
/* L10: */
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGEHD2 */
|
/* End of CGEHD2 */
|
||||||
|
|
||||||
|
|
|
@ -686,7 +686,7 @@ f"> */
|
||||||
/* > \endverbatim */
|
/* > \endverbatim */
|
||||||
/* > */
|
/* > */
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgehrd_(integer *n, integer *ilo, integer *ihi, complex *
|
/* Subroutine */ void cgehrd_(integer *n, integer *ilo, integer *ihi, complex *
|
||||||
a, integer *lda, complex *tau, complex *work, integer *lwork, integer
|
a, integer *lda, complex *tau, complex *work, integer *lwork, integer
|
||||||
*info)
|
*info)
|
||||||
{
|
{
|
||||||
|
@ -696,11 +696,11 @@ f"> */
|
||||||
|
|
||||||
/* Local variables */
|
/* Local variables */
|
||||||
integer i__, j;
|
integer i__, j;
|
||||||
extern /* Subroutine */ int cgemm_(char *, char *, integer *, integer *,
|
extern /* Subroutine */ void cgemm_(char *, char *, integer *, integer *,
|
||||||
integer *, complex *, complex *, integer *, complex *, integer *,
|
integer *, complex *, complex *, integer *, complex *, integer *,
|
||||||
complex *, complex *, integer *);
|
complex *, complex *, integer *);
|
||||||
integer nbmin, iinfo;
|
integer nbmin, iinfo;
|
||||||
extern /* Subroutine */ int ctrmm_(char *, char *, char *, char *,
|
extern /* Subroutine */ void ctrmm_(char *, char *, char *, char *,
|
||||||
integer *, integer *, complex *, complex *, integer *, complex *,
|
integer *, integer *, complex *, complex *, integer *, complex *,
|
||||||
integer *), caxpy_(integer *,
|
integer *), caxpy_(integer *,
|
||||||
complex *, complex *, integer *, complex *, integer *), cgehd2_(
|
complex *, complex *, integer *, complex *, integer *), cgehd2_(
|
||||||
|
@ -711,7 +711,7 @@ f"> */
|
||||||
integer ib;
|
integer ib;
|
||||||
complex ei;
|
complex ei;
|
||||||
integer nb, nh;
|
integer nb, nh;
|
||||||
extern /* Subroutine */ int clarfb_(char *, char *, char *, char *,
|
extern /* Subroutine */ void clarfb_(char *, char *, char *, char *,
|
||||||
integer *, integer *, integer *, complex *, integer *, complex *,
|
integer *, integer *, integer *, complex *, integer *, complex *,
|
||||||
integer *, complex *, integer *, complex *, integer *);
|
integer *, complex *, integer *, complex *, integer *);
|
||||||
integer nx;
|
integer nx;
|
||||||
|
@ -771,9 +771,9 @@ f"> */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGEHRD", &i__1, (ftnlen)6);
|
xerbla_("CGEHRD", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
} else if (lquery) {
|
} else if (lquery) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Set elements 1:ILO-1 and IHI:N-1 of TAU to zero */
|
/* Set elements 1:ILO-1 and IHI:N-1 of TAU to zero */
|
||||||
|
@ -796,7 +796,7 @@ f"> */
|
||||||
nh = *ihi - *ilo + 1;
|
nh = *ihi - *ilo + 1;
|
||||||
if (nh <= 1) {
|
if (nh <= 1) {
|
||||||
work[1].r = 1.f, work[1].i = 0.f;
|
work[1].r = 1.f, work[1].i = 0.f;
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Determine the block size */
|
/* Determine the block size */
|
||||||
|
@ -913,7 +913,7 @@ f"> */
|
||||||
cgehd2_(n, &i__, ihi, &a[a_offset], lda, &tau[1], &work[1], &iinfo);
|
cgehd2_(n, &i__, ihi, &a[a_offset], lda, &tau[1], &work[1], &iinfo);
|
||||||
work[1].r = (real) lwkopt, work[1].i = 0.f;
|
work[1].r = (real) lwkopt, work[1].i = 0.f;
|
||||||
|
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGEHRD */
|
/* End of CGEHRD */
|
||||||
|
|
||||||
|
|
|
@ -1086,7 +1086,7 @@ f"> */
|
||||||
/* > drmac@math.hr. Thank you. */
|
/* > drmac@math.hr. Thank you. */
|
||||||
/* > */
|
/* > */
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgejsv_(char *joba, char *jobu, char *jobv, char *jobr,
|
/* Subroutine */ void cgejsv_(char *joba, char *jobu, char *jobv, char *jobr,
|
||||||
char *jobt, char *jobp, integer *m, integer *n, complex *a, integer *
|
char *jobt, char *jobp, integer *m, integer *n, complex *a, integer *
|
||||||
lda, real *sva, complex *u, integer *ldu, complex *v, integer *ldv,
|
lda, real *sva, complex *u, integer *ldu, complex *v, integer *ldv,
|
||||||
complex *cwork, integer *lwork, real *rwork, integer *lrwork, integer
|
complex *cwork, integer *lwork, real *rwork, integer *lrwork, integer
|
||||||
|
@ -1109,24 +1109,24 @@ f"> */
|
||||||
p, q;
|
p, q;
|
||||||
logical jracc;
|
logical jracc;
|
||||||
extern logical lsame_(char *, char *);
|
extern logical lsame_(char *, char *);
|
||||||
extern /* Subroutine */ int sscal_(integer *, real *, real *, integer *);
|
extern /* Subroutine */ void sscal_(integer *, real *, real *, integer *);
|
||||||
complex ctemp;
|
complex ctemp;
|
||||||
real entra, small;
|
real entra, small;
|
||||||
integer iwoff;
|
integer iwoff;
|
||||||
real sfmin;
|
real sfmin;
|
||||||
logical lsvec;
|
logical lsvec;
|
||||||
extern /* Subroutine */ int ccopy_(integer *, complex *, integer *,
|
extern /* Subroutine */ void ccopy_(integer *, complex *, integer *,
|
||||||
complex *, integer *), cswap_(integer *, complex *, integer *,
|
complex *, integer *), cswap_(integer *, complex *, integer *,
|
||||||
complex *, integer *);
|
complex *, integer *);
|
||||||
real epsln;
|
real epsln;
|
||||||
logical rsvec;
|
logical rsvec;
|
||||||
integer lwcon, lwlqf;
|
integer lwcon, lwlqf;
|
||||||
extern /* Subroutine */ int ctrsm_(char *, char *, char *, char *,
|
extern /* Subroutine */ void ctrsm_(char *, char *, char *, char *,
|
||||||
integer *, integer *, complex *, complex *, integer *, complex *,
|
integer *, integer *, complex *, complex *, integer *, complex *,
|
||||||
integer *);
|
integer *);
|
||||||
integer lwqrf, n1;
|
integer lwqrf, n1;
|
||||||
logical l2aber;
|
logical l2aber;
|
||||||
extern /* Subroutine */ int cgeqp3_(integer *, integer *, complex *,
|
extern /* Subroutine */ void cgeqp3_(integer *, integer *, complex *,
|
||||||
integer *, integer *, complex *, complex *, integer *, real *,
|
integer *, integer *, complex *, complex *, integer *, real *,
|
||||||
integer *);
|
integer *);
|
||||||
real condr1, condr2, uscal1, uscal2;
|
real condr1, condr2, uscal1, uscal2;
|
||||||
|
@ -1134,53 +1134,54 @@ f"> */
|
||||||
extern real scnrm2_(integer *, complex *, integer *);
|
extern real scnrm2_(integer *, complex *, integer *);
|
||||||
logical l2pert;
|
logical l2pert;
|
||||||
integer lrwqp3;
|
integer lrwqp3;
|
||||||
extern /* Subroutine */ int clacgv_(integer *, complex *, integer *);
|
extern /* Subroutine */ void clacgv_(integer *, complex *, integer *);
|
||||||
integer nr;
|
integer nr;
|
||||||
extern /* Subroutine */ int cgelqf_(integer *, integer *, complex *,
|
extern /* Subroutine */ void cgelqf_(integer *, integer *, complex *,
|
||||||
integer *, complex *, complex *, integer *, integer *);
|
integer *, complex *, complex *, integer *, integer *);
|
||||||
extern integer icamax_(integer *, complex *, integer *);
|
extern integer icamax_(integer *, complex *, integer *);
|
||||||
extern /* Subroutine */ int clascl_(char *, integer *, integer *, real *,
|
extern /* Subroutine */ void clascl_(char *, integer *, integer *, real *,
|
||||||
real *, integer *, integer *, complex *, integer *, integer *);
|
real *, integer *, integer *, complex *, integer *, integer *);
|
||||||
real scalem, sconda;
|
real scalem, sconda;
|
||||||
logical goscal;
|
logical goscal;
|
||||||
real aatmin;
|
real aatmin;
|
||||||
extern real slamch_(char *);
|
extern real slamch_(char *);
|
||||||
real aatmax;
|
real aatmax;
|
||||||
extern /* Subroutine */ int cgeqrf_(integer *, integer *, complex *,
|
extern /* Subroutine */ void cgeqrf_(integer *, integer *, complex *,
|
||||||
integer *, complex *, complex *, integer *, integer *), clacpy_(
|
integer *, complex *, complex *, integer *, integer *), clacpy_(
|
||||||
char *, integer *, integer *, complex *, integer *, complex *,
|
char *, integer *, integer *, complex *, integer *, complex *,
|
||||||
integer *), clapmr_(logical *, integer *, integer *,
|
integer *), clapmr_(logical *, integer *, integer *,
|
||||||
complex *, integer *, integer *);
|
complex *, integer *, integer *);
|
||||||
logical noscal;
|
logical noscal;
|
||||||
extern /* Subroutine */ int claset_(char *, integer *, integer *, complex
|
extern /* Subroutine */ void claset_(char *, integer *, integer *, complex
|
||||||
*, complex *, complex *, integer *);
|
*, complex *, complex *, integer *);
|
||||||
extern integer isamax_(integer *, real *, integer *);
|
extern integer isamax_(integer *, real *, integer *);
|
||||||
extern /* Subroutine */ int slascl_(char *, integer *, integer *, real *,
|
extern /* Subroutine */ void slascl_(char *, integer *, integer *, real *,
|
||||||
real *, integer *, integer *, real *, integer *, integer *), cpocon_(char *, integer *, complex *, integer *, real *,
|
real *, integer *, integer *, real *, integer *, integer *), cpocon_(char *, integer *, complex *, integer *, real *,
|
||||||
real *, complex *, real *, integer *), csscal_(integer *,
|
real *, complex *, real *, integer *), csscal_(integer *,
|
||||||
real *, complex *, integer *), classq_(integer *, complex *,
|
real *, complex *, integer *), classq_(integer *, complex *,
|
||||||
integer *, real *, real *), xerbla_(char *, integer *, ftnlen),
|
integer *, real *, real *);
|
||||||
cgesvj_(char *, char *, char *, integer *, integer *, complex *,
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
|
extern void cgesvj_(char *, char *, char *, integer *, integer *, complex *,
|
||||||
integer *, real *, integer *, complex *, integer *, complex *,
|
integer *, real *, integer *, complex *, integer *, complex *,
|
||||||
integer *, real *, integer *, integer *),
|
integer *, real *, integer *, integer *);
|
||||||
claswp_(integer *, complex *, integer *, integer *, integer *,
|
extern int claswp_(integer *, complex *, integer *, integer *, integer *,
|
||||||
integer *, integer *);
|
integer *, integer *);
|
||||||
real entrat;
|
real entrat;
|
||||||
logical almort;
|
logical almort;
|
||||||
complex cdummy[1];
|
complex cdummy[1];
|
||||||
extern /* Subroutine */ int cungqr_(integer *, integer *, integer *,
|
extern /* Subroutine */ void cungqr_(integer *, integer *, integer *,
|
||||||
complex *, integer *, complex *, complex *, integer *, integer *);
|
complex *, integer *, complex *, complex *, integer *, integer *);
|
||||||
real maxprj;
|
real maxprj;
|
||||||
extern /* Subroutine */ int cunmlq_(char *, char *, integer *, integer *,
|
extern /* Subroutine */ void cunmlq_(char *, char *, integer *, integer *,
|
||||||
integer *, complex *, integer *, complex *, complex *, integer *,
|
integer *, complex *, integer *, complex *, complex *, integer *,
|
||||||
complex *, integer *, integer *);
|
complex *, integer *, integer *);
|
||||||
logical errest;
|
logical errest;
|
||||||
integer lrwcon;
|
integer lrwcon;
|
||||||
extern /* Subroutine */ int slassq_(integer *, real *, integer *, real *,
|
extern /* Subroutine */ void slassq_(integer *, real *, integer *, real *,
|
||||||
real *);
|
real *);
|
||||||
logical transp;
|
logical transp;
|
||||||
integer minwrk, lwsvdj;
|
integer minwrk, lwsvdj;
|
||||||
extern /* Subroutine */ int cunmqr_(char *, char *, integer *, integer *,
|
extern /* Subroutine */ void cunmqr_(char *, char *, integer *, integer *,
|
||||||
integer *, complex *, integer *, complex *, complex *, integer *,
|
integer *, complex *, integer *, complex *, complex *, integer *,
|
||||||
complex *, integer *, integer *);
|
complex *, integer *, integer *);
|
||||||
real rdummy[1];
|
real rdummy[1];
|
||||||
|
@ -1784,13 +1785,13 @@ f"> */
|
||||||
/* #:( */
|
/* #:( */
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGEJSV", &i__1, (ftnlen)6);
|
xerbla_("CGEJSV", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
} else if (lquery) {
|
} else if (lquery) {
|
||||||
cwork[1].r = (real) optwrk, cwork[1].i = 0.f;
|
cwork[1].r = (real) optwrk, cwork[1].i = 0.f;
|
||||||
cwork[2].r = (real) minwrk, cwork[2].i = 0.f;
|
cwork[2].r = (real) minwrk, cwork[2].i = 0.f;
|
||||||
rwork[1] = (real) minrwrk;
|
rwork[1] = (real) minrwrk;
|
||||||
iwork[1] = f2cmax(4,miniwrk);
|
iwork[1] = f2cmax(4,miniwrk);
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Quick return for void matrix (Y3K safe) */
|
/* Quick return for void matrix (Y3K safe) */
|
||||||
|
@ -1807,7 +1808,7 @@ f"> */
|
||||||
rwork[5] = 0.f;
|
rwork[5] = 0.f;
|
||||||
rwork[6] = 0.f;
|
rwork[6] = 0.f;
|
||||||
rwork[7] = 0.f;
|
rwork[7] = 0.f;
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Determine whether the matrix U should be M x N or M x M */
|
/* Determine whether the matrix U should be M x N or M x M */
|
||||||
|
@ -1847,7 +1848,7 @@ f"> */
|
||||||
*info = -9;
|
*info = -9;
|
||||||
i__2 = -(*info);
|
i__2 = -(*info);
|
||||||
xerbla_("CGEJSV", &i__2, (ftnlen)6);
|
xerbla_("CGEJSV", &i__2, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
aaqq = sqrt(aaqq);
|
aaqq = sqrt(aaqq);
|
||||||
if (aapp < big / aaqq && noscal) {
|
if (aapp < big / aaqq && noscal) {
|
||||||
|
@ -1909,7 +1910,7 @@ f"> */
|
||||||
iwork[2] = 0;
|
iwork[2] = 0;
|
||||||
iwork[3] = 0;
|
iwork[3] = 0;
|
||||||
iwork[4] = -1;
|
iwork[4] = -1;
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Issue warning if denormalized column norms detected. Override the */
|
/* Issue warning if denormalized column norms detected. Override the */
|
||||||
|
@ -1976,7 +1977,7 @@ f"> */
|
||||||
rwork[6] = 0.f;
|
rwork[6] = 0.f;
|
||||||
rwork[7] = 0.f;
|
rwork[7] = 0.f;
|
||||||
}
|
}
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3547,6 +3548,6 @@ L3302:
|
||||||
iwork[4] = -1;
|
iwork[4] = -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return;
|
||||||
} /* cgejsv_ */
|
} /* cgejsv_ */
|
||||||
|
|
||||||
|
|
|
@ -681,7 +681,7 @@ static integer c__2 = 2;
|
||||||
/* > \endverbatim */
|
/* > \endverbatim */
|
||||||
/* > */
|
/* > */
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgelq_(integer *m, integer *n, complex *a, integer *lda,
|
/* Subroutine */ void cgelq_(integer *m, integer *n, complex *a, integer *lda,
|
||||||
complex *t, integer *tsize, complex *work, integer *lwork, integer *
|
complex *t, integer *tsize, complex *work, integer *lwork, integer *
|
||||||
info)
|
info)
|
||||||
{
|
{
|
||||||
|
@ -694,11 +694,11 @@ static integer c__2 = 2;
|
||||||
extern /* Subroutine */ int xerbla_(char *, integer *, ftnlen);
|
extern /* Subroutine */ int xerbla_(char *, integer *, ftnlen);
|
||||||
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
|
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
|
||||||
integer *, integer *, ftnlen, ftnlen);
|
integer *, integer *, ftnlen, ftnlen);
|
||||||
extern /* Subroutine */ int cgelqt_(integer *, integer *, integer *,
|
extern /* Subroutine */ void cgelqt_(integer *, integer *, integer *,
|
||||||
complex *, integer *, complex *, integer *, complex *, integer *);
|
complex *, integer *, complex *, integer *, complex *, integer *);
|
||||||
logical lminws, lquery;
|
logical lminws, lquery;
|
||||||
integer mintsz;
|
integer mintsz;
|
||||||
extern /* Subroutine */ int claswlq_(integer *, integer *, integer *,
|
extern /* Subroutine */ void claswlq_(integer *, integer *, integer *,
|
||||||
integer *, complex *, integer *, complex *, integer *, complex *,
|
integer *, complex *, integer *, complex *, integer *, complex *,
|
||||||
integer *, integer *);
|
integer *, integer *);
|
||||||
|
|
||||||
|
@ -839,15 +839,15 @@ static integer c__2 = 2;
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGELQ", &i__1, (ftnlen)5);
|
xerbla_("CGELQ", &i__1, (ftnlen)5);
|
||||||
return 0;
|
return;
|
||||||
} else if (lquery) {
|
} else if (lquery) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Quick return if possible */
|
/* Quick return if possible */
|
||||||
|
|
||||||
if (f2cmin(*m,*n) == 0) {
|
if (f2cmin(*m,*n) == 0) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* The LQ Decomposition */
|
/* The LQ Decomposition */
|
||||||
|
@ -861,7 +861,7 @@ static integer c__2 = 2;
|
||||||
|
|
||||||
work[1].r = (real) lwreq, work[1].i = 0.f;
|
work[1].r = (real) lwreq, work[1].i = 0.f;
|
||||||
|
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGELQ */
|
/* End of CGELQ */
|
||||||
|
|
||||||
|
|
|
@ -639,7 +639,7 @@ f"> */
|
||||||
/* > \endverbatim */
|
/* > \endverbatim */
|
||||||
/* > */
|
/* > */
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgelq2_(integer *m, integer *n, complex *a, integer *lda,
|
/* Subroutine */ void cgelq2_(integer *m, integer *n, complex *a, integer *lda,
|
||||||
complex *tau, complex *work, integer *info)
|
complex *tau, complex *work, integer *info)
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
|
@ -648,11 +648,11 @@ f"> */
|
||||||
/* Local variables */
|
/* Local variables */
|
||||||
integer i__, k;
|
integer i__, k;
|
||||||
complex alpha;
|
complex alpha;
|
||||||
extern /* Subroutine */ int clarf_(char *, integer *, integer *, complex *
|
extern /* Subroutine */ void clarf_(char *, integer *, integer *, complex *
|
||||||
, integer *, complex *, complex *, integer *, complex *),
|
, integer *, complex *, complex *, integer *, complex *),
|
||||||
clarfg_(integer *, complex *, complex *, integer *, complex *),
|
clarfg_(integer *, complex *, complex *, integer *, complex *),
|
||||||
clacgv_(integer *, complex *, integer *), xerbla_(char *, integer
|
clacgv_(integer *, complex *, integer *);
|
||||||
*, ftnlen);
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
|
|
||||||
|
|
||||||
/* -- LAPACK computational routine (version 3.9.0) -- */
|
/* -- LAPACK computational routine (version 3.9.0) -- */
|
||||||
|
@ -685,7 +685,7 @@ f"> */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGELQ2", &i__1, (ftnlen)6);
|
xerbla_("CGELQ2", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
k = f2cmin(*m,*n);
|
k = f2cmin(*m,*n);
|
||||||
|
@ -721,7 +721,7 @@ f"> */
|
||||||
clacgv_(&i__2, &a[i__ + i__ * a_dim1], lda);
|
clacgv_(&i__2, &a[i__ + i__ * a_dim1], lda);
|
||||||
/* L10: */
|
/* L10: */
|
||||||
}
|
}
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGELQ2 */
|
/* End of CGELQ2 */
|
||||||
|
|
||||||
|
|
|
@ -659,7 +659,7 @@ f"> */
|
||||||
/* > \endverbatim */
|
/* > \endverbatim */
|
||||||
/* > */
|
/* > */
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgelqf_(integer *m, integer *n, complex *a, integer *lda,
|
/* Subroutine */ void cgelqf_(integer *m, integer *n, complex *a, integer *lda,
|
||||||
complex *tau, complex *work, integer *lwork, integer *info)
|
complex *tau, complex *work, integer *lwork, integer *info)
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
|
@ -667,15 +667,16 @@ f"> */
|
||||||
|
|
||||||
/* Local variables */
|
/* Local variables */
|
||||||
integer i__, k, nbmin, iinfo;
|
integer i__, k, nbmin, iinfo;
|
||||||
extern /* Subroutine */ int cgelq2_(integer *, integer *, complex *,
|
extern /* Subroutine */ void cgelq2_(integer *, integer *, complex *,
|
||||||
integer *, complex *, complex *, integer *);
|
integer *, complex *, complex *, integer *);
|
||||||
integer ib, nb;
|
integer ib, nb;
|
||||||
extern /* Subroutine */ int clarfb_(char *, char *, char *, char *,
|
extern /* Subroutine */ void clarfb_(char *, char *, char *, char *,
|
||||||
integer *, integer *, integer *, complex *, integer *, complex *,
|
integer *, integer *, integer *, complex *, integer *, complex *,
|
||||||
integer *, complex *, integer *, complex *, integer *);
|
integer *, complex *, integer *, complex *, integer *);
|
||||||
integer nx;
|
integer nx;
|
||||||
extern /* Subroutine */ int clarft_(char *, char *, integer *, integer *,
|
extern /* Subroutine */ void clarft_(char *, char *, integer *, integer *,
|
||||||
complex *, integer *, complex *, complex *, integer *), xerbla_(char *, integer *, ftnlen);
|
complex *, integer *, complex *, complex *, integer *);
|
||||||
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
|
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
|
||||||
integer *, integer *, ftnlen, ftnlen);
|
integer *, integer *, ftnlen, ftnlen);
|
||||||
integer ldwork, lwkopt;
|
integer ldwork, lwkopt;
|
||||||
|
@ -720,9 +721,9 @@ f"> */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGELQF", &i__1, (ftnlen)6);
|
xerbla_("CGELQF", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
} else if (lquery) {
|
} else if (lquery) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Quick return if possible */
|
/* Quick return if possible */
|
||||||
|
@ -730,7 +731,7 @@ f"> */
|
||||||
k = f2cmin(*m,*n);
|
k = f2cmin(*m,*n);
|
||||||
if (k == 0) {
|
if (k == 0) {
|
||||||
work[1].r = 1.f, work[1].i = 0.f;
|
work[1].r = 1.f, work[1].i = 0.f;
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
nbmin = 2;
|
nbmin = 2;
|
||||||
|
@ -815,7 +816,7 @@ f"> */
|
||||||
}
|
}
|
||||||
|
|
||||||
work[1].r = (real) iws, work[1].i = 0.f;
|
work[1].r = (real) iws, work[1].i = 0.f;
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGELQF */
|
/* End of CGELQF */
|
||||||
|
|
||||||
|
|
|
@ -630,7 +630,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ
|
||||||
/* > \endverbatim */
|
/* > \endverbatim */
|
||||||
/* > */
|
/* > */
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgelqt_(integer *m, integer *n, integer *mb, complex *a,
|
/* Subroutine */ void cgelqt_(integer *m, integer *n, integer *mb, complex *a,
|
||||||
integer *lda, complex *t, integer *ldt, complex *work, integer *info)
|
integer *lda, complex *t, integer *ldt, complex *work, integer *info)
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
|
@ -638,10 +638,11 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ
|
||||||
|
|
||||||
/* Local variables */
|
/* Local variables */
|
||||||
integer i__, k, iinfo, ib;
|
integer i__, k, iinfo, ib;
|
||||||
extern /* Subroutine */ int clarfb_(char *, char *, char *, char *,
|
extern /* Subroutine */ void clarfb_(char *, char *, char *, char *,
|
||||||
integer *, integer *, integer *, complex *, integer *, complex *,
|
integer *, integer *, integer *, complex *, integer *, complex *,
|
||||||
integer *, complex *, integer *, complex *, integer *), xerbla_(char *, integer *, ftnlen),
|
integer *, complex *, integer *, complex *, integer *);
|
||||||
cgelqt3_(integer *, integer *, complex *, integer *, complex *,
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
|
extern void cgelqt3_(integer *, integer *, complex *, integer *, complex *,
|
||||||
integer *, integer *);
|
integer *, integer *);
|
||||||
|
|
||||||
|
|
||||||
|
@ -681,14 +682,14 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGELQT", &i__1, (ftnlen)6);
|
xerbla_("CGELQT", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Quick return if possible */
|
/* Quick return if possible */
|
||||||
|
|
||||||
k = f2cmin(*m,*n);
|
k = f2cmin(*m,*n);
|
||||||
if (k == 0) {
|
if (k == 0) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Blocked loop of length K */
|
/* Blocked loop of length K */
|
||||||
|
@ -717,7 +718,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ
|
||||||
i__ * a_dim1], lda, &work[1], &i__5);
|
i__ * a_dim1], lda, &work[1], &i__5);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGELQT */
|
/* End of CGELQT */
|
||||||
|
|
||||||
|
|
|
@ -627,7 +627,7 @@ static complex c_b1 = {1.f,0.f};
|
||||||
/* > \endverbatim */
|
/* > \endverbatim */
|
||||||
/* > */
|
/* > */
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgelqt3_(integer *m, integer *n, complex *a, integer *
|
/* Subroutine */ void cgelqt3_(integer *m, integer *n, complex *a, integer *
|
||||||
lda, complex *t, integer *ldt, integer *info)
|
lda, complex *t, integer *ldt, integer *info)
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
|
@ -636,16 +636,17 @@ static complex c_b1 = {1.f,0.f};
|
||||||
|
|
||||||
/* Local variables */
|
/* Local variables */
|
||||||
integer i__, j;
|
integer i__, j;
|
||||||
extern /* Subroutine */ int cgemm_(char *, char *, integer *, integer *,
|
extern /* Subroutine */ void cgemm_(char *, char *, integer *, integer *,
|
||||||
integer *, complex *, complex *, integer *, complex *, integer *,
|
integer *, complex *, complex *, integer *, complex *, integer *,
|
||||||
complex *, complex *, integer *);
|
complex *, complex *, integer *);
|
||||||
integer iinfo;
|
integer iinfo;
|
||||||
extern /* Subroutine */ int ctrmm_(char *, char *, char *, char *,
|
extern /* Subroutine */ void ctrmm_(char *, char *, char *, char *,
|
||||||
integer *, integer *, complex *, complex *, integer *, complex *,
|
integer *, integer *, complex *, complex *, integer *, complex *,
|
||||||
integer *);
|
integer *);
|
||||||
integer i1, j1, m1, m2;
|
integer i1, j1, m1, m2;
|
||||||
extern /* Subroutine */ int clarfg_(integer *, complex *, complex *,
|
extern /* Subroutine */ void clarfg_(integer *, complex *, complex *,
|
||||||
integer *, complex *), xerbla_(char *, integer *, ftnlen);
|
integer *, complex *);
|
||||||
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
|
|
||||||
|
|
||||||
/* -- LAPACK computational routine (version 3.8.0) -- */
|
/* -- LAPACK computational routine (version 3.8.0) -- */
|
||||||
|
@ -679,7 +680,7 @@ static complex c_b1 = {1.f,0.f};
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGELQT3", &i__1, (ftnlen)7);
|
xerbla_("CGELQT3", &i__1, (ftnlen)7);
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (*m == 1) {
|
if (*m == 1) {
|
||||||
|
@ -793,7 +794,7 @@ static complex c_b1 = {1.f,0.f};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGELQT3 */
|
/* End of CGELQT3 */
|
||||||
|
|
||||||
|
|
|
@ -697,7 +697,7 @@ static integer c__0 = 0;
|
||||||
/* > \ingroup complexGEsolve */
|
/* > \ingroup complexGEsolve */
|
||||||
|
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgels_(char *trans, integer *m, integer *n, integer *
|
/* Subroutine */ void cgels_(char *trans, integer *m, integer *n, integer *
|
||||||
nrhs, complex *a, integer *lda, complex *b, integer *ldb, complex *
|
nrhs, complex *a, integer *lda, complex *b, integer *ldb, complex *
|
||||||
work, integer *lwork, integer *info)
|
work, integer *lwork, integer *info)
|
||||||
{
|
{
|
||||||
|
@ -714,24 +714,25 @@ static integer c__0 = 0;
|
||||||
integer wsize;
|
integer wsize;
|
||||||
real rwork[1];
|
real rwork[1];
|
||||||
integer nb;
|
integer nb;
|
||||||
extern /* Subroutine */ int slabad_(real *, real *);
|
extern /* Subroutine */ void slabad_(real *, real *);
|
||||||
extern real clange_(char *, integer *, integer *, complex *, integer *,
|
extern real clange_(char *, integer *, integer *, complex *, integer *,
|
||||||
real *);
|
real *);
|
||||||
integer mn;
|
integer mn;
|
||||||
extern /* Subroutine */ int cgelqf_(integer *, integer *, complex *,
|
extern /* Subroutine */ void cgelqf_(integer *, integer *, complex *,
|
||||||
integer *, complex *, complex *, integer *, integer *), clascl_(
|
integer *, complex *, complex *, integer *, integer *), clascl_(
|
||||||
char *, integer *, integer *, real *, real *, integer *, integer *
|
char *, integer *, integer *, real *, real *, integer *, integer *
|
||||||
, complex *, integer *, integer *);
|
, complex *, integer *, integer *);
|
||||||
extern real slamch_(char *);
|
extern real slamch_(char *);
|
||||||
extern /* Subroutine */ int cgeqrf_(integer *, integer *, complex *,
|
extern /* Subroutine */ void cgeqrf_(integer *, integer *, complex *,
|
||||||
integer *, complex *, complex *, integer *, integer *), claset_(
|
integer *, complex *, complex *, integer *, integer *), claset_(
|
||||||
char *, integer *, integer *, complex *, complex *, complex *,
|
char *, integer *, integer *, complex *, complex *, complex *,
|
||||||
integer *), xerbla_(char *, integer *, ftnlen);
|
integer *);
|
||||||
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
|
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
|
||||||
integer *, integer *, ftnlen, ftnlen);
|
integer *, integer *, ftnlen, ftnlen);
|
||||||
integer scllen;
|
integer scllen;
|
||||||
real bignum;
|
real bignum;
|
||||||
extern /* Subroutine */ int cunmlq_(char *, char *, integer *, integer *,
|
extern /* Subroutine */ void cunmlq_(char *, char *, integer *, integer *,
|
||||||
integer *, complex *, integer *, complex *, complex *, integer *,
|
integer *, complex *, integer *, complex *, complex *, integer *,
|
||||||
complex *, integer *, integer *), cunmqr_(char *,
|
complex *, integer *, integer *), cunmqr_(char *,
|
||||||
char *, integer *, integer *, integer *, complex *, integer *,
|
char *, integer *, integer *, integer *, complex *, integer *,
|
||||||
|
@ -840,9 +841,9 @@ static integer c__0 = 0;
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGELS ", &i__1, (ftnlen)6);
|
xerbla_("CGELS ", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
} else if (lquery) {
|
} else if (lquery) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Quick return if possible */
|
/* Quick return if possible */
|
||||||
|
@ -852,7 +853,7 @@ static integer c__0 = 0;
|
||||||
if (f2cmin(i__1,*nrhs) == 0) {
|
if (f2cmin(i__1,*nrhs) == 0) {
|
||||||
i__1 = f2cmax(*m,*n);
|
i__1 = f2cmax(*m,*n);
|
||||||
claset_("Full", &i__1, nrhs, &c_b1, &c_b1, &b[b_offset], ldb);
|
claset_("Full", &i__1, nrhs, &c_b1, &c_b1, &b[b_offset], ldb);
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Get machine parameters */
|
/* Get machine parameters */
|
||||||
|
@ -939,7 +940,7 @@ static integer c__0 = 0;
|
||||||
, lda, &b[b_offset], ldb, info);
|
, lda, &b[b_offset], ldb, info);
|
||||||
|
|
||||||
if (*info > 0) {
|
if (*info > 0) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
scllen = *n;
|
scllen = *n;
|
||||||
|
@ -954,7 +955,7 @@ static integer c__0 = 0;
|
||||||
a_offset], lda, &b[b_offset], ldb, info);
|
a_offset], lda, &b[b_offset], ldb, info);
|
||||||
|
|
||||||
if (*info > 0) {
|
if (*info > 0) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* B(N+1:M,1:NRHS) = ZERO */
|
/* B(N+1:M,1:NRHS) = ZERO */
|
||||||
|
@ -1002,7 +1003,7 @@ static integer c__0 = 0;
|
||||||
, lda, &b[b_offset], ldb, info);
|
, lda, &b[b_offset], ldb, info);
|
||||||
|
|
||||||
if (*info > 0) {
|
if (*info > 0) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* B(M+1:N,1:NRHS) = 0 */
|
/* B(M+1:N,1:NRHS) = 0 */
|
||||||
|
@ -1047,7 +1048,7 @@ static integer c__0 = 0;
|
||||||
a_offset], lda, &b[b_offset], ldb, info);
|
a_offset], lda, &b[b_offset], ldb, info);
|
||||||
|
|
||||||
if (*info > 0) {
|
if (*info > 0) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
scllen = *m;
|
scllen = *m;
|
||||||
|
@ -1077,7 +1078,7 @@ L50:
|
||||||
r__1 = (real) wsize;
|
r__1 = (real) wsize;
|
||||||
work[1].r = r__1, work[1].i = 0.f;
|
work[1].r = r__1, work[1].i = 0.f;
|
||||||
|
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGELS */
|
/* End of CGELS */
|
||||||
|
|
||||||
|
|
|
@ -744,7 +744,7 @@ f"> */
|
||||||
/* > Osni Marques, LBNL/NERSC, USA \n */
|
/* > Osni Marques, LBNL/NERSC, USA \n */
|
||||||
|
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgelsd_(integer *m, integer *n, integer *nrhs, complex *
|
/* Subroutine */ void cgelsd_(integer *m, integer *n, integer *nrhs, complex *
|
||||||
a, integer *lda, complex *b, integer *ldb, real *s, real *rcond,
|
a, integer *lda, complex *b, integer *ldb, real *s, real *rcond,
|
||||||
integer *rank, complex *work, integer *lwork, real *rwork, integer *
|
integer *rank, complex *work, integer *lwork, real *rwork, integer *
|
||||||
iwork, integer *info)
|
iwork, integer *info)
|
||||||
|
@ -757,13 +757,13 @@ f"> */
|
||||||
integer itau, nlvl, iascl, ibscl;
|
integer itau, nlvl, iascl, ibscl;
|
||||||
real sfmin;
|
real sfmin;
|
||||||
integer minmn, maxmn, itaup, itauq, mnthr, nwork, ie, il;
|
integer minmn, maxmn, itaup, itauq, mnthr, nwork, ie, il;
|
||||||
extern /* Subroutine */ int cgebrd_(integer *, integer *, complex *,
|
extern /* Subroutine */ void cgebrd_(integer *, integer *, complex *,
|
||||||
integer *, real *, real *, complex *, complex *, complex *,
|
integer *, real *, real *, complex *, complex *, complex *,
|
||||||
integer *, integer *), slabad_(real *, real *);
|
integer *, integer *), slabad_(real *, real *);
|
||||||
extern real clange_(char *, integer *, integer *, complex *, integer *,
|
extern real clange_(char *, integer *, integer *, complex *, integer *,
|
||||||
real *);
|
real *);
|
||||||
integer mm;
|
integer mm;
|
||||||
extern /* Subroutine */ int cgelqf_(integer *, integer *, complex *,
|
extern /* Subroutine */ void cgelqf_(integer *, integer *, complex *,
|
||||||
integer *, complex *, complex *, integer *, integer *), clalsd_(
|
integer *, complex *, complex *, integer *, integer *), clalsd_(
|
||||||
char *, integer *, integer *, integer *, real *, real *, complex *
|
char *, integer *, integer *, integer *, real *, real *, complex *
|
||||||
, integer *, real *, integer *, complex *, real *, integer *,
|
, integer *, real *, integer *, complex *, real *, integer *,
|
||||||
|
@ -771,13 +771,14 @@ f"> */
|
||||||
real *, integer *, integer *, complex *, integer *, integer *), cgeqrf_(integer *, integer *, complex *, integer *,
|
real *, integer *, integer *, complex *, integer *, integer *), cgeqrf_(integer *, integer *, complex *, integer *,
|
||||||
complex *, complex *, integer *, integer *);
|
complex *, complex *, integer *, integer *);
|
||||||
extern real slamch_(char *);
|
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 *, complex *, integer *), claset_(char *,
|
||||||
integer *, integer *, complex *, complex *, complex *, integer *), xerbla_(char *, integer *, ftnlen);
|
integer *, integer *, complex *, complex *, complex *, integer *);
|
||||||
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
|
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
|
||||||
integer *, integer *, ftnlen, ftnlen);
|
integer *, integer *, ftnlen, ftnlen);
|
||||||
real bignum;
|
real bignum;
|
||||||
extern /* Subroutine */ int slascl_(char *, integer *, integer *, real *,
|
extern /* Subroutine */ void slascl_(char *, integer *, integer *, real *,
|
||||||
real *, integer *, integer *, real *, integer *, integer *), cunmbr_(char *, char *, char *, integer *, integer *,
|
real *, integer *, integer *, real *, integer *, integer *), cunmbr_(char *, char *, char *, integer *, integer *,
|
||||||
integer *, complex *, integer *, complex *, complex *, integer *,
|
integer *, complex *, integer *, complex *, complex *, integer *,
|
||||||
complex *, integer *, integer *), slaset_(
|
complex *, integer *, integer *), slaset_(
|
||||||
|
@ -785,7 +786,7 @@ f"> */
|
||||||
complex *, integer *, complex *, complex *, integer *, complex *,
|
complex *, integer *, complex *, complex *, integer *, complex *,
|
||||||
integer *, integer *);
|
integer *, integer *);
|
||||||
integer ldwork;
|
integer ldwork;
|
||||||
extern /* Subroutine */ int cunmqr_(char *, char *, integer *, integer *,
|
extern /* Subroutine */ void cunmqr_(char *, char *, integer *, integer *,
|
||||||
integer *, complex *, integer *, complex *, complex *, integer *,
|
integer *, complex *, integer *, complex *, complex *, integer *,
|
||||||
complex *, integer *, integer *);
|
complex *, integer *, integer *);
|
||||||
integer liwork, minwrk, maxwrk;
|
integer liwork, minwrk, maxwrk;
|
||||||
|
@ -994,16 +995,16 @@ f"> */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGELSD", &i__1, (ftnlen)6);
|
xerbla_("CGELSD", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
} else if (lquery) {
|
} else if (lquery) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Quick return if possible. */
|
/* Quick return if possible. */
|
||||||
|
|
||||||
if (*m == 0 || *n == 0) {
|
if (*m == 0 || *n == 0) {
|
||||||
*rank = 0;
|
*rank = 0;
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Get machine parameters. */
|
/* Get machine parameters. */
|
||||||
|
@ -1299,7 +1300,7 @@ L10:
|
||||||
work[1].r = (real) maxwrk, work[1].i = 0.f;
|
work[1].r = (real) maxwrk, work[1].i = 0.f;
|
||||||
iwork[1] = liwork;
|
iwork[1] = liwork;
|
||||||
rwork[1] = (real) lrwork;
|
rwork[1] = (real) lrwork;
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGELSD */
|
/* End of CGELSD */
|
||||||
|
|
||||||
|
|
|
@ -696,7 +696,7 @@ f"> */
|
||||||
/* > \ingroup complexGEsolve */
|
/* > \ingroup complexGEsolve */
|
||||||
|
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgelss_(integer *m, integer *n, integer *nrhs, complex *
|
/* Subroutine */ void cgelss_(integer *m, integer *n, integer *nrhs, complex *
|
||||||
a, integer *lda, complex *b, integer *ldb, real *s, real *rcond,
|
a, integer *lda, complex *b, integer *ldb, real *s, real *rcond,
|
||||||
integer *rank, complex *work, integer *lwork, real *rwork, integer *
|
integer *rank, complex *work, integer *lwork, real *rwork, integer *
|
||||||
info)
|
info)
|
||||||
|
@ -710,41 +710,43 @@ f"> */
|
||||||
integer itau, lwork_cgebrd__, lwork_cgelqf__, lwork_cgeqrf__,
|
integer itau, lwork_cgebrd__, lwork_cgelqf__, lwork_cgeqrf__,
|
||||||
lwork_cungbr__, lwork_cunmbr__, i__, lwork_cunmlq__,
|
lwork_cungbr__, lwork_cunmbr__, i__, lwork_cunmlq__,
|
||||||
lwork_cunmqr__;
|
lwork_cunmqr__;
|
||||||
extern /* Subroutine */ int cgemm_(char *, char *, integer *, integer *,
|
extern /* Subroutine */ void cgemm_(char *, char *, integer *, integer *,
|
||||||
integer *, complex *, complex *, integer *, complex *, integer *,
|
integer *, complex *, complex *, integer *, complex *, integer *,
|
||||||
complex *, complex *, integer *);
|
complex *, complex *, integer *);
|
||||||
integer iascl, ibscl;
|
integer iascl, ibscl;
|
||||||
extern /* Subroutine */ int cgemv_(char *, integer *, integer *, complex *
|
extern /* Subroutine */ void cgemv_(char *, integer *, integer *, complex *
|
||||||
, complex *, integer *, complex *, integer *, complex *, complex *
|
, complex *, integer *, complex *, integer *, complex *, complex *
|
||||||
, integer *);
|
, integer *);
|
||||||
integer chunk;
|
integer chunk;
|
||||||
real sfmin;
|
real sfmin;
|
||||||
extern /* Subroutine */ int ccopy_(integer *, complex *, integer *,
|
extern /* Subroutine */ void ccopy_(integer *, complex *, integer *,
|
||||||
complex *, integer *);
|
complex *, integer *);
|
||||||
integer minmn, maxmn, itaup, itauq, mnthr, iwork, bl, ie, il;
|
integer minmn, maxmn, itaup, itauq, mnthr, iwork, bl, ie, il;
|
||||||
extern /* Subroutine */ int cgebrd_(integer *, integer *, complex *,
|
extern /* Subroutine */ void cgebrd_(integer *, integer *, complex *,
|
||||||
integer *, real *, real *, complex *, complex *, complex *,
|
integer *, real *, real *, complex *, complex *, complex *,
|
||||||
integer *, integer *), slabad_(real *, real *);
|
integer *, integer *), slabad_(real *, real *);
|
||||||
extern real clange_(char *, integer *, integer *, complex *, integer *,
|
extern real clange_(char *, integer *, integer *, complex *, integer *,
|
||||||
real *);
|
real *);
|
||||||
integer mm;
|
integer mm;
|
||||||
extern /* Subroutine */ int cgelqf_(integer *, integer *, complex *,
|
extern /* Subroutine */ void cgelqf_(integer *, integer *, complex *,
|
||||||
integer *, complex *, complex *, integer *, integer *), clascl_(
|
integer *, complex *, complex *, integer *, integer *), clascl_(
|
||||||
char *, integer *, integer *, real *, real *, integer *, integer *
|
char *, integer *, integer *, real *, real *, integer *, integer *
|
||||||
, complex *, integer *, integer *), cgeqrf_(integer *,
|
, complex *, integer *, integer *), cgeqrf_(integer *,
|
||||||
integer *, complex *, integer *, complex *, complex *, integer *,
|
integer *, complex *, integer *, complex *, complex *, integer *,
|
||||||
integer *);
|
integer *);
|
||||||
extern real slamch_(char *);
|
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 *, complex *, integer *), claset_(char *,
|
||||||
integer *, integer *, complex *, complex *, complex *, integer *), xerbla_(char *, integer *, ftnlen), cbdsqr_(char *,
|
integer *, integer *, complex *, complex *, complex *, integer *);
|
||||||
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
|
extern void cbdsqr_(char *,
|
||||||
integer *, integer *, integer *, integer *, real *, real *,
|
integer *, integer *, integer *, integer *, real *, real *,
|
||||||
complex *, integer *, complex *, integer *, complex *, integer *,
|
complex *, integer *, complex *, integer *, complex *, integer *,
|
||||||
real *, integer *);
|
real *, integer *);
|
||||||
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
|
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
|
||||||
integer *, integer *, ftnlen, ftnlen);
|
integer *, integer *, ftnlen, ftnlen);
|
||||||
real bignum;
|
real bignum;
|
||||||
extern /* Subroutine */ int cungbr_(char *, integer *, integer *, integer
|
extern /* Subroutine */ void cungbr_(char *, integer *, integer *, integer
|
||||||
*, complex *, integer *, complex *, complex *, integer *, integer
|
*, complex *, integer *, complex *, complex *, integer *, integer
|
||||||
*), slascl_(char *, integer *, integer *, real *, real *,
|
*), slascl_(char *, integer *, integer *, real *, real *,
|
||||||
integer *, integer *, real *, integer *, integer *),
|
integer *, integer *, real *, integer *, integer *),
|
||||||
|
@ -756,7 +758,7 @@ f"> */
|
||||||
char *, integer *, integer *, integer *, complex *, integer *,
|
char *, integer *, integer *, integer *, complex *, integer *,
|
||||||
complex *, complex *, integer *, complex *, integer *, integer *);
|
complex *, complex *, integer *, complex *, integer *, integer *);
|
||||||
integer ldwork;
|
integer ldwork;
|
||||||
extern /* Subroutine */ int cunmqr_(char *, char *, integer *, integer *,
|
extern /* Subroutine */ void cunmqr_(char *, char *, integer *, integer *,
|
||||||
integer *, complex *, integer *, complex *, complex *, integer *,
|
integer *, complex *, integer *, complex *, complex *, integer *,
|
||||||
complex *, integer *, integer *);
|
complex *, integer *, integer *);
|
||||||
integer minwrk, maxwrk;
|
integer minwrk, maxwrk;
|
||||||
|
@ -963,16 +965,16 @@ f"> */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGELSS", &i__1, (ftnlen)6);
|
xerbla_("CGELSS", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
} else if (lquery) {
|
} else if (lquery) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Quick return if possible */
|
/* Quick return if possible */
|
||||||
|
|
||||||
if (*m == 0 || *n == 0) {
|
if (*m == 0 || *n == 0) {
|
||||||
*rank = 0;
|
*rank = 0;
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Get machine parameters */
|
/* Get machine parameters */
|
||||||
|
@ -1431,7 +1433,7 @@ f"> */
|
||||||
}
|
}
|
||||||
L70:
|
L70:
|
||||||
work[1].r = (real) maxwrk, work[1].i = 0.f;
|
work[1].r = (real) maxwrk, work[1].i = 0.f;
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGELSS */
|
/* End of CGELSS */
|
||||||
|
|
||||||
|
|
|
@ -710,7 +710,7 @@ f"> */
|
||||||
/* > \endverbatim */
|
/* > \endverbatim */
|
||||||
|
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgelst_(char *trans, integer *m, integer *n, integer *
|
/* Subroutine */ void cgelst_(char *trans, integer *m, integer *n, integer *
|
||||||
nrhs, complex *a, integer *lda, complex *b, integer *ldb, complex *
|
nrhs, complex *a, integer *lda, complex *b, integer *ldb, complex *
|
||||||
work, integer *lwork, integer *info)
|
work, integer *lwork, integer *info)
|
||||||
{
|
{
|
||||||
|
@ -727,29 +727,30 @@ f"> */
|
||||||
integer nbmin;
|
integer nbmin;
|
||||||
real rwork[1];
|
real rwork[1];
|
||||||
integer lwopt, nb;
|
integer lwopt, nb;
|
||||||
extern /* Subroutine */ int slabad_(real *, real *);
|
extern /* Subroutine */ void slabad_(real *, real *);
|
||||||
extern real clange_(char *, integer *, integer *, complex *, integer *,
|
extern real clange_(char *, integer *, integer *, complex *, integer *,
|
||||||
real *);
|
real *);
|
||||||
integer mn;
|
integer mn;
|
||||||
extern /* Subroutine */ int clascl_(char *, integer *, integer *, real *,
|
extern /* Subroutine */ void clascl_(char *, integer *, integer *, real *,
|
||||||
real *, integer *, integer *, complex *, integer *, integer *);
|
real *, integer *, integer *, complex *, integer *, integer *);
|
||||||
extern real slamch_(char *);
|
extern real slamch_(char *);
|
||||||
extern /* Subroutine */ int claset_(char *, integer *, integer *, complex
|
extern /* Subroutine */ void claset_(char *, integer *, integer *, complex
|
||||||
*, complex *, complex *, integer *), xerbla_(char *,
|
*, complex *, complex *, integer *);
|
||||||
integer *);
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
|
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
|
||||||
integer *, integer *, ftnlen, ftnlen);
|
integer *, integer *, ftnlen, ftnlen);
|
||||||
extern /* Subroutine */ int cgelqt_(integer *, integer *, integer *,
|
extern /* Subroutine */ void cgelqt_(integer *, integer *, integer *,
|
||||||
complex *, integer *, complex *, integer *, complex *, integer *);
|
complex *, integer *, complex *, integer *, complex *, integer *);
|
||||||
integer scllen;
|
integer scllen;
|
||||||
real bignum;
|
real bignum;
|
||||||
extern /* Subroutine */ int cgeqrt_(integer *, integer *, integer *,
|
extern /* Subroutine */ void cgeqrt_(integer *, integer *, integer *,
|
||||||
complex *, integer *, complex *, integer *, complex *, integer *);
|
complex *, integer *, complex *, integer *, complex *, integer *);
|
||||||
integer mnnrhs;
|
integer mnnrhs;
|
||||||
real smlnum;
|
real smlnum;
|
||||||
logical lquery;
|
logical lquery;
|
||||||
extern /* Subroutine */ int ctrtrs_(char *, char *, char *, integer *,
|
extern /* Subroutine */ int ctrtrs_(char *, char *, char *, integer *,
|
||||||
integer *, complex *, integer *, complex *, integer *, integer *), cgemlqt_(char *, char *, integer *,
|
integer *, complex *, integer *, complex *, integer *, integer *);
|
||||||
|
extern void cgemlqt_(char *, char *, integer *,
|
||||||
integer *, integer *, integer *, complex *, integer *, complex *,
|
integer *, integer *, integer *, complex *, integer *, complex *,
|
||||||
integer *, complex *, integer *, complex *, integer *), cgemqrt_(char *, char *, integer *, integer *, integer *,
|
integer *, complex *, integer *, complex *, integer *), cgemqrt_(char *, char *, integer *, integer *, integer *,
|
||||||
integer *, complex *, integer *, complex *, integer *, complex *,
|
integer *, complex *, integer *, complex *, integer *, complex *,
|
||||||
|
@ -826,10 +827,10 @@ f"> */
|
||||||
|
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGELST ", &i__1);
|
xerbla_("CGELST ", &i__1, 6);
|
||||||
return 0;
|
return;
|
||||||
} else if (lquery) {
|
} else if (lquery) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Quick return if possible */
|
/* Quick return if possible */
|
||||||
|
@ -841,7 +842,7 @@ f"> */
|
||||||
claset_("Full", &i__1, nrhs, &c_b1, &c_b1, &b[b_offset], ldb);
|
claset_("Full", &i__1, nrhs, &c_b1, &c_b1, &b[b_offset], ldb);
|
||||||
r__1 = (real) lwopt;
|
r__1 = (real) lwopt;
|
||||||
work[1].r = r__1, work[1].i = 0.f;
|
work[1].r = r__1, work[1].i = 0.f;
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* *GEQRT and *GELQT routines cannot accept NB larger than f2cmin(M,N) */
|
/* *GEQRT and *GELQT routines cannot accept NB larger than f2cmin(M,N) */
|
||||||
|
@ -901,7 +902,7 @@ f"> */
|
||||||
claset_("Full", &i__1, nrhs, &c_b1, &c_b1, &b[b_offset], ldb);
|
claset_("Full", &i__1, nrhs, &c_b1, &c_b1, &b[b_offset], ldb);
|
||||||
r__1 = (real) lwopt;
|
r__1 = (real) lwopt;
|
||||||
work[1].r = r__1, work[1].i = 0.f;
|
work[1].r = r__1, work[1].i = 0.f;
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
brow = *m;
|
brow = *m;
|
||||||
|
@ -956,7 +957,7 @@ f"> */
|
||||||
, lda, &b[b_offset], ldb, info);
|
, lda, &b[b_offset], ldb, info);
|
||||||
|
|
||||||
if (*info > 0) {
|
if (*info > 0) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
scllen = *n;
|
scllen = *n;
|
||||||
|
@ -975,7 +976,7 @@ f"> */
|
||||||
a_offset], lda, &b[b_offset], ldb, info);
|
a_offset], lda, &b[b_offset], ldb, info);
|
||||||
|
|
||||||
if (*info > 0) {
|
if (*info > 0) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Block 2: Zero out all rows below the N-th row in B: */
|
/* Block 2: Zero out all rows below the N-th row in B: */
|
||||||
|
@ -1026,7 +1027,7 @@ f"> */
|
||||||
, lda, &b[b_offset], ldb, info);
|
, lda, &b[b_offset], ldb, info);
|
||||||
|
|
||||||
if (*info > 0) {
|
if (*info > 0) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Block 2: Zero out all rows below the M-th row in B: */
|
/* Block 2: Zero out all rows below the M-th row in B: */
|
||||||
|
@ -1071,7 +1072,7 @@ f"> */
|
||||||
a_offset], lda, &b[b_offset], ldb, info);
|
a_offset], lda, &b[b_offset], ldb, info);
|
||||||
|
|
||||||
if (*info > 0) {
|
if (*info > 0) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
scllen = *m;
|
scllen = *m;
|
||||||
|
@ -1100,7 +1101,7 @@ f"> */
|
||||||
r__1 = (real) lwopt;
|
r__1 = (real) lwopt;
|
||||||
work[1].r = r__1, work[1].i = 0.f;
|
work[1].r = r__1, work[1].i = 0.f;
|
||||||
|
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGELST */
|
/* End of CGELST */
|
||||||
|
|
||||||
|
|
|
@ -727,7 +727,7 @@ f"> */
|
||||||
/* > G. Quintana-Orti, Depto. de Informatica, Universidad Jaime I, Spain \n */
|
/* > G. Quintana-Orti, Depto. de Informatica, Universidad Jaime I, Spain \n */
|
||||||
/* > */
|
/* > */
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgelsy_(integer *m, integer *n, integer *nrhs, complex *
|
/* Subroutine */ void cgelsy_(integer *m, integer *n, integer *nrhs, complex *
|
||||||
a, integer *lda, complex *b, integer *ldb, integer *jpvt, real *rcond,
|
a, integer *lda, complex *b, integer *ldb, integer *jpvt, real *rcond,
|
||||||
integer *rank, complex *work, integer *lwork, real *rwork, integer *
|
integer *rank, complex *work, integer *lwork, real *rwork, integer *
|
||||||
info)
|
info)
|
||||||
|
@ -740,45 +740,45 @@ f"> */
|
||||||
/* Local variables */
|
/* Local variables */
|
||||||
real anrm, bnrm, smin, smax;
|
real anrm, bnrm, smin, smax;
|
||||||
integer i__, j, iascl, ibscl;
|
integer i__, j, iascl, ibscl;
|
||||||
extern /* Subroutine */ int ccopy_(integer *, complex *, integer *,
|
extern /* Subroutine */ void ccopy_(integer *, complex *, integer *,
|
||||||
complex *, integer *);
|
complex *, integer *);
|
||||||
integer ismin, ismax;
|
integer ismin, ismax;
|
||||||
complex c1, c2;
|
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 *, integer *, complex *, complex *, integer *, complex *,
|
||||||
integer *), claic1_(integer *,
|
integer *), claic1_(integer *,
|
||||||
integer *, complex *, real *, complex *, complex *, real *,
|
integer *, complex *, real *, complex *, complex *, real *,
|
||||||
complex *, complex *);
|
complex *, complex *);
|
||||||
real wsize;
|
real wsize;
|
||||||
complex s1, s2;
|
complex s1, s2;
|
||||||
extern /* Subroutine */ int cgeqp3_(integer *, integer *, complex *,
|
extern /* Subroutine */ void cgeqp3_(integer *, integer *, complex *,
|
||||||
integer *, integer *, complex *, complex *, integer *, real *,
|
integer *, integer *, complex *, complex *, integer *, real *,
|
||||||
integer *);
|
integer *);
|
||||||
integer nb;
|
integer nb;
|
||||||
extern /* Subroutine */ int slabad_(real *, real *);
|
extern /* Subroutine */ void slabad_(real *, real *);
|
||||||
extern real clange_(char *, integer *, integer *, complex *, integer *,
|
extern real clange_(char *, integer *, integer *, complex *, integer *,
|
||||||
real *);
|
real *);
|
||||||
integer mn;
|
integer mn;
|
||||||
extern /* Subroutine */ int clascl_(char *, integer *, integer *, real *,
|
extern /* Subroutine */ void clascl_(char *, integer *, integer *, real *,
|
||||||
real *, integer *, integer *, complex *, integer *, integer *);
|
real *, integer *, integer *, complex *, integer *, integer *);
|
||||||
extern real slamch_(char *);
|
extern real slamch_(char *);
|
||||||
extern /* Subroutine */ int claset_(char *, integer *, integer *, complex
|
extern /* Subroutine */ void claset_(char *, integer *, integer *, complex
|
||||||
*, complex *, complex *, integer *), xerbla_(char *,
|
*, complex *, complex *, integer *);
|
||||||
integer *, ftnlen);
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
|
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
|
||||||
integer *, integer *, ftnlen, ftnlen);
|
integer *, integer *, ftnlen, ftnlen);
|
||||||
real bignum;
|
real bignum;
|
||||||
integer nb1, nb2, nb3, nb4;
|
integer nb1, nb2, nb3, nb4;
|
||||||
extern /* Subroutine */ int cunmqr_(char *, char *, integer *, integer *,
|
extern /* Subroutine */ void cunmqr_(char *, char *, integer *, integer *,
|
||||||
integer *, complex *, integer *, complex *, complex *, integer *,
|
integer *, complex *, integer *, complex *, complex *, integer *,
|
||||||
complex *, integer *, integer *);
|
complex *, integer *, integer *);
|
||||||
real sminpr, smaxpr, smlnum;
|
real sminpr, smaxpr, smlnum;
|
||||||
extern /* Subroutine */ int cunmrz_(char *, char *, integer *, integer *,
|
extern /* Subroutine */ void cunmrz_(char *, char *, integer *, integer *,
|
||||||
integer *, integer *, complex *, integer *, complex *, complex *,
|
integer *, integer *, complex *, integer *, complex *, complex *,
|
||||||
integer *, complex *, integer *, integer *);
|
integer *, complex *, integer *, integer *);
|
||||||
integer lwkopt;
|
integer lwkopt;
|
||||||
logical lquery;
|
logical lquery;
|
||||||
extern /* Subroutine */ int ctzrzf_(integer *, integer *, complex *,
|
extern /* Subroutine */ void ctzrzf_(integer *, integer *, complex *,
|
||||||
integer *, complex *, complex *, integer *, integer *);
|
integer *, complex *, complex *, integer *, integer *);
|
||||||
|
|
||||||
|
|
||||||
|
@ -854,9 +854,9 @@ f"> */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGELSY", &i__1, (ftnlen)6);
|
xerbla_("CGELSY", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
} else if (lquery) {
|
} else if (lquery) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Quick return if possible */
|
/* Quick return if possible */
|
||||||
|
@ -865,7 +865,7 @@ f"> */
|
||||||
i__1 = f2cmin(*m,*n);
|
i__1 = f2cmin(*m,*n);
|
||||||
if (f2cmin(i__1,*nrhs) == 0) {
|
if (f2cmin(i__1,*nrhs) == 0) {
|
||||||
*rank = 0;
|
*rank = 0;
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Get machine parameters */
|
/* Get machine parameters */
|
||||||
|
@ -1082,7 +1082,7 @@ L70:
|
||||||
q__1.r = (real) lwkopt, q__1.i = 0.f;
|
q__1.r = (real) lwkopt, q__1.i = 0.f;
|
||||||
work[1].r = q__1.r, work[1].i = q__1.i;
|
work[1].r = q__1.r, work[1].i = q__1.i;
|
||||||
|
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGELSY */
|
/* End of CGELSY */
|
||||||
|
|
||||||
|
|
|
@ -673,7 +673,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ
|
||||||
/* > \endverbatim */
|
/* > \endverbatim */
|
||||||
/* > */
|
/* > */
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgemlq_(char *side, char *trans, integer *m, integer *n,
|
/* Subroutine */ void cgemlq_(char *side, char *trans, integer *m, integer *n,
|
||||||
integer *k, complex *a, integer *lda, complex *t, integer *tsize,
|
integer *k, complex *a, integer *lda, complex *t, integer *tsize,
|
||||||
complex *c__, integer *ldc, complex *work, integer *lwork, integer *
|
complex *c__, integer *ldc, complex *work, integer *lwork, integer *
|
||||||
info)
|
info)
|
||||||
|
@ -684,7 +684,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ
|
||||||
|
|
||||||
/* Local variables */
|
/* Local variables */
|
||||||
logical left, tran;
|
logical left, tran;
|
||||||
extern /* Subroutine */ int clamswlq_(char *, char *, integer *, integer *
|
extern /* Subroutine */ void clamswlq_(char *, char *, integer *, integer *
|
||||||
, integer *, integer *, integer *, complex *, integer *, complex *
|
, integer *, integer *, integer *, complex *, integer *, complex *
|
||||||
, integer *, complex *, integer *, complex *, integer *, integer *
|
, integer *, complex *, integer *, complex *, integer *, integer *
|
||||||
);
|
);
|
||||||
|
@ -693,7 +693,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ
|
||||||
integer mb, nb, mn, lw, nblcks;
|
integer mb, nb, mn, lw, nblcks;
|
||||||
extern /* Subroutine */ int xerbla_(char *, integer *, ftnlen);
|
extern /* Subroutine */ int xerbla_(char *, integer *, ftnlen);
|
||||||
logical notran, lquery;
|
logical notran, lquery;
|
||||||
extern /* Subroutine */ int cgemlqt_(char *, char *, integer *, integer *,
|
extern /* Subroutine */ void cgemlqt_(char *, char *, integer *, integer *,
|
||||||
integer *, integer *, complex *, integer *, complex *, integer *,
|
integer *, integer *, complex *, integer *, complex *, integer *,
|
||||||
complex *, integer *, complex *, integer *);
|
complex *, integer *, complex *, integer *);
|
||||||
|
|
||||||
|
@ -775,9 +775,9 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGEMLQ", &i__1, (ftnlen)6);
|
xerbla_("CGEMLQ", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
} else if (lquery) {
|
} else if (lquery) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Quick return if possible */
|
/* Quick return if possible */
|
||||||
|
@ -785,7 +785,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ
|
||||||
/* Computing MIN */
|
/* Computing MIN */
|
||||||
i__1 = f2cmin(*m,*n);
|
i__1 = f2cmin(*m,*n);
|
||||||
if (f2cmin(i__1,*k) == 0) {
|
if (f2cmin(i__1,*k) == 0) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Computing MAX */
|
/* Computing MAX */
|
||||||
|
@ -802,7 +802,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ
|
||||||
r__1 = (real) lw;
|
r__1 = (real) lw;
|
||||||
work[1].r = r__1, work[1].i = 0.f;
|
work[1].r = r__1, work[1].i = 0.f;
|
||||||
|
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGEMLQ */
|
/* End of CGEMLQ */
|
||||||
|
|
||||||
|
|
|
@ -658,7 +658,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ
|
||||||
/* > \ingroup doubleGEcomputational */
|
/* > \ingroup doubleGEcomputational */
|
||||||
|
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgemlqt_(char *side, char *trans, integer *m, integer *n,
|
/* Subroutine */ void cgemlqt_(char *side, char *trans, integer *m, integer *n,
|
||||||
integer *k, integer *mb, complex *v, integer *ldv, complex *t,
|
integer *k, integer *mb, complex *v, integer *ldv, complex *t,
|
||||||
integer *ldt, complex *c__, integer *ldc, complex *work, integer *
|
integer *ldt, complex *c__, integer *ldc, complex *work, integer *
|
||||||
info)
|
info)
|
||||||
|
@ -673,9 +673,10 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ
|
||||||
extern logical lsame_(char *, char *);
|
extern logical lsame_(char *, char *);
|
||||||
logical right;
|
logical right;
|
||||||
integer ib, kf;
|
integer ib, kf;
|
||||||
extern /* Subroutine */ int clarfb_(char *, char *, char *, char *,
|
extern /* Subroutine */ void clarfb_(char *, char *, char *, char *,
|
||||||
integer *, integer *, integer *, complex *, integer *, complex *,
|
integer *, integer *, integer *, complex *, integer *, complex *,
|
||||||
integer *, complex *, integer *, complex *, integer *), xerbla_(char *, integer *, ftnlen);
|
integer *, complex *, integer *, complex *, integer *);
|
||||||
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
logical notran;
|
logical notran;
|
||||||
integer ldwork;
|
integer ldwork;
|
||||||
|
|
||||||
|
@ -737,12 +738,12 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGEMLQT", &i__1, (ftnlen)7);
|
xerbla_("CGEMLQT", &i__1, (ftnlen)7);
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (*m == 0 || *n == 0 || *k == 0) {
|
if (*m == 0 || *n == 0 || *k == 0) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (left && notran) {
|
if (left && notran) {
|
||||||
|
@ -803,7 +804,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGEMLQT */
|
/* End of CGEMLQT */
|
||||||
|
|
||||||
|
|
|
@ -675,7 +675,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ
|
||||||
/* > \endverbatim */
|
/* > \endverbatim */
|
||||||
/* > */
|
/* > */
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgemqr_(char *side, char *trans, integer *m, integer *n,
|
/* Subroutine */ void cgemqr_(char *side, char *trans, integer *m, integer *n,
|
||||||
integer *k, complex *a, integer *lda, complex *t, integer *tsize,
|
integer *k, complex *a, integer *lda, complex *t, integer *tsize,
|
||||||
complex *c__, integer *ldc, complex *work, integer *lwork, integer *
|
complex *c__, integer *ldc, complex *work, integer *lwork, integer *
|
||||||
info)
|
info)
|
||||||
|
@ -685,7 +685,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ
|
||||||
|
|
||||||
/* Local variables */
|
/* Local variables */
|
||||||
logical left, tran;
|
logical left, tran;
|
||||||
extern /* Subroutine */ int clamtsqr_(char *, char *, integer *, integer *
|
extern /* Subroutine */ void clamtsqr_(char *, char *, integer *, integer *
|
||||||
, integer *, integer *, integer *, complex *, integer *, complex *
|
, integer *, integer *, integer *, complex *, integer *, complex *
|
||||||
, integer *, complex *, integer *, complex *, integer *, integer *
|
, integer *, complex *, integer *, complex *, integer *, integer *
|
||||||
);
|
);
|
||||||
|
@ -694,7 +694,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ
|
||||||
integer mb, nb, mn, lw, nblcks;
|
integer mb, nb, mn, lw, nblcks;
|
||||||
extern /* Subroutine */ int xerbla_(char *, integer *, ftnlen);
|
extern /* Subroutine */ int xerbla_(char *, integer *, ftnlen);
|
||||||
logical notran, lquery;
|
logical notran, lquery;
|
||||||
extern /* Subroutine */ int cgemqrt_(char *, char *, integer *, integer *,
|
extern /* Subroutine */ void cgemqrt_(char *, char *, integer *, integer *,
|
||||||
integer *, integer *, complex *, integer *, complex *, integer *,
|
integer *, integer *, complex *, integer *, complex *, integer *,
|
||||||
complex *, integer *, complex *, integer *);
|
complex *, integer *, complex *, integer *);
|
||||||
|
|
||||||
|
@ -775,9 +775,9 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGEMQR", &i__1, (ftnlen)6);
|
xerbla_("CGEMQR", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
} else if (lquery) {
|
} else if (lquery) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Quick return if possible */
|
/* Quick return if possible */
|
||||||
|
@ -785,7 +785,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ
|
||||||
/* Computing MIN */
|
/* Computing MIN */
|
||||||
i__1 = f2cmin(*m,*n);
|
i__1 = f2cmin(*m,*n);
|
||||||
if (f2cmin(i__1,*k) == 0) {
|
if (f2cmin(i__1,*k) == 0) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Computing MAX */
|
/* Computing MAX */
|
||||||
|
@ -801,7 +801,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ
|
||||||
|
|
||||||
work[1].r = (real) lw, work[1].i = 0.f;
|
work[1].r = (real) lw, work[1].i = 0.f;
|
||||||
|
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGEMQR */
|
/* End of CGEMQR */
|
||||||
|
|
||||||
|
|
|
@ -676,7 +676,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ
|
||||||
/* > \ingroup complexGEcomputational */
|
/* > \ingroup complexGEcomputational */
|
||||||
|
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgemqrt_(char *side, char *trans, integer *m, integer *n,
|
/* Subroutine */ void cgemqrt_(char *side, char *trans, integer *m, integer *n,
|
||||||
integer *k, integer *nb, complex *v, integer *ldv, complex *t,
|
integer *k, integer *nb, complex *v, integer *ldv, complex *t,
|
||||||
integer *ldt, complex *c__, integer *ldc, complex *work, integer *
|
integer *ldt, complex *c__, integer *ldc, complex *work, integer *
|
||||||
info)
|
info)
|
||||||
|
@ -691,9 +691,10 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ
|
||||||
extern logical lsame_(char *, char *);
|
extern logical lsame_(char *, char *);
|
||||||
logical right;
|
logical right;
|
||||||
integer ib, kf;
|
integer ib, kf;
|
||||||
extern /* Subroutine */ int clarfb_(char *, char *, char *, char *,
|
extern /* Subroutine */ void clarfb_(char *, char *, char *, char *,
|
||||||
integer *, integer *, integer *, complex *, integer *, complex *,
|
integer *, integer *, integer *, complex *, integer *, complex *,
|
||||||
integer *, complex *, integer *, complex *, integer *), xerbla_(char *, integer *, ftnlen);
|
integer *, complex *, integer *, complex *, integer *);
|
||||||
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
logical notran;
|
logical notran;
|
||||||
integer ldwork;
|
integer ldwork;
|
||||||
|
|
||||||
|
@ -757,12 +758,12 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGEMQRT", &i__1, (ftnlen)7);
|
xerbla_("CGEMQRT", &i__1, (ftnlen)7);
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (*m == 0 || *n == 0 || *k == 0) {
|
if (*m == 0 || *n == 0 || *k == 0) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (left && tran) {
|
if (left && tran) {
|
||||||
|
@ -823,7 +824,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGEMQRT */
|
/* End of CGEMQRT */
|
||||||
|
|
||||||
|
|
|
@ -637,7 +637,7 @@ f"> */
|
||||||
/* > \endverbatim */
|
/* > \endverbatim */
|
||||||
/* > */
|
/* > */
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgeql2_(integer *m, integer *n, complex *a, integer *lda,
|
/* Subroutine */ void cgeql2_(integer *m, integer *n, complex *a, integer *lda,
|
||||||
complex *tau, complex *work, integer *info)
|
complex *tau, complex *work, integer *info)
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
|
@ -647,10 +647,10 @@ f"> */
|
||||||
/* Local variables */
|
/* Local variables */
|
||||||
integer i__, k;
|
integer i__, k;
|
||||||
complex alpha;
|
complex alpha;
|
||||||
extern /* Subroutine */ int clarf_(char *, integer *, integer *, complex *
|
extern /* Subroutine */ void clarf_(char *, integer *, integer *, complex *
|
||||||
, integer *, complex *, complex *, integer *, complex *),
|
, integer *, complex *, complex *, integer *, complex *),
|
||||||
clarfg_(integer *, complex *, complex *, integer *, complex *),
|
clarfg_(integer *, complex *, complex *, integer *, complex *);
|
||||||
xerbla_(char *, integer *, ftnlen);
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
|
|
||||||
|
|
||||||
/* -- LAPACK computational routine (version 3.7.0) -- */
|
/* -- LAPACK computational routine (version 3.7.0) -- */
|
||||||
|
@ -683,7 +683,7 @@ f"> */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGEQL2", &i__1, (ftnlen)6);
|
xerbla_("CGEQL2", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
k = f2cmin(*m,*n);
|
k = f2cmin(*m,*n);
|
||||||
|
@ -712,7 +712,7 @@ f"> */
|
||||||
a[i__1].r = alpha.r, a[i__1].i = alpha.i;
|
a[i__1].r = alpha.r, a[i__1].i = alpha.i;
|
||||||
/* L10: */
|
/* L10: */
|
||||||
}
|
}
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGEQL2 */
|
/* End of CGEQL2 */
|
||||||
|
|
||||||
|
|
|
@ -654,7 +654,7 @@ f"> */
|
||||||
/* > \endverbatim */
|
/* > \endverbatim */
|
||||||
/* > */
|
/* > */
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgeqlf_(integer *m, integer *n, complex *a, integer *lda,
|
/* Subroutine */ void cgeqlf_(integer *m, integer *n, complex *a, integer *lda,
|
||||||
complex *tau, complex *work, integer *lwork, integer *info)
|
complex *tau, complex *work, integer *lwork, integer *info)
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
|
@ -662,15 +662,16 @@ f"> */
|
||||||
|
|
||||||
/* Local variables */
|
/* Local variables */
|
||||||
integer i__, k, nbmin, iinfo;
|
integer i__, k, nbmin, iinfo;
|
||||||
extern /* Subroutine */ int cgeql2_(integer *, integer *, complex *,
|
extern /* Subroutine */ void cgeql2_(integer *, integer *, complex *,
|
||||||
integer *, complex *, complex *, integer *);
|
integer *, complex *, complex *, integer *);
|
||||||
integer ib, nb, ki, kk;
|
integer ib, nb, ki, kk;
|
||||||
extern /* Subroutine */ int clarfb_(char *, char *, char *, char *,
|
extern /* Subroutine */ void clarfb_(char *, char *, char *, char *,
|
||||||
integer *, integer *, integer *, complex *, integer *, complex *,
|
integer *, integer *, integer *, complex *, integer *, complex *,
|
||||||
integer *, complex *, integer *, complex *, integer *);
|
integer *, complex *, integer *, complex *, integer *);
|
||||||
integer mu, nu, nx;
|
integer mu, nu, nx;
|
||||||
extern /* Subroutine */ int clarft_(char *, char *, integer *, integer *,
|
extern /* Subroutine */ void clarft_(char *, char *, integer *, integer *,
|
||||||
complex *, integer *, complex *, complex *, integer *), xerbla_(char *, integer *, ftnlen);
|
complex *, integer *, complex *, complex *, integer *);
|
||||||
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
|
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
|
||||||
integer *, integer *, ftnlen, ftnlen);
|
integer *, integer *, ftnlen, ftnlen);
|
||||||
integer ldwork, lwkopt;
|
integer ldwork, lwkopt;
|
||||||
|
@ -726,15 +727,15 @@ f"> */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGEQLF", &i__1, (ftnlen)6);
|
xerbla_("CGEQLF", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
} else if (lquery) {
|
} else if (lquery) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Quick return if possible */
|
/* Quick return if possible */
|
||||||
|
|
||||||
if (k == 0) {
|
if (k == 0) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
nbmin = 2;
|
nbmin = 2;
|
||||||
|
@ -826,7 +827,7 @@ f"> */
|
||||||
}
|
}
|
||||||
|
|
||||||
work[1].r = (real) iws, work[1].i = 0.f;
|
work[1].r = (real) iws, work[1].i = 0.f;
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGEQLF */
|
/* End of CGEQLF */
|
||||||
|
|
||||||
|
|
|
@ -674,7 +674,7 @@ f"> */
|
||||||
/* > X. Sun, Computer Science Dept., Duke University, USA */
|
/* > X. Sun, Computer Science Dept., Duke University, USA */
|
||||||
/* > */
|
/* > */
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgeqp3_(integer *m, integer *n, complex *a, integer *lda,
|
/* Subroutine */ void cgeqp3_(integer *m, integer *n, complex *a, integer *lda,
|
||||||
integer *jpvt, complex *tau, complex *work, integer *lwork, real *
|
integer *jpvt, complex *tau, complex *work, integer *lwork, real *
|
||||||
rwork, integer *info)
|
rwork, integer *info)
|
||||||
{
|
{
|
||||||
|
@ -684,24 +684,24 @@ f"> */
|
||||||
|
|
||||||
/* Local variables */
|
/* Local variables */
|
||||||
integer nfxd, j, nbmin;
|
integer nfxd, j, nbmin;
|
||||||
extern /* Subroutine */ int cswap_(integer *, complex *, integer *,
|
extern /* Subroutine */ void cswap_(integer *, complex *, integer *,
|
||||||
complex *, integer *);
|
complex *, integer *);
|
||||||
integer minmn, minws;
|
integer minmn, minws;
|
||||||
extern /* Subroutine */ int claqp2_(integer *, integer *, integer *,
|
extern /* Subroutine */ void claqp2_(integer *, integer *, integer *,
|
||||||
complex *, integer *, integer *, complex *, real *, real *,
|
complex *, integer *, integer *, complex *, real *, real *,
|
||||||
complex *);
|
complex *);
|
||||||
extern real scnrm2_(integer *, complex *, integer *);
|
extern real scnrm2_(integer *, complex *, integer *);
|
||||||
integer jb, na, nb, sm, sn, nx;
|
integer jb, na, nb, sm, sn, nx;
|
||||||
extern /* Subroutine */ int cgeqrf_(integer *, integer *, complex *,
|
extern /* Subroutine */ void cgeqrf_(integer *, integer *, complex *,
|
||||||
integer *, complex *, complex *, integer *, integer *), xerbla_(
|
integer *, complex *, complex *, integer *, integer *);
|
||||||
char *, integer *, ftnlen);
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
|
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
|
||||||
integer *, integer *, ftnlen, ftnlen);
|
integer *, integer *, ftnlen, ftnlen);
|
||||||
extern /* Subroutine */ int claqps_(integer *, integer *, integer *,
|
extern /* Subroutine */ void claqps_(integer *, integer *, integer *,
|
||||||
integer *, integer *, complex *, integer *, integer *, complex *,
|
integer *, integer *, complex *, integer *, integer *, complex *,
|
||||||
real *, real *, complex *, complex *, integer *);
|
real *, real *, complex *, complex *, integer *);
|
||||||
integer topbmn, sminmn;
|
integer topbmn, sminmn;
|
||||||
extern /* Subroutine */ int cunmqr_(char *, char *, integer *, integer *,
|
extern /* Subroutine */ void cunmqr_(char *, char *, integer *, integer *,
|
||||||
integer *, complex *, integer *, complex *, complex *, integer *,
|
integer *, complex *, integer *, complex *, complex *, integer *,
|
||||||
complex *, integer *, integer *);
|
complex *, integer *, integer *);
|
||||||
integer lwkopt;
|
integer lwkopt;
|
||||||
|
@ -763,9 +763,9 @@ f"> */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGEQP3", &i__1, (ftnlen)6);
|
xerbla_("CGEQP3", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
} else if (lquery) {
|
} else if (lquery) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Move initial columns up front. */
|
/* Move initial columns up front. */
|
||||||
|
@ -921,7 +921,7 @@ L30:
|
||||||
|
|
||||||
q__1.r = (real) lwkopt, q__1.i = 0.f;
|
q__1.r = (real) lwkopt, q__1.i = 0.f;
|
||||||
work[1].r = q__1.r, work[1].i = q__1.i;
|
work[1].r = q__1.r, work[1].i = q__1.i;
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGEQP3 */
|
/* End of CGEQP3 */
|
||||||
|
|
||||||
|
|
|
@ -683,7 +683,7 @@ static integer c__2 = 2;
|
||||||
/* > \endverbatim */
|
/* > \endverbatim */
|
||||||
/* > */
|
/* > */
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgeqr_(integer *m, integer *n, complex *a, integer *lda,
|
/* Subroutine */ void cgeqr_(integer *m, integer *n, complex *a, integer *lda,
|
||||||
complex *t, integer *tsize, complex *work, integer *lwork, integer *
|
complex *t, integer *tsize, complex *work, integer *lwork, integer *
|
||||||
info)
|
info)
|
||||||
{
|
{
|
||||||
|
@ -696,11 +696,11 @@ static integer c__2 = 2;
|
||||||
extern /* Subroutine */ int xerbla_(char *, integer *, ftnlen);
|
extern /* Subroutine */ int xerbla_(char *, integer *, ftnlen);
|
||||||
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
|
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
|
||||||
integer *, integer *, ftnlen, ftnlen);
|
integer *, integer *, ftnlen, ftnlen);
|
||||||
extern /* Subroutine */ int cgeqrt_(integer *, integer *, integer *,
|
extern /* Subroutine */ void cgeqrt_(integer *, integer *, integer *,
|
||||||
complex *, integer *, complex *, integer *, complex *, integer *);
|
complex *, integer *, complex *, integer *, complex *, integer *);
|
||||||
logical lminws, lquery;
|
logical lminws, lquery;
|
||||||
integer mintsz;
|
integer mintsz;
|
||||||
extern /* Subroutine */ int clatsqr_(integer *, integer *, integer *,
|
extern /* Subroutine */ void clatsqr_(integer *, integer *, integer *,
|
||||||
integer *, complex *, integer *, complex *, integer *, complex *,
|
integer *, complex *, integer *, complex *, integer *, complex *,
|
||||||
integer *, integer *);
|
integer *, integer *);
|
||||||
|
|
||||||
|
@ -829,15 +829,15 @@ static integer c__2 = 2;
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGEQR", &i__1, (ftnlen)5);
|
xerbla_("CGEQR", &i__1, (ftnlen)5);
|
||||||
return 0;
|
return;
|
||||||
} else if (lquery) {
|
} else if (lquery) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Quick return if possible */
|
/* Quick return if possible */
|
||||||
|
|
||||||
if (f2cmin(*m,*n) == 0) {
|
if (f2cmin(*m,*n) == 0) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* The QR Decomposition */
|
/* The QR Decomposition */
|
||||||
|
@ -854,7 +854,7 @@ static integer c__2 = 2;
|
||||||
i__1 = f2cmax(i__2,i__3);
|
i__1 = f2cmax(i__2,i__3);
|
||||||
work[1].r = (real) i__1, work[1].i = 0.f;
|
work[1].r = (real) i__1, work[1].i = 0.f;
|
||||||
|
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGEQR */
|
/* End of CGEQR */
|
||||||
|
|
||||||
|
|
|
@ -644,7 +644,7 @@ f"> */
|
||||||
/* > \endverbatim */
|
/* > \endverbatim */
|
||||||
/* > */
|
/* > */
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgeqr2_(integer *m, integer *n, complex *a, integer *lda,
|
/* Subroutine */ void cgeqr2_(integer *m, integer *n, complex *a, integer *lda,
|
||||||
complex *tau, complex *work, integer *info)
|
complex *tau, complex *work, integer *info)
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
|
@ -654,10 +654,10 @@ f"> */
|
||||||
/* Local variables */
|
/* Local variables */
|
||||||
integer i__, k;
|
integer i__, k;
|
||||||
complex alpha;
|
complex alpha;
|
||||||
extern /* Subroutine */ int clarf_(char *, integer *, integer *, complex *
|
extern /* Subroutine */ void clarf_(char *, integer *, integer *, complex *
|
||||||
, integer *, complex *, complex *, integer *, complex *),
|
, integer *, complex *, complex *, integer *, complex *),
|
||||||
clarfg_(integer *, complex *, complex *, integer *, complex *),
|
clarfg_(integer *, complex *, complex *, integer *, complex *);
|
||||||
xerbla_(char *, integer *, ftnlen);
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
|
|
||||||
|
|
||||||
/* -- LAPACK computational routine (version 3.9.0) -- */
|
/* -- LAPACK computational routine (version 3.9.0) -- */
|
||||||
|
@ -690,7 +690,7 @@ f"> */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGEQR2", &i__1, (ftnlen)6);
|
xerbla_("CGEQR2", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
k = f2cmin(*m,*n);
|
k = f2cmin(*m,*n);
|
||||||
|
@ -723,7 +723,7 @@ f"> */
|
||||||
}
|
}
|
||||||
/* L10: */
|
/* L10: */
|
||||||
}
|
}
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGEQR2 */
|
/* End of CGEQR2 */
|
||||||
|
|
||||||
|
|
|
@ -648,7 +648,7 @@ l elements using an unblocked algorithm. */
|
||||||
/* > \endverbatim */
|
/* > \endverbatim */
|
||||||
/* > */
|
/* > */
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgeqr2p_(integer *m, integer *n, complex *a, integer *
|
/* Subroutine */ void cgeqr2p_(integer *m, integer *n, complex *a, integer *
|
||||||
lda, complex *tau, complex *work, integer *info)
|
lda, complex *tau, complex *work, integer *info)
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
|
@ -658,9 +658,10 @@ l elements using an unblocked algorithm. */
|
||||||
/* Local variables */
|
/* Local variables */
|
||||||
integer i__, k;
|
integer i__, k;
|
||||||
complex alpha;
|
complex alpha;
|
||||||
extern /* Subroutine */ int clarf_(char *, integer *, integer *, complex *
|
extern /* Subroutine */ void clarf_(char *, integer *, integer *, complex *
|
||||||
, integer *, complex *, complex *, integer *, complex *),
|
, integer *, complex *, complex *, integer *, complex *);
|
||||||
xerbla_(char *, integer *, ftnlen), clarfgp_(integer *, complex *,
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
|
extern void clarfgp_(integer *, complex *,
|
||||||
complex *, integer *, complex *);
|
complex *, integer *, complex *);
|
||||||
|
|
||||||
|
|
||||||
|
@ -694,7 +695,7 @@ l elements using an unblocked algorithm. */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGEQR2P", &i__1, (ftnlen)7);
|
xerbla_("CGEQR2P", &i__1, (ftnlen)7);
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
k = f2cmin(*m,*n);
|
k = f2cmin(*m,*n);
|
||||||
|
@ -727,7 +728,7 @@ l elements using an unblocked algorithm. */
|
||||||
}
|
}
|
||||||
/* L10: */
|
/* L10: */
|
||||||
}
|
}
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGEQR2P */
|
/* End of CGEQR2P */
|
||||||
|
|
||||||
|
|
|
@ -661,7 +661,7 @@ f"> */
|
||||||
/* > \endverbatim */
|
/* > \endverbatim */
|
||||||
/* > */
|
/* > */
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgeqrf_(integer *m, integer *n, complex *a, integer *lda,
|
/* Subroutine */ void cgeqrf_(integer *m, integer *n, complex *a, integer *lda,
|
||||||
complex *tau, complex *work, integer *lwork, integer *info)
|
complex *tau, complex *work, integer *lwork, integer *info)
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
|
@ -669,15 +669,16 @@ f"> */
|
||||||
|
|
||||||
/* Local variables */
|
/* Local variables */
|
||||||
integer i__, k, nbmin, iinfo;
|
integer i__, k, nbmin, iinfo;
|
||||||
extern /* Subroutine */ int cgeqr2_(integer *, integer *, complex *,
|
extern /* Subroutine */ void cgeqr2_(integer *, integer *, complex *,
|
||||||
integer *, complex *, complex *, integer *);
|
integer *, complex *, complex *, integer *);
|
||||||
integer ib, nb;
|
integer ib, nb;
|
||||||
extern /* Subroutine */ int clarfb_(char *, char *, char *, char *,
|
extern /* Subroutine */ void clarfb_(char *, char *, char *, char *,
|
||||||
integer *, integer *, integer *, complex *, integer *, complex *,
|
integer *, integer *, integer *, complex *, integer *, complex *,
|
||||||
integer *, complex *, integer *, complex *, integer *);
|
integer *, complex *, integer *, complex *, integer *);
|
||||||
integer nx;
|
integer nx;
|
||||||
extern /* Subroutine */ int clarft_(char *, char *, integer *, integer *,
|
extern /* Subroutine */ void clarft_(char *, char *, integer *, integer *,
|
||||||
complex *, integer *, complex *, complex *, integer *), xerbla_(char *, integer *, ftnlen);
|
complex *, integer *, complex *, complex *, integer *);
|
||||||
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
|
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
|
||||||
integer *, integer *, ftnlen, ftnlen);
|
integer *, integer *, ftnlen, ftnlen);
|
||||||
integer ldwork, lwkopt;
|
integer ldwork, lwkopt;
|
||||||
|
@ -722,9 +723,9 @@ f"> */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGEQRF", &i__1, (ftnlen)6);
|
xerbla_("CGEQRF", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
} else if (lquery) {
|
} else if (lquery) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Quick return if possible */
|
/* Quick return if possible */
|
||||||
|
@ -732,7 +733,7 @@ f"> */
|
||||||
k = f2cmin(*m,*n);
|
k = f2cmin(*m,*n);
|
||||||
if (k == 0) {
|
if (k == 0) {
|
||||||
work[1].r = 1.f, work[1].i = 0.f;
|
work[1].r = 1.f, work[1].i = 0.f;
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
nbmin = 2;
|
nbmin = 2;
|
||||||
|
@ -817,7 +818,7 @@ f"> */
|
||||||
}
|
}
|
||||||
|
|
||||||
work[1].r = (real) iws, work[1].i = 0.f;
|
work[1].r = (real) iws, work[1].i = 0.f;
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGEQRF */
|
/* End of CGEQRF */
|
||||||
|
|
||||||
|
|
|
@ -665,7 +665,7 @@ static integer c__2 = 2;
|
||||||
/* > \endverbatim */
|
/* > \endverbatim */
|
||||||
/* > */
|
/* > */
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgeqrfp_(integer *m, integer *n, complex *a, integer *
|
/* Subroutine */ void cgeqrfp_(integer *m, integer *n, complex *a, integer *
|
||||||
lda, complex *tau, complex *work, integer *lwork, integer *info)
|
lda, complex *tau, complex *work, integer *lwork, integer *info)
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
|
@ -673,17 +673,18 @@ static integer c__2 = 2;
|
||||||
|
|
||||||
/* Local variables */
|
/* Local variables */
|
||||||
integer i__, k, nbmin, iinfo, ib, nb;
|
integer i__, k, nbmin, iinfo, ib, nb;
|
||||||
extern /* Subroutine */ int clarfb_(char *, char *, char *, char *,
|
extern /* Subroutine */ void clarfb_(char *, char *, char *, char *,
|
||||||
integer *, integer *, integer *, complex *, integer *, complex *,
|
integer *, integer *, integer *, complex *, integer *, complex *,
|
||||||
integer *, complex *, integer *, complex *, integer *);
|
integer *, complex *, integer *, complex *, integer *);
|
||||||
integer nx;
|
integer nx;
|
||||||
extern /* Subroutine */ int clarft_(char *, char *, integer *, integer *,
|
extern /* Subroutine */ void clarft_(char *, char *, integer *, integer *,
|
||||||
complex *, integer *, complex *, complex *, integer *), xerbla_(char *, integer *, ftnlen);
|
complex *, integer *, complex *, complex *, integer *);
|
||||||
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
|
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
|
||||||
integer *, integer *, ftnlen, ftnlen);
|
integer *, integer *, ftnlen, ftnlen);
|
||||||
integer ldwork, lwkopt;
|
integer ldwork, lwkopt;
|
||||||
logical lquery;
|
logical lquery;
|
||||||
extern /* Subroutine */ int cgeqr2p_(integer *, integer *, complex *,
|
extern /* Subroutine */ void cgeqr2p_(integer *, integer *, complex *,
|
||||||
integer *, complex *, complex *, integer *);
|
integer *, complex *, complex *, integer *);
|
||||||
integer iws;
|
integer iws;
|
||||||
|
|
||||||
|
@ -725,9 +726,9 @@ static integer c__2 = 2;
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGEQRFP", &i__1, (ftnlen)7);
|
xerbla_("CGEQRFP", &i__1, (ftnlen)7);
|
||||||
return 0;
|
return;
|
||||||
} else if (lquery) {
|
} else if (lquery) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Quick return if possible */
|
/* Quick return if possible */
|
||||||
|
@ -735,7 +736,7 @@ static integer c__2 = 2;
|
||||||
k = f2cmin(*m,*n);
|
k = f2cmin(*m,*n);
|
||||||
if (k == 0) {
|
if (k == 0) {
|
||||||
work[1].r = 1.f, work[1].i = 0.f;
|
work[1].r = 1.f, work[1].i = 0.f;
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
nbmin = 2;
|
nbmin = 2;
|
||||||
|
@ -820,7 +821,7 @@ static integer c__2 = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
work[1].r = (real) iws, work[1].i = 0.f;
|
work[1].r = (real) iws, work[1].i = 0.f;
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGEQRFP */
|
/* End of CGEQRFP */
|
||||||
|
|
||||||
|
|
|
@ -650,7 +650,7 @@ f"> */
|
||||||
/* > \endverbatim */
|
/* > \endverbatim */
|
||||||
/* > */
|
/* > */
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgeqrt_(integer *m, integer *n, integer *nb, complex *a,
|
/* Subroutine */ void cgeqrt_(integer *m, integer *n, integer *nb, complex *a,
|
||||||
integer *lda, complex *t, integer *ldt, complex *work, integer *info)
|
integer *lda, complex *t, integer *ldt, complex *work, integer *info)
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
|
@ -658,10 +658,11 @@ f"> */
|
||||||
|
|
||||||
/* Local variables */
|
/* Local variables */
|
||||||
integer i__, k, iinfo, ib;
|
integer i__, k, iinfo, ib;
|
||||||
extern /* Subroutine */ int clarfb_(char *, char *, char *, char *,
|
extern /* Subroutine */ void clarfb_(char *, char *, char *, char *,
|
||||||
integer *, integer *, integer *, complex *, integer *, complex *,
|
integer *, integer *, integer *, complex *, integer *, complex *,
|
||||||
integer *, complex *, integer *, complex *, integer *), xerbla_(char *, integer *, ftnlen),
|
integer *, complex *, integer *, complex *, integer *);
|
||||||
cgeqrt2_(integer *, integer *, complex *, integer *, complex *,
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
|
extern void cgeqrt2_(integer *, integer *, complex *, integer *, complex *,
|
||||||
integer *, integer *), cgeqrt3_(integer *, integer *, complex *,
|
integer *, integer *), cgeqrt3_(integer *, integer *, complex *,
|
||||||
integer *, complex *, integer *, integer *);
|
integer *, complex *, integer *, integer *);
|
||||||
|
|
||||||
|
@ -702,14 +703,14 @@ f"> */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGEQRT", &i__1, (ftnlen)6);
|
xerbla_("CGEQRT", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Quick return if possible */
|
/* Quick return if possible */
|
||||||
|
|
||||||
k = f2cmin(*m,*n);
|
k = f2cmin(*m,*n);
|
||||||
if (k == 0) {
|
if (k == 0) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Blocked loop of length K */
|
/* Blocked loop of length K */
|
||||||
|
@ -744,7 +745,7 @@ f"> */
|
||||||
ib) * a_dim1], lda, &work[1], &i__5);
|
ib) * a_dim1], lda, &work[1], &i__5);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGEQRT */
|
/* End of CGEQRT */
|
||||||
|
|
||||||
|
|
|
@ -643,7 +643,7 @@ presentation of Q. */
|
||||||
/* > \endverbatim */
|
/* > \endverbatim */
|
||||||
/* > */
|
/* > */
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgeqrt2_(integer *m, integer *n, complex *a, integer *
|
/* Subroutine */ void cgeqrt2_(integer *m, integer *n, complex *a, integer *
|
||||||
lda, complex *t, integer *ldt, integer *info)
|
lda, complex *t, integer *ldt, integer *info)
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
|
@ -652,14 +652,15 @@ presentation of Q. */
|
||||||
|
|
||||||
/* Local variables */
|
/* Local variables */
|
||||||
integer i__, k;
|
integer i__, k;
|
||||||
extern /* Subroutine */ int cgerc_(integer *, integer *, complex *,
|
extern /* Subroutine */ void cgerc_(integer *, integer *, complex *,
|
||||||
complex *, integer *, complex *, integer *, complex *, integer *);
|
complex *, integer *, complex *, integer *, complex *, integer *);
|
||||||
complex alpha;
|
complex alpha;
|
||||||
extern /* Subroutine */ int cgemv_(char *, integer *, integer *, complex *
|
extern /* Subroutine */ void cgemv_(char *, integer *, integer *, complex *
|
||||||
, complex *, integer *, complex *, integer *, complex *, complex *
|
, complex *, integer *, complex *, integer *, complex *, complex *
|
||||||
, integer *), ctrmv_(char *, char *, char *, integer *,
|
, integer *), ctrmv_(char *, char *, char *, integer *,
|
||||||
complex *, integer *, complex *, integer *), clarfg_(integer *, complex *, complex *, integer *,
|
complex *, integer *, complex *, integer *), clarfg_(integer *, complex *, complex *, integer *,
|
||||||
complex *), xerbla_(char *, integer *, ftnlen);
|
complex *);
|
||||||
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
complex aii;
|
complex aii;
|
||||||
|
|
||||||
|
|
||||||
|
@ -696,7 +697,7 @@ presentation of Q. */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGEQRT2", &i__1, (ftnlen)7);
|
xerbla_("CGEQRT2", &i__1, (ftnlen)7);
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
k = f2cmin(*m,*n);
|
k = f2cmin(*m,*n);
|
||||||
|
@ -778,6 +779,6 @@ presentation of Q. */
|
||||||
|
|
||||||
/* End of CGEQRT2 */
|
/* End of CGEQRT2 */
|
||||||
|
|
||||||
return 0;
|
return;
|
||||||
} /* cgeqrt2_ */
|
} /* cgeqrt2_ */
|
||||||
|
|
||||||
|
|
|
@ -647,7 +647,7 @@ compact WY representation of Q. </b> */
|
||||||
/* > \endverbatim */
|
/* > \endverbatim */
|
||||||
/* > */
|
/* > */
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgeqrt3_(integer *m, integer *n, complex *a, integer *
|
/* Subroutine */ void cgeqrt3_(integer *m, integer *n, complex *a, integer *
|
||||||
lda, complex *t, integer *ldt, integer *info)
|
lda, complex *t, integer *ldt, integer *info)
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
|
@ -656,16 +656,17 @@ compact WY representation of Q. </b> */
|
||||||
|
|
||||||
/* Local variables */
|
/* Local variables */
|
||||||
integer i__, j;
|
integer i__, j;
|
||||||
extern /* Subroutine */ int cgemm_(char *, char *, integer *, integer *,
|
extern /* Subroutine */ void cgemm_(char *, char *, integer *, integer *,
|
||||||
integer *, complex *, complex *, integer *, complex *, integer *,
|
integer *, complex *, complex *, integer *, complex *, integer *,
|
||||||
complex *, complex *, integer *);
|
complex *, complex *, integer *);
|
||||||
integer iinfo;
|
integer iinfo;
|
||||||
extern /* Subroutine */ int ctrmm_(char *, char *, char *, char *,
|
extern /* Subroutine */ void ctrmm_(char *, char *, char *, char *,
|
||||||
integer *, integer *, complex *, complex *, integer *, complex *,
|
integer *, integer *, complex *, complex *, integer *, complex *,
|
||||||
integer *);
|
integer *);
|
||||||
integer i1, j1, n1, n2;
|
integer i1, j1, n1, n2;
|
||||||
extern /* Subroutine */ int clarfg_(integer *, complex *, complex *,
|
extern /* Subroutine */ void clarfg_(integer *, complex *, complex *,
|
||||||
integer *, complex *), xerbla_(char *, integer *, ftnlen);
|
integer *, complex *);
|
||||||
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
|
|
||||||
|
|
||||||
/* -- LAPACK computational routine (version 3.7.0) -- */
|
/* -- LAPACK computational routine (version 3.7.0) -- */
|
||||||
|
@ -699,7 +700,7 @@ compact WY representation of Q. </b> */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGEQRT3", &i__1, (ftnlen)7);
|
xerbla_("CGEQRT3", &i__1, (ftnlen)7);
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (*n == 1) {
|
if (*n == 1) {
|
||||||
|
@ -809,7 +810,7 @@ compact WY representation of Q. </b> */
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGEQRT3 */
|
/* End of CGEQRT3 */
|
||||||
|
|
||||||
|
|
|
@ -699,7 +699,7 @@ f"> */
|
||||||
/* > \ingroup complexGEcomputational */
|
/* > \ingroup complexGEcomputational */
|
||||||
|
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgerfs_(char *trans, integer *n, integer *nrhs, complex *
|
/* Subroutine */ void cgerfs_(char *trans, integer *n, integer *nrhs, complex *
|
||||||
a, integer *lda, complex *af, integer *ldaf, integer *ipiv, complex *
|
a, integer *lda, complex *af, integer *ldaf, integer *ipiv, complex *
|
||||||
b, integer *ldb, complex *x, integer *ldx, real *ferr, real *berr,
|
b, integer *ldb, complex *x, integer *ldx, real *ferr, real *berr,
|
||||||
complex *work, real *rwork, integer *info)
|
complex *work, real *rwork, integer *info)
|
||||||
|
@ -716,21 +716,22 @@ f"> */
|
||||||
integer i__, j, k;
|
integer i__, j, k;
|
||||||
real s;
|
real s;
|
||||||
extern logical lsame_(char *, char *);
|
extern logical lsame_(char *, char *);
|
||||||
extern /* Subroutine */ int cgemv_(char *, integer *, integer *, complex *
|
extern /* Subroutine */ void cgemv_(char *, integer *, integer *, complex *
|
||||||
, complex *, integer *, complex *, integer *, complex *, complex *
|
, complex *, integer *, complex *, integer *, complex *, complex *
|
||||||
, integer *);
|
, integer *);
|
||||||
integer isave[3];
|
integer isave[3];
|
||||||
extern /* Subroutine */ int ccopy_(integer *, complex *, integer *,
|
extern /* Subroutine */ void ccopy_(integer *, complex *, integer *,
|
||||||
complex *, integer *), caxpy_(integer *, complex *, complex *,
|
complex *, integer *), caxpy_(integer *, complex *, complex *,
|
||||||
integer *, complex *, integer *);
|
integer *, complex *, integer *);
|
||||||
integer count;
|
integer count;
|
||||||
extern /* Subroutine */ int clacn2_(integer *, complex *, complex *, real
|
extern /* Subroutine */ void clacn2_(integer *, complex *, complex *, real
|
||||||
*, integer *, integer *);
|
*, integer *, integer *);
|
||||||
real xk;
|
real xk;
|
||||||
extern real slamch_(char *);
|
extern real slamch_(char *);
|
||||||
integer nz;
|
integer nz;
|
||||||
real safmin;
|
real safmin;
|
||||||
extern /* Subroutine */ int xerbla_(char *, integer *, ftnlen), cgetrs_(
|
extern /* Subroutine */ int xerbla_(char *, integer *, ftnlen);
|
||||||
|
extern int cgetrs_(
|
||||||
char *, integer *, integer *, complex *, integer *, integer *,
|
char *, integer *, integer *, complex *, integer *, integer *,
|
||||||
complex *, integer *, integer *);
|
complex *, integer *, integer *);
|
||||||
logical notran;
|
logical notran;
|
||||||
|
@ -790,7 +791,7 @@ f"> */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGERFS", &i__1, (ftnlen)6);
|
xerbla_("CGERFS", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Quick return if possible */
|
/* Quick return if possible */
|
||||||
|
@ -802,7 +803,7 @@ f"> */
|
||||||
berr[j] = 0.f;
|
berr[j] = 0.f;
|
||||||
/* L10: */
|
/* L10: */
|
||||||
}
|
}
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (notran) {
|
if (notran) {
|
||||||
|
@ -1028,7 +1029,7 @@ L100:
|
||||||
/* L140: */
|
/* L140: */
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGERFS */
|
/* End of CGERFS */
|
||||||
|
|
||||||
|
|
|
@ -633,7 +633,7 @@ f"> */
|
||||||
/* > \endverbatim */
|
/* > \endverbatim */
|
||||||
/* > */
|
/* > */
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgerq2_(integer *m, integer *n, complex *a, integer *lda,
|
/* Subroutine */ void cgerq2_(integer *m, integer *n, complex *a, integer *lda,
|
||||||
complex *tau, complex *work, integer *info)
|
complex *tau, complex *work, integer *info)
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
|
@ -642,11 +642,11 @@ f"> */
|
||||||
/* Local variables */
|
/* Local variables */
|
||||||
integer i__, k;
|
integer i__, k;
|
||||||
complex alpha;
|
complex alpha;
|
||||||
extern /* Subroutine */ int clarf_(char *, integer *, integer *, complex *
|
extern /* Subroutine */ void clarf_(char *, integer *, integer *, complex *
|
||||||
, integer *, complex *, complex *, integer *, complex *),
|
, integer *, complex *, complex *, integer *, complex *),
|
||||||
clarfg_(integer *, complex *, complex *, integer *, complex *),
|
clarfg_(integer *, complex *, complex *, integer *, complex *),
|
||||||
clacgv_(integer *, complex *, integer *), xerbla_(char *, integer
|
clacgv_(integer *, complex *, integer *);
|
||||||
*, ftnlen);
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
|
|
||||||
|
|
||||||
/* -- LAPACK computational routine (version 3.7.0) -- */
|
/* -- LAPACK computational routine (version 3.7.0) -- */
|
||||||
|
@ -679,7 +679,7 @@ f"> */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGERQ2", &i__1, (ftnlen)6);
|
xerbla_("CGERQ2", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
k = f2cmin(*m,*n);
|
k = f2cmin(*m,*n);
|
||||||
|
@ -710,7 +710,7 @@ f"> */
|
||||||
clacgv_(&i__1, &a[*m - k + i__ + a_dim1], lda);
|
clacgv_(&i__1, &a[*m - k + i__ + a_dim1], lda);
|
||||||
/* L10: */
|
/* L10: */
|
||||||
}
|
}
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGERQ2 */
|
/* End of CGERQ2 */
|
||||||
|
|
||||||
|
|
|
@ -654,7 +654,7 @@ f"> */
|
||||||
/* > \endverbatim */
|
/* > \endverbatim */
|
||||||
/* > */
|
/* > */
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgerqf_(integer *m, integer *n, complex *a, integer *lda,
|
/* Subroutine */ void cgerqf_(integer *m, integer *n, complex *a, integer *lda,
|
||||||
complex *tau, complex *work, integer *lwork, integer *info)
|
complex *tau, complex *work, integer *lwork, integer *info)
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
|
@ -662,15 +662,16 @@ f"> */
|
||||||
|
|
||||||
/* Local variables */
|
/* Local variables */
|
||||||
integer i__, k, nbmin, iinfo;
|
integer i__, k, nbmin, iinfo;
|
||||||
extern /* Subroutine */ int cgerq2_(integer *, integer *, complex *,
|
extern /* Subroutine */ void cgerq2_(integer *, integer *, complex *,
|
||||||
integer *, complex *, complex *, integer *);
|
integer *, complex *, complex *, integer *);
|
||||||
integer ib, nb, ki, kk;
|
integer ib, nb, ki, kk;
|
||||||
extern /* Subroutine */ int clarfb_(char *, char *, char *, char *,
|
extern /* Subroutine */ void clarfb_(char *, char *, char *, char *,
|
||||||
integer *, integer *, integer *, complex *, integer *, complex *,
|
integer *, integer *, integer *, complex *, integer *, complex *,
|
||||||
integer *, complex *, integer *, complex *, integer *);
|
integer *, complex *, integer *, complex *, integer *);
|
||||||
integer mu, nu, nx;
|
integer mu, nu, nx;
|
||||||
extern /* Subroutine */ int clarft_(char *, char *, integer *, integer *,
|
extern /* Subroutine */ void clarft_(char *, char *, integer *, integer *,
|
||||||
complex *, integer *, complex *, complex *, integer *), xerbla_(char *, integer *, ftnlen);
|
complex *, integer *, complex *, complex *, integer *);
|
||||||
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
|
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
|
||||||
integer *, integer *, ftnlen, ftnlen);
|
integer *, integer *, ftnlen, ftnlen);
|
||||||
integer ldwork, lwkopt;
|
integer ldwork, lwkopt;
|
||||||
|
@ -726,15 +727,15 @@ f"> */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGERQF", &i__1, (ftnlen)6);
|
xerbla_("CGERQF", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
} else if (lquery) {
|
} else if (lquery) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Quick return if possible */
|
/* Quick return if possible */
|
||||||
|
|
||||||
if (k == 0) {
|
if (k == 0) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
nbmin = 2;
|
nbmin = 2;
|
||||||
|
@ -825,7 +826,7 @@ f"> */
|
||||||
}
|
}
|
||||||
|
|
||||||
work[1].r = (real) iws, work[1].i = 0.f;
|
work[1].r = (real) iws, work[1].i = 0.f;
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGERQF */
|
/* End of CGERQF */
|
||||||
|
|
||||||
|
|
|
@ -631,7 +631,7 @@ f"> */
|
||||||
/* > Umea University, S-901 87 Umea, Sweden. */
|
/* > Umea University, S-901 87 Umea, Sweden. */
|
||||||
|
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgesc2_(integer *n, complex *a, integer *lda, complex *
|
/* Subroutine */ void cgesc2_(integer *n, complex *a, integer *lda, complex *
|
||||||
rhs, integer *ipiv, integer *jpiv, real *scale)
|
rhs, integer *ipiv, integer *jpiv, real *scale)
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
|
@ -642,7 +642,7 @@ f"> */
|
||||||
/* Local variables */
|
/* Local variables */
|
||||||
complex temp;
|
complex temp;
|
||||||
integer i__, j;
|
integer i__, j;
|
||||||
extern /* Subroutine */ int cscal_(integer *, complex *, complex *,
|
extern /* Subroutine */ void cscal_(integer *, complex *, complex *,
|
||||||
integer *), slabad_(real *, real *);
|
integer *), slabad_(real *, real *);
|
||||||
extern integer icamax_(integer *, complex *, integer *);
|
extern integer icamax_(integer *, complex *, integer *);
|
||||||
extern real slamch_(char *);
|
extern real slamch_(char *);
|
||||||
|
@ -745,7 +745,7 @@ f"> */
|
||||||
|
|
||||||
i__1 = *n - 1;
|
i__1 = *n - 1;
|
||||||
claswp_(&c__1, &rhs[1], lda, &c__1, &i__1, &jpiv[1], &c_n1);
|
claswp_(&c__1, &rhs[1], lda, &c__1, &i__1, &jpiv[1], &c_n1);
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGESC2 */
|
/* End of CGESC2 */
|
||||||
|
|
||||||
|
|
|
@ -742,7 +742,7 @@ f"> */
|
||||||
/* > California at Berkeley, USA */
|
/* > California at Berkeley, USA */
|
||||||
/* > */
|
/* > */
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgesdd_(char *jobz, integer *m, integer *n, complex *a,
|
/* Subroutine */ void cgesdd_(char *jobz, integer *m, integer *n, complex *a,
|
||||||
integer *lda, real *s, complex *u, integer *ldu, complex *vt, integer
|
integer *lda, real *s, complex *u, integer *ldu, complex *vt, integer
|
||||||
*ldvt, complex *work, integer *lwork, real *rwork, integer *iwork,
|
*ldvt, complex *work, integer *lwork, real *rwork, integer *iwork,
|
||||||
integer *info)
|
integer *info)
|
||||||
|
@ -760,26 +760,26 @@ f"> */
|
||||||
real anrm;
|
real anrm;
|
||||||
integer ierr, itau, lwork_cunmbr_qln_mm__, lwork_cunmbr_qln_mn__,
|
integer ierr, itau, lwork_cunmbr_qln_mm__, lwork_cunmbr_qln_mn__,
|
||||||
lwork_cunmbr_qln_nn__, idum[1], irvt, i__;
|
lwork_cunmbr_qln_nn__, idum[1], irvt, i__;
|
||||||
extern /* Subroutine */ int cgemm_(char *, char *, integer *, integer *,
|
extern /* Subroutine */ void cgemm_(char *, char *, integer *, integer *,
|
||||||
integer *, complex *, complex *, integer *, complex *, integer *,
|
integer *, complex *, complex *, integer *, complex *, integer *,
|
||||||
complex *, complex *, integer *);
|
complex *, complex *, integer *);
|
||||||
extern logical lsame_(char *, char *);
|
extern logical lsame_(char *, char *);
|
||||||
integer chunk, minmn, wrkbl, itaup, itauq;
|
integer chunk, minmn, wrkbl, itaup, itauq;
|
||||||
logical wntqa;
|
logical wntqa;
|
||||||
integer nwork;
|
integer nwork;
|
||||||
extern /* Subroutine */ int clacp2_(char *, integer *, integer *, real *,
|
extern /* Subroutine */ void clacp2_(char *, integer *, integer *, real *,
|
||||||
integer *, complex *, integer *);
|
integer *, complex *, integer *);
|
||||||
logical wntqn, wntqo, wntqs;
|
logical wntqn, wntqo, wntqs;
|
||||||
integer mnthr1, mnthr2, ie, lwork_cungbr_p_mn__, il, lwork_cungbr_p_nn__,
|
integer mnthr1, mnthr2, ie, lwork_cungbr_p_mn__, il, lwork_cungbr_p_nn__,
|
||||||
lwork_cungbr_q_mn__, lwork_cungbr_q_mm__;
|
lwork_cungbr_q_mn__, lwork_cungbr_q_mm__;
|
||||||
extern /* Subroutine */ int cgebrd_(integer *, integer *, complex *,
|
extern /* Subroutine */ void cgebrd_(integer *, integer *, complex *,
|
||||||
integer *, real *, real *, complex *, complex *, complex *,
|
integer *, real *, real *, complex *, complex *, complex *,
|
||||||
integer *, integer *);
|
integer *, integer *);
|
||||||
integer ir;
|
integer ir;
|
||||||
extern real clange_(char *, integer *, integer *, complex *, integer *,
|
extern real clange_(char *, integer *, integer *, complex *, integer *,
|
||||||
real *);
|
real *);
|
||||||
integer iu;
|
integer iu;
|
||||||
extern /* Subroutine */ int cgelqf_(integer *, integer *, complex *,
|
extern /* Subroutine */ void cgelqf_(integer *, integer *, complex *,
|
||||||
integer *, complex *, complex *, integer *, integer *), clacrm_(
|
integer *, complex *, complex *, integer *, integer *), clacrm_(
|
||||||
integer *, integer *, complex *, integer *, real *, integer *,
|
integer *, integer *, complex *, integer *, real *, integer *,
|
||||||
complex *, integer *, real *), clarcm_(integer *, integer *, real
|
complex *, integer *, real *), clarcm_(integer *, integer *, real
|
||||||
|
@ -790,13 +790,15 @@ f"> */
|
||||||
integer *, real *, integer *, real *, integer *, integer *), cgeqrf_(integer *, integer *, complex *, integer
|
integer *, real *, integer *, real *, integer *, integer *), cgeqrf_(integer *, integer *, complex *, integer
|
||||||
*, complex *, complex *, integer *, integer *);
|
*, complex *, complex *, integer *, integer *);
|
||||||
extern real slamch_(char *);
|
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 *, complex *, integer *), claset_(char *,
|
||||||
integer *, integer *, complex *, complex *, complex *, integer *), xerbla_(char *, integer *, ftnlen), cungbr_(char *,
|
integer *, integer *, complex *, complex *, complex *, integer *);
|
||||||
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
|
extern void cungbr_(char *,
|
||||||
integer *, integer *, integer *, complex *, integer *, complex *,
|
integer *, integer *, integer *, complex *, integer *, complex *,
|
||||||
complex *, integer *, integer *);
|
complex *, integer *, integer *);
|
||||||
real bignum;
|
real bignum;
|
||||||
extern /* Subroutine */ int slascl_(char *, integer *, integer *, real *,
|
extern /* Subroutine */ void slascl_(char *, integer *, integer *, real *,
|
||||||
real *, integer *, integer *, real *, integer *, integer *), cunmbr_(char *, char *, char *, integer *, integer *,
|
real *, integer *, integer *, real *, integer *, integer *), cunmbr_(char *, char *, char *, integer *, integer *,
|
||||||
integer *, complex *, integer *, complex *, complex *, integer *,
|
integer *, complex *, integer *, complex *, complex *, integer *,
|
||||||
complex *, integer *, integer *), cunglq_(
|
complex *, integer *, integer *), cunglq_(
|
||||||
|
@ -804,7 +806,7 @@ f"> */
|
||||||
complex *, integer *, integer *);
|
complex *, integer *, integer *);
|
||||||
extern logical sisnan_(real *);
|
extern logical sisnan_(real *);
|
||||||
integer ldwrkl;
|
integer ldwrkl;
|
||||||
extern /* Subroutine */ int cungqr_(integer *, integer *, integer *,
|
extern /* Subroutine */ void cungqr_(integer *, integer *, integer *,
|
||||||
complex *, integer *, complex *, complex *, integer *, integer *);
|
complex *, integer *, complex *, complex *, integer *, integer *);
|
||||||
integer ldwrkr, minwrk, ldwrku, maxwrk, ldwkvt;
|
integer ldwrkr, minwrk, ldwrku, maxwrk, ldwkvt;
|
||||||
real smlnum;
|
real smlnum;
|
||||||
|
@ -1267,15 +1269,15 @@ f"> */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGESDD", &i__1, (ftnlen)6);
|
xerbla_("CGESDD", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
} else if (lquery) {
|
} else if (lquery) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Quick return if possible */
|
/* Quick return if possible */
|
||||||
|
|
||||||
if (*m == 0 || *n == 0) {
|
if (*m == 0 || *n == 0) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Get machine constants */
|
/* Get machine constants */
|
||||||
|
@ -1289,7 +1291,7 @@ f"> */
|
||||||
anrm = clange_("M", m, n, &a[a_offset], lda, dum);
|
anrm = clange_("M", m, n, &a[a_offset], lda, dum);
|
||||||
if (sisnan_(&anrm)) {
|
if (sisnan_(&anrm)) {
|
||||||
*info = -4;
|
*info = -4;
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
iscl = 0;
|
iscl = 0;
|
||||||
if (anrm > 0.f && anrm < smlnum) {
|
if (anrm > 0.f && anrm < smlnum) {
|
||||||
|
@ -2951,7 +2953,7 @@ f"> */
|
||||||
|
|
||||||
work[1].r = (real) maxwrk, work[1].i = 0.f;
|
work[1].r = (real) maxwrk, work[1].i = 0.f;
|
||||||
|
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGESDD */
|
/* End of CGESDD */
|
||||||
|
|
||||||
|
|
|
@ -639,8 +639,10 @@ iver) </b> */
|
||||||
integer a_dim1, a_offset, b_dim1, b_offset, i__1;
|
integer a_dim1, a_offset, b_dim1, b_offset, i__1;
|
||||||
|
|
||||||
/* Local variables */
|
/* Local variables */
|
||||||
extern /* Subroutine */ int cgetrf_(integer *, integer *, complex *,
|
extern /* Subroutine */ void cgetrf_(integer *, integer *, complex *,
|
||||||
integer *, integer *, integer *), xerbla_(char *, integer *, ftnlen), cgetrs_(char *, integer *, integer *, complex *, integer
|
integer *, integer *, integer *);
|
||||||
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
|
extern void cgetrs_(char *, integer *, integer *, complex *, integer
|
||||||
*, integer *, complex *, integer *, integer *);
|
*, integer *, complex *, integer *, integer *);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -732,7 +732,7 @@ f"> */
|
||||||
/* > \ingroup complexGEsing */
|
/* > \ingroup complexGEsing */
|
||||||
|
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgesvd_(char *jobu, char *jobvt, integer *m, integer *n,
|
/* Subroutine */ void cgesvd_(char *jobu, char *jobvt, integer *m, integer *n,
|
||||||
complex *a, integer *lda, real *s, complex *u, integer *ldu, complex *
|
complex *a, integer *lda, real *s, complex *u, integer *ldu, complex *
|
||||||
vt, integer *ldvt, complex *work, integer *lwork, real *rwork,
|
vt, integer *ldvt, complex *work, integer *lwork, real *rwork,
|
||||||
integer *info)
|
integer *info)
|
||||||
|
@ -749,40 +749,41 @@ f"> */
|
||||||
real anrm;
|
real anrm;
|
||||||
integer ierr, itau, ncvt, nrvt, lwork_cgebrd__, lwork_cgelqf__,
|
integer ierr, itau, ncvt, nrvt, lwork_cgebrd__, lwork_cgelqf__,
|
||||||
lwork_cgeqrf__, i__;
|
lwork_cgeqrf__, i__;
|
||||||
extern /* Subroutine */ int cgemm_(char *, char *, integer *, integer *,
|
extern /* Subroutine */ void cgemm_(char *, char *, integer *, integer *,
|
||||||
integer *, complex *, complex *, integer *, complex *, integer *,
|
integer *, complex *, complex *, integer *, complex *, integer *,
|
||||||
complex *, complex *, integer *);
|
complex *, complex *, integer *);
|
||||||
extern logical lsame_(char *, char *);
|
extern logical lsame_(char *, char *);
|
||||||
integer chunk, minmn, wrkbl, itaup, itauq, mnthr, iwork;
|
integer chunk, minmn, wrkbl, itaup, itauq, mnthr, iwork;
|
||||||
logical wntua, wntva, wntun, wntuo, wntvn, wntvo, wntus, wntvs;
|
logical wntua, wntva, wntun, wntuo, wntvn, wntvo, wntus, wntvs;
|
||||||
integer ie;
|
integer ie;
|
||||||
extern /* Subroutine */ int cgebrd_(integer *, integer *, complex *,
|
extern /* Subroutine */ void cgebrd_(integer *, integer *, complex *,
|
||||||
integer *, real *, real *, complex *, complex *, complex *,
|
integer *, real *, real *, complex *, complex *, complex *,
|
||||||
integer *, integer *);
|
integer *, integer *);
|
||||||
extern real clange_(char *, integer *, integer *, complex *, integer *,
|
extern real clange_(char *, integer *, integer *, complex *, integer *,
|
||||||
real *);
|
real *);
|
||||||
integer ir, iu;
|
integer ir, iu;
|
||||||
extern /* Subroutine */ int cgelqf_(integer *, integer *, complex *,
|
extern /* Subroutine */ void cgelqf_(integer *, integer *, complex *,
|
||||||
integer *, complex *, complex *, integer *, integer *), clascl_(
|
integer *, complex *, complex *, integer *, integer *), clascl_(
|
||||||
char *, integer *, integer *, real *, real *, integer *, integer *
|
char *, integer *, integer *, real *, real *, integer *, integer *
|
||||||
, complex *, integer *, integer *), cgeqrf_(integer *,
|
, complex *, integer *, integer *), cgeqrf_(integer *,
|
||||||
integer *, complex *, integer *, complex *, complex *, integer *,
|
integer *, complex *, integer *, complex *, complex *, integer *,
|
||||||
integer *);
|
integer *);
|
||||||
extern real slamch_(char *);
|
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 *, complex *, integer *), claset_(char *,
|
||||||
integer *, integer *, complex *, complex *, complex *, integer *), cbdsqr_(char *, integer *, integer *, integer *, integer
|
integer *, integer *, complex *, complex *, complex *, integer *), cbdsqr_(char *, integer *, integer *, integer *, integer
|
||||||
*, real *, real *, complex *, integer *, complex *, integer *,
|
*, real *, real *, complex *, integer *, complex *, integer *,
|
||||||
complex *, integer *, real *, integer *), xerbla_(char *,
|
complex *, integer *, real *, integer *);
|
||||||
integer *, ftnlen), cungbr_(char *, integer *, integer *, integer
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
|
extern void cungbr_(char *, integer *, integer *, integer
|
||||||
*, complex *, integer *, complex *, complex *, integer *, integer
|
*, complex *, integer *, complex *, complex *, integer *, integer
|
||||||
*);
|
*);
|
||||||
real bignum;
|
real bignum;
|
||||||
extern /* Subroutine */ int slascl_(char *, integer *, integer *, real *,
|
extern /* Subroutine */ void slascl_(char *, integer *, integer *, real *,
|
||||||
real *, integer *, integer *, real *, integer *, integer *);
|
real *, integer *, integer *, real *, integer *, integer *);
|
||||||
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
|
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
|
||||||
integer *, integer *, ftnlen, ftnlen);
|
integer *, integer *, ftnlen, ftnlen);
|
||||||
extern /* Subroutine */ int cunmbr_(char *, char *, char *, integer *,
|
extern /* Subroutine */ void cunmbr_(char *, char *, char *, integer *,
|
||||||
integer *, integer *, complex *, integer *, complex *, complex *,
|
integer *, integer *, complex *, integer *, complex *, complex *,
|
||||||
integer *, complex *, integer *, integer *), cunglq_(integer *, integer *, integer *, complex *,
|
integer *, complex *, integer *, integer *), cunglq_(integer *, integer *, integer *, complex *,
|
||||||
integer *, complex *, complex *, integer *, integer *), cungqr_(
|
integer *, complex *, complex *, integer *, integer *), cungqr_(
|
||||||
|
@ -1334,15 +1335,15 @@ f"> */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__2 = -(*info);
|
i__2 = -(*info);
|
||||||
xerbla_("CGESVD", &i__2, (ftnlen)6);
|
xerbla_("CGESVD", &i__2, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
} else if (lquery) {
|
} else if (lquery) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Quick return if possible */
|
/* Quick return if possible */
|
||||||
|
|
||||||
if (*m == 0 || *n == 0) {
|
if (*m == 0 || *n == 0) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Get machine constants */
|
/* Get machine constants */
|
||||||
|
@ -4718,7 +4719,7 @@ f"> */
|
||||||
|
|
||||||
work[1].r = (real) maxwrk, work[1].i = 0.f;
|
work[1].r = (real) maxwrk, work[1].i = 0.f;
|
||||||
|
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGESVD */
|
/* End of CGESVD */
|
||||||
|
|
||||||
|
|
|
@ -932,7 +932,7 @@ static logical c_false = FALSE_;
|
||||||
/* > \ingroup complexGEsing */
|
/* > \ingroup complexGEsing */
|
||||||
|
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgesvdq_(char *joba, char *jobp, char *jobr, char *jobu,
|
/* Subroutine */ void cgesvdq_(char *joba, char *jobp, char *jobr, char *jobu,
|
||||||
char *jobv, integer *m, integer *n, complex *a, integer *lda, real *s,
|
char *jobv, integer *m, integer *n, complex *a, integer *lda, real *s,
|
||||||
complex *u, integer *ldu, complex *v, integer *ldv, integer *numrank,
|
complex *u, integer *ldu, complex *v, integer *ldv, integer *numrank,
|
||||||
integer *iwork, integer *liwork, complex *cwork, integer *lcwork,
|
integer *iwork, integer *liwork, complex *cwork, integer *lcwork,
|
||||||
|
@ -965,7 +965,7 @@ static logical c_false = FALSE_;
|
||||||
logical dntwu, dntwv, wntuf, wntva;
|
logical dntwu, dntwv, wntuf, wntva;
|
||||||
integer lwunq;
|
integer lwunq;
|
||||||
logical wntur, wntus, wntvr;
|
logical wntur, wntus, wntvr;
|
||||||
extern /* Subroutine */ int cgeqp3_(integer *, integer *, complex *,
|
extern /* Subroutine */ void cgeqp3_(integer *, integer *, complex *,
|
||||||
integer *, integer *, complex *, complex *, integer *, real *,
|
integer *, integer *, complex *, complex *, integer *, real *,
|
||||||
integer *);
|
integer *);
|
||||||
extern real scnrm2_(integer *, complex *, integer *);
|
extern real scnrm2_(integer *, complex *, integer *);
|
||||||
|
@ -973,21 +973,22 @@ static logical c_false = FALSE_;
|
||||||
extern real clange_(char *, integer *, integer *, complex *, integer *,
|
extern real clange_(char *, integer *, integer *, complex *, integer *,
|
||||||
real *);
|
real *);
|
||||||
integer nr;
|
integer nr;
|
||||||
extern /* Subroutine */ int cgelqf_(integer *, integer *, complex *,
|
extern /* Subroutine */ void cgelqf_(integer *, integer *, complex *,
|
||||||
integer *, complex *, complex *, integer *, integer *), clascl_(
|
integer *, complex *, complex *, integer *, integer *), clascl_(
|
||||||
char *, integer *, integer *, real *, real *, integer *, integer *
|
char *, integer *, integer *, real *, real *, integer *, integer *
|
||||||
, complex *, integer *, integer *);
|
, complex *, integer *, integer *);
|
||||||
real sconda;
|
real sconda;
|
||||||
extern /* Subroutine */ int cgeqrf_(integer *, integer *, complex *,
|
extern /* Subroutine */ void cgeqrf_(integer *, integer *, complex *,
|
||||||
integer *, complex *, complex *, integer *, integer *), csscal_(
|
integer *, complex *, complex *, integer *, integer *), csscal_(
|
||||||
integer *, real *, complex *, integer *);
|
integer *, real *, complex *, integer *);
|
||||||
extern real slamch_(char *);
|
extern real slamch_(char *);
|
||||||
extern /* Subroutine */ int cgesvd_(char *, char *, integer *, integer *,
|
extern /* Subroutine */ void cgesvd_(char *, char *, integer *, integer *,
|
||||||
complex *, integer *, real *, complex *, integer *, complex *,
|
complex *, integer *, real *, complex *, integer *, complex *,
|
||||||
integer *, complex *, integer *, real *, integer *), clacpy_(char *, integer *, integer *, complex *, integer
|
integer *, complex *, integer *, real *, integer *), clacpy_(char *, integer *, integer *, complex *, integer
|
||||||
*, complex *, integer *), claset_(char *, integer *,
|
*, complex *, integer *), claset_(char *, integer *,
|
||||||
integer *, complex *, complex *, complex *, integer *),
|
integer *, complex *, complex *, complex *, integer *);
|
||||||
xerbla_(char *, integer *, ftnlen), clapmt_(logical *, integer *,
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
|
extern void clapmt_(logical *, integer *,
|
||||||
integer *, complex *, integer *, integer *), slascl_(char *,
|
integer *, complex *, integer *, integer *), slascl_(char *,
|
||||||
integer *, integer *, real *, real *, integer *, integer *, real *
|
integer *, integer *, real *, real *, integer *, integer *, real *
|
||||||
, integer *, integer *), cpocon_(char *, integer *,
|
, integer *, integer *), cpocon_(char *, integer *,
|
||||||
|
@ -995,10 +996,11 @@ static logical c_false = FALSE_;
|
||||||
);
|
);
|
||||||
extern integer isamax_(integer *, real *, integer *);
|
extern integer isamax_(integer *, real *, integer *);
|
||||||
extern /* Subroutine */ int claswp_(integer *, complex *, integer *,
|
extern /* Subroutine */ int claswp_(integer *, complex *, integer *,
|
||||||
integer *, integer *, integer *, integer *), slaset_(char *,
|
integer *, integer *, integer *, integer *);
|
||||||
|
extern void slaset_(char *,
|
||||||
integer *, integer *, real *, real *, real *, integer *);
|
integer *, integer *, real *, real *, real *, integer *);
|
||||||
complex cdummy[1];
|
complex cdummy[1];
|
||||||
extern /* Subroutine */ int cunmlq_(char *, char *, integer *, integer *,
|
extern /* Subroutine */ void cunmlq_(char *, char *, integer *, integer *,
|
||||||
integer *, complex *, integer *, complex *, complex *, integer *,
|
integer *, complex *, integer *, complex *, complex *, integer *,
|
||||||
complex *, integer *, integer *), cunmqr_(char *,
|
complex *, integer *, integer *), cunmqr_(char *,
|
||||||
char *, integer *, integer *, integer *, complex *, integer *,
|
char *, integer *, integer *, integer *, complex *, integer *,
|
||||||
|
@ -1380,7 +1382,7 @@ static logical c_false = FALSE_;
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGESVDQ", &i__1, (ftnlen)7);
|
xerbla_("CGESVDQ", &i__1, (ftnlen)7);
|
||||||
return 0;
|
return;
|
||||||
} else if (lquery) {
|
} else if (lquery) {
|
||||||
|
|
||||||
/* Return optimal workspace */
|
/* Return optimal workspace */
|
||||||
|
@ -1389,13 +1391,13 @@ static logical c_false = FALSE_;
|
||||||
cwork[1].r = (real) optwrk, cwork[1].i = 0.f;
|
cwork[1].r = (real) optwrk, cwork[1].i = 0.f;
|
||||||
cwork[2].r = (real) minwrk, cwork[2].i = 0.f;
|
cwork[2].r = (real) minwrk, cwork[2].i = 0.f;
|
||||||
rwork[1] = (real) rminwrk;
|
rwork[1] = (real) rminwrk;
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Quick return if the matrix is void. */
|
/* Quick return if the matrix is void. */
|
||||||
|
|
||||||
if (*m == 0 || *n == 0) {
|
if (*m == 0 || *n == 0) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
big = slamch_("O");
|
big = slamch_("O");
|
||||||
|
@ -1412,7 +1414,7 @@ static logical c_false = FALSE_;
|
||||||
*info = -8;
|
*info = -8;
|
||||||
i__2 = -(*info);
|
i__2 = -(*info);
|
||||||
xerbla_("CGESVDQ", &i__2, (ftnlen)7);
|
xerbla_("CGESVDQ", &i__2, (ftnlen)7);
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
/* L1904: */
|
/* L1904: */
|
||||||
}
|
}
|
||||||
|
@ -1466,7 +1468,7 @@ static logical c_false = FALSE_;
|
||||||
rwork[1] = -1.f;
|
rwork[1] = -1.f;
|
||||||
}
|
}
|
||||||
rwork[2] = -1.f;
|
rwork[2] = -1.f;
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (rwork[1] > big / sqrt((real) (*m))) {
|
if (rwork[1] > big / sqrt((real) (*m))) {
|
||||||
|
@ -1490,7 +1492,7 @@ static logical c_false = FALSE_;
|
||||||
*info = -8;
|
*info = -8;
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGESVDQ", &i__1, (ftnlen)7);
|
xerbla_("CGESVDQ", &i__1, (ftnlen)7);
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
if (rtmp > big / sqrt((real) (*m))) {
|
if (rtmp > big / sqrt((real) (*m))) {
|
||||||
/* matrix by 1/sqrt(M) if too large entry detected */
|
/* matrix by 1/sqrt(M) if too large entry detected */
|
||||||
|
@ -2317,7 +2319,7 @@ L4002:
|
||||||
/* full row rank triangular (trapezoidal) factor of A. */
|
/* full row rank triangular (trapezoidal) factor of A. */
|
||||||
*numrank = nr;
|
*numrank = nr;
|
||||||
|
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGESVDQ */
|
/* End of CGESVDQ */
|
||||||
|
|
||||||
|
|
|
@ -786,7 +786,7 @@ static integer c_n1 = -1;
|
||||||
/* > \ingroup complexGEsing */
|
/* > \ingroup complexGEsing */
|
||||||
|
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgesvdx_(char *jobu, char *jobvt, char *range, integer *
|
/* Subroutine */ void cgesvdx_(char *jobu, char *jobvt, char *range, integer *
|
||||||
m, integer *n, complex *a, integer *lda, real *vl, real *vu, integer *
|
m, integer *n, complex *a, integer *lda, real *vl, real *vu, integer *
|
||||||
il, integer *iu, integer *ns, real *s, complex *u, integer *ldu,
|
il, integer *iu, integer *ns, real *s, complex *u, integer *ldu,
|
||||||
complex *vt, integer *ldvt, complex *work, integer *lwork, real *
|
complex *vt, integer *ldvt, complex *work, integer *lwork, real *
|
||||||
|
@ -813,43 +813,44 @@ static integer c_n1 = -1;
|
||||||
integer iltgk, itemp, minmn, itaup, itauq, iutgk, itgkz, mnthr;
|
integer iltgk, itemp, minmn, itaup, itauq, iutgk, itgkz, mnthr;
|
||||||
logical wantu;
|
logical wantu;
|
||||||
integer id, ie;
|
integer id, ie;
|
||||||
extern /* Subroutine */ int cgebrd_(integer *, integer *, complex *,
|
extern /* Subroutine */ void cgebrd_(integer *, integer *, complex *,
|
||||||
integer *, real *, real *, complex *, complex *, complex *,
|
integer *, real *, real *, complex *, complex *, complex *,
|
||||||
integer *, integer *);
|
integer *, integer *);
|
||||||
extern real clange_(char *, integer *, integer *, complex *, integer *,
|
extern real clange_(char *, integer *, integer *, complex *, integer *,
|
||||||
real *);
|
real *);
|
||||||
extern /* Subroutine */ int cgelqf_(integer *, integer *, complex *,
|
extern /* Subroutine */ void cgelqf_(integer *, integer *, complex *,
|
||||||
integer *, complex *, complex *, integer *, integer *), clascl_(
|
integer *, complex *, complex *, integer *, integer *), clascl_(
|
||||||
char *, integer *, integer *, real *, real *, integer *, integer *
|
char *, integer *, integer *, real *, real *, integer *, integer *
|
||||||
, complex *, integer *, integer *), cgeqrf_(integer *,
|
, complex *, integer *, integer *), cgeqrf_(integer *,
|
||||||
integer *, complex *, integer *, complex *, complex *, integer *,
|
integer *, complex *, integer *, complex *, complex *, integer *,
|
||||||
integer *);
|
integer *);
|
||||||
extern real slamch_(char *);
|
extern real slamch_(char *);
|
||||||
extern /* Subroutine */ int claset_(char *, integer *, integer *, complex
|
extern /* Subroutine */ void claset_(char *, integer *, integer *, complex
|
||||||
*, complex *, complex *, integer *), clacpy_(char *,
|
*, complex *, complex *, integer *), clacpy_(char *,
|
||||||
integer *, integer *, complex *, integer *, complex *, integer *), xerbla_(char *, integer *, ftnlen);
|
integer *, integer *, complex *, integer *, complex *, integer *);
|
||||||
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
|
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
|
||||||
integer *, integer *, ftnlen, ftnlen);
|
integer *, integer *, ftnlen, ftnlen);
|
||||||
real bignum;
|
real bignum;
|
||||||
extern /* Subroutine */ int slascl_(char *, integer *, integer *, real *,
|
extern /* Subroutine */ void slascl_(char *, integer *, integer *, real *,
|
||||||
real *, integer *, integer *, real *, integer *, integer *);
|
real *, integer *, integer *, real *, integer *, integer *);
|
||||||
real abstol;
|
real abstol;
|
||||||
extern /* Subroutine */ int cunmbr_(char *, char *, char *, integer *,
|
extern /* Subroutine */ void cunmbr_(char *, char *, char *, integer *,
|
||||||
integer *, integer *, complex *, integer *, complex *, complex *,
|
integer *, integer *, complex *, integer *, complex *, complex *,
|
||||||
integer *, complex *, integer *, integer *);
|
integer *, complex *, integer *, integer *);
|
||||||
char rngtgk[1];
|
char rngtgk[1];
|
||||||
extern /* Subroutine */ int cunmlq_(char *, char *, integer *, integer *,
|
extern /* Subroutine */ void cunmlq_(char *, char *, integer *, integer *,
|
||||||
integer *, complex *, integer *, complex *, complex *, integer *,
|
integer *, complex *, integer *, complex *, complex *, integer *,
|
||||||
complex *, integer *, integer *);
|
complex *, integer *, integer *);
|
||||||
integer itempr;
|
integer itempr;
|
||||||
extern /* Subroutine */ int cunmqr_(char *, char *, integer *, integer *,
|
extern /* Subroutine */ void cunmqr_(char *, char *, integer *, integer *,
|
||||||
integer *, complex *, integer *, complex *, complex *, integer *,
|
integer *, complex *, integer *, complex *, complex *, integer *,
|
||||||
complex *, integer *, integer *);
|
complex *, integer *, integer *);
|
||||||
integer minwrk, maxwrk;
|
integer minwrk, maxwrk;
|
||||||
real smlnum;
|
real smlnum;
|
||||||
logical lquery, wantvt;
|
logical lquery, wantvt;
|
||||||
real dum[1], eps;
|
real dum[1], eps;
|
||||||
extern /* Subroutine */ int sbdsvdx_(char *, char *, char *, integer *,
|
extern /* Subroutine */ void sbdsvdx_(char *, char *, char *, integer *,
|
||||||
real *, real *, real *, real *, integer *, integer *, integer *,
|
real *, real *, real *, real *, integer *, integer *, integer *,
|
||||||
real *, real *, integer *, real *, integer *, integer *);
|
real *, real *, integer *, real *, integer *, integer *);
|
||||||
|
|
||||||
|
@ -1049,15 +1050,15 @@ static integer c_n1 = -1;
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__2 = -(*info);
|
i__2 = -(*info);
|
||||||
xerbla_("CGESVDX", &i__2, (ftnlen)7);
|
xerbla_("CGESVDX", &i__2, (ftnlen)7);
|
||||||
return 0;
|
return;
|
||||||
} else if (lquery) {
|
} else if (lquery) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Quick return if possible */
|
/* Quick return if possible */
|
||||||
|
|
||||||
if (*m == 0 || *n == 0) {
|
if (*m == 0 || *n == 0) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Set singular values indices accord to RANGE='A'. */
|
/* Set singular values indices accord to RANGE='A'. */
|
||||||
|
@ -1501,7 +1502,7 @@ static integer c_n1 = -1;
|
||||||
q__1.r = r__1, q__1.i = 0.f;
|
q__1.r = r__1, q__1.i = 0.f;
|
||||||
work[1].r = q__1.r, work[1].i = q__1.i;
|
work[1].r = q__1.r, work[1].i = q__1.i;
|
||||||
|
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGESVDX */
|
/* End of CGESVDX */
|
||||||
|
|
||||||
|
|
|
@ -868,7 +868,7 @@ f"> */
|
||||||
/* > \endverbatim */
|
/* > \endverbatim */
|
||||||
/* > */
|
/* > */
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgesvj_(char *joba, char *jobu, char *jobv, integer *m,
|
/* Subroutine */ void cgesvj_(char *joba, char *jobu, char *jobv, integer *m,
|
||||||
integer *n, complex *a, integer *lda, real *sva, integer *mv, complex
|
integer *n, complex *a, integer *lda, real *sva, integer *mv, complex
|
||||||
*v, integer *ldv, complex *cwork, integer *lwork, real *rwork,
|
*v, integer *ldv, complex *cwork, integer *lwork, real *rwork,
|
||||||
integer *lrwork, integer *info)
|
integer *lrwork, integer *info)
|
||||||
|
@ -885,7 +885,7 @@ f"> */
|
||||||
real aaqq, ctol;
|
real aaqq, ctol;
|
||||||
integer ierr;
|
integer ierr;
|
||||||
real bigtheta;
|
real bigtheta;
|
||||||
extern /* Subroutine */ int crot_(integer *, complex *, integer *,
|
extern /* Subroutine */ void crot_(integer *, complex *, integer *,
|
||||||
complex *, integer *, real *, complex *);
|
complex *, integer *, real *, complex *);
|
||||||
complex ompq;
|
complex ompq;
|
||||||
integer pskipped;
|
integer pskipped;
|
||||||
|
@ -898,16 +898,16 @@ f"> */
|
||||||
extern logical lsame_(char *, char *);
|
extern logical lsame_(char *, char *);
|
||||||
real theta, small, sfmin;
|
real theta, small, sfmin;
|
||||||
logical lsvec;
|
logical lsvec;
|
||||||
extern /* Subroutine */ int ccopy_(integer *, complex *, integer *,
|
extern /* Subroutine */ void ccopy_(integer *, complex *, integer *,
|
||||||
complex *, integer *), cswap_(integer *, complex *, integer *,
|
complex *, integer *), cswap_(integer *, complex *, integer *,
|
||||||
complex *, integer *);
|
complex *, integer *);
|
||||||
real epsln;
|
real epsln;
|
||||||
logical applv, rsvec, uctol;
|
logical applv, rsvec, uctol;
|
||||||
extern /* Subroutine */ int caxpy_(integer *, complex *, complex *,
|
extern /* Subroutine */ void caxpy_(integer *, complex *, complex *,
|
||||||
integer *, complex *, integer *);
|
integer *, complex *, integer *);
|
||||||
logical lower, upper, rotok;
|
logical lower, upper, rotok;
|
||||||
integer n2, n4;
|
integer n2, n4;
|
||||||
extern /* Subroutine */ int cgsvj0_(char *, integer *, integer *, complex
|
extern /* Subroutine */ void cgsvj0_(char *, integer *, integer *, complex
|
||||||
*, integer *, complex *, real *, integer *, complex *, integer *,
|
*, integer *, complex *, real *, integer *, complex *, integer *,
|
||||||
real *, real *, real *, integer *, complex *, integer *, integer *
|
real *, real *, real *, integer *, complex *, integer *, integer *
|
||||||
), cgsvj1_(char *, integer *, integer *, integer *,
|
), cgsvj1_(char *, integer *, integer *, integer *,
|
||||||
|
@ -918,18 +918,19 @@ f"> */
|
||||||
extern real scnrm2_(integer *, complex *, integer *);
|
extern real scnrm2_(integer *, complex *, integer *);
|
||||||
integer n34;
|
integer n34;
|
||||||
real cs, sn;
|
real cs, sn;
|
||||||
extern /* Subroutine */ int clascl_(char *, integer *, integer *, real *,
|
extern /* Subroutine */ void clascl_(char *, integer *, integer *, real *,
|
||||||
real *, integer *, integer *, complex *, integer *, integer *);
|
real *, integer *, integer *, complex *, integer *, integer *);
|
||||||
extern real slamch_(char *);
|
extern real slamch_(char *);
|
||||||
extern /* Subroutine */ int csscal_(integer *, real *, complex *, integer
|
extern /* Subroutine */ void csscal_(integer *, real *, complex *, integer
|
||||||
*), claset_(char *, integer *, integer *, complex *, complex *,
|
*), claset_(char *, integer *, integer *, complex *, complex *,
|
||||||
complex *, integer *), xerbla_(char *, integer *, ftnlen);
|
complex *, integer *);
|
||||||
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
integer ijblsk, swband;
|
integer ijblsk, swband;
|
||||||
extern integer isamax_(integer *, real *, integer *);
|
extern integer isamax_(integer *, real *, integer *);
|
||||||
extern /* Subroutine */ int slascl_(char *, integer *, integer *, real *,
|
extern /* Subroutine */ void slascl_(char *, integer *, integer *, real *,
|
||||||
real *, integer *, integer *, real *, integer *, integer *);
|
real *, integer *, integer *, real *, integer *, integer *);
|
||||||
integer blskip;
|
integer blskip;
|
||||||
extern /* Subroutine */ int classq_(integer *, complex *, integer *, real
|
extern /* Subroutine */ void classq_(integer *, complex *, integer *, real
|
||||||
*, real *);
|
*, real *);
|
||||||
real mxaapq, thsign, mxsinj;
|
real mxaapq, thsign, mxsinj;
|
||||||
integer ir1, emptsw;
|
integer ir1, emptsw;
|
||||||
|
@ -1014,18 +1015,18 @@ f"> */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGESVJ", &i__1, (ftnlen)6);
|
xerbla_("CGESVJ", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
} else if (lquery) {
|
} else if (lquery) {
|
||||||
i__1 = *m + *n;
|
i__1 = *m + *n;
|
||||||
cwork[1].r = (real) i__1, cwork[1].i = 0.f;
|
cwork[1].r = (real) i__1, cwork[1].i = 0.f;
|
||||||
rwork[1] = (real) f2cmax(*n,6);
|
rwork[1] = (real) f2cmax(*n,6);
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* #:) Quick return for void matrix */
|
/* #:) Quick return for void matrix */
|
||||||
|
|
||||||
if (*m == 0 || *n == 0) {
|
if (*m == 0 || *n == 0) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Set numerical parameters */
|
/* Set numerical parameters */
|
||||||
|
@ -1067,7 +1068,7 @@ f"> */
|
||||||
*info = -4;
|
*info = -4;
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGESVJ", &i__1, (ftnlen)6);
|
xerbla_("CGESVJ", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Initialize the right singular vector matrix. */
|
/* Initialize the right singular vector matrix. */
|
||||||
|
@ -1105,7 +1106,7 @@ f"> */
|
||||||
*info = -6;
|
*info = -6;
|
||||||
i__2 = -(*info);
|
i__2 = -(*info);
|
||||||
xerbla_("CGESVJ", &i__2, (ftnlen)6);
|
xerbla_("CGESVJ", &i__2, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
aaqq = sqrt(aaqq);
|
aaqq = sqrt(aaqq);
|
||||||
if (aapp < big / aaqq && noscale) {
|
if (aapp < big / aaqq && noscale) {
|
||||||
|
@ -1135,7 +1136,7 @@ f"> */
|
||||||
*info = -6;
|
*info = -6;
|
||||||
i__2 = -(*info);
|
i__2 = -(*info);
|
||||||
xerbla_("CGESVJ", &i__2, (ftnlen)6);
|
xerbla_("CGESVJ", &i__2, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
aaqq = sqrt(aaqq);
|
aaqq = sqrt(aaqq);
|
||||||
if (aapp < big / aaqq && noscale) {
|
if (aapp < big / aaqq && noscale) {
|
||||||
|
@ -1165,7 +1166,7 @@ f"> */
|
||||||
*info = -6;
|
*info = -6;
|
||||||
i__2 = -(*info);
|
i__2 = -(*info);
|
||||||
xerbla_("CGESVJ", &i__2, (ftnlen)6);
|
xerbla_("CGESVJ", &i__2, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
aaqq = sqrt(aaqq);
|
aaqq = sqrt(aaqq);
|
||||||
if (aapp < big / aaqq && noscale) {
|
if (aapp < big / aaqq && noscale) {
|
||||||
|
@ -1221,7 +1222,7 @@ f"> */
|
||||||
rwork[4] = 0.f;
|
rwork[4] = 0.f;
|
||||||
rwork[5] = 0.f;
|
rwork[5] = 0.f;
|
||||||
rwork[6] = 0.f;
|
rwork[6] = 0.f;
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* #:) Quick return for one-column matrix */
|
/* #:) Quick return for one-column matrix */
|
||||||
|
@ -1241,7 +1242,7 @@ f"> */
|
||||||
rwork[4] = 0.f;
|
rwork[4] = 0.f;
|
||||||
rwork[5] = 0.f;
|
rwork[5] = 0.f;
|
||||||
rwork[6] = 0.f;
|
rwork[6] = 0.f;
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Protect small singular values from underflow, and try to */
|
/* Protect small singular values from underflow, and try to */
|
||||||
|
@ -2267,6 +2268,6 @@ L1995:
|
||||||
/* MXSINJ is the largest absolute value of the sines of Jacobi angles */
|
/* MXSINJ is the largest absolute value of the sines of Jacobi angles */
|
||||||
/* in the last sweep */
|
/* in the last sweep */
|
||||||
|
|
||||||
return 0;
|
return;
|
||||||
} /* cgesvj_ */
|
} /* cgesvj_ */
|
||||||
|
|
||||||
|
|
|
@ -857,7 +857,7 @@ f"> */
|
||||||
/* > \ingroup complexGEsolve */
|
/* > \ingroup complexGEsolve */
|
||||||
|
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgesvx_(char *fact, char *trans, integer *n, integer *
|
/* Subroutine */ void cgesvx_(char *fact, char *trans, integer *n, integer *
|
||||||
nrhs, complex *a, integer *lda, complex *af, integer *ldaf, integer *
|
nrhs, complex *a, integer *lda, complex *af, integer *ldaf, integer *
|
||||||
ipiv, char *equed, real *r__, real *c__, complex *b, integer *ldb,
|
ipiv, char *equed, real *r__, real *c__, complex *b, integer *ldb,
|
||||||
complex *x, integer *ldx, real *rcond, real *ferr, real *berr,
|
complex *x, integer *ldx, real *rcond, real *ferr, real *berr,
|
||||||
|
@ -878,22 +878,24 @@ f"> */
|
||||||
logical equil;
|
logical equil;
|
||||||
extern real clange_(char *, integer *, integer *, complex *, integer *,
|
extern real clange_(char *, integer *, integer *, complex *, integer *,
|
||||||
real *);
|
real *);
|
||||||
extern /* Subroutine */ int claqge_(integer *, integer *, complex *,
|
extern /* Subroutine */ void claqge_(integer *, integer *, complex *,
|
||||||
integer *, real *, real *, real *, real *, real *, char *)
|
integer *, real *, real *, real *, real *, real *, char *)
|
||||||
, cgecon_(char *, integer *, complex *, integer *, real *, real *,
|
, cgecon_(char *, integer *, complex *, integer *, real *, real *,
|
||||||
complex *, real *, integer *);
|
complex *, real *, integer *);
|
||||||
real colcnd;
|
real colcnd;
|
||||||
extern real slamch_(char *);
|
extern real slamch_(char *);
|
||||||
extern /* Subroutine */ int cgeequ_(integer *, integer *, complex *,
|
extern /* Subroutine */ void cgeequ_(integer *, integer *, complex *,
|
||||||
integer *, real *, real *, real *, real *, real *, integer *);
|
integer *, real *, real *, real *, real *, real *, integer *);
|
||||||
logical nofact;
|
logical nofact;
|
||||||
extern /* Subroutine */ int cgerfs_(char *, integer *, integer *, complex
|
extern /* Subroutine */ void cgerfs_(char *, integer *, integer *, complex
|
||||||
*, integer *, complex *, integer *, integer *, complex *, integer
|
*, integer *, complex *, integer *, integer *, complex *, integer
|
||||||
*, complex *, integer *, real *, real *, complex *, real *,
|
*, complex *, integer *, real *, real *, complex *, real *,
|
||||||
integer *), cgetrf_(integer *, integer *, complex *,
|
integer *);
|
||||||
integer *, integer *, integer *), clacpy_(char *, integer *,
|
extern int cgetrf_(integer *, integer *, complex *,
|
||||||
integer *, complex *, integer *, complex *, integer *),
|
integer *, integer *, integer *);
|
||||||
xerbla_(char *, integer *, ftnlen);
|
extern void clacpy_(char *, integer *,
|
||||||
|
integer *, complex *, integer *, complex *, integer *);
|
||||||
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
real bignum;
|
real bignum;
|
||||||
extern real clantr_(char *, char *, char *, integer *, integer *, complex
|
extern real clantr_(char *, char *, char *, integer *, integer *, complex
|
||||||
*, integer *, real *);
|
*, integer *, real *);
|
||||||
|
@ -1029,7 +1031,7 @@ f"> */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGESVX", &i__1, (ftnlen)6);
|
xerbla_("CGESVX", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (equil) {
|
if (equil) {
|
||||||
|
@ -1110,7 +1112,7 @@ f"> */
|
||||||
}
|
}
|
||||||
rwork[1] = rpvgrw;
|
rwork[1] = rpvgrw;
|
||||||
*rcond = 0.f;
|
*rcond = 0.f;
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1203,7 +1205,7 @@ f"> */
|
||||||
}
|
}
|
||||||
|
|
||||||
rwork[1] = rpvgrw;
|
rwork[1] = rpvgrw;
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGESVX */
|
/* End of CGESVX */
|
||||||
|
|
||||||
|
|
|
@ -1048,7 +1048,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ
|
||||||
/* > \ingroup complexGEsolve */
|
/* > \ingroup complexGEsolve */
|
||||||
|
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgesvxx_(char *fact, char *trans, integer *n, integer *
|
/* Subroutine */ void cgesvxx_(char *fact, char *trans, integer *n, integer *
|
||||||
nrhs, complex *a, integer *lda, complex *af, integer *ldaf, integer *
|
nrhs, complex *a, integer *lda, complex *af, integer *ldaf, integer *
|
||||||
ipiv, char *equed, real *r__, real *c__, complex *b, integer *ldb,
|
ipiv, char *equed, real *r__, real *c__, complex *b, integer *ldb,
|
||||||
complex *x, integer *ldx, real *rcond, real *rpvgrw, real *berr,
|
complex *x, integer *ldx, real *rcond, real *rpvgrw, real *berr,
|
||||||
|
@ -1070,26 +1070,26 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ
|
||||||
extern logical lsame_(char *, char *);
|
extern logical lsame_(char *, char *);
|
||||||
real rcmin, rcmax;
|
real rcmin, rcmax;
|
||||||
logical equil;
|
logical equil;
|
||||||
extern /* Subroutine */ int claqge_(integer *, integer *, complex *,
|
extern /* Subroutine */ void claqge_(integer *, integer *, complex *,
|
||||||
integer *, real *, real *, real *, real *, real *, char *)
|
integer *, real *, real *, real *, real *, real *, char *)
|
||||||
;
|
;
|
||||||
real colcnd;
|
real colcnd;
|
||||||
extern real slamch_(char *);
|
extern real slamch_(char *);
|
||||||
logical nofact;
|
logical nofact;
|
||||||
extern /* Subroutine */ int cgetrf_(integer *, integer *, complex *,
|
extern /* Subroutine */ void cgetrf_(integer *, integer *, complex *,
|
||||||
integer *, integer *, integer *), clacpy_(char *, integer *,
|
integer *, integer *, integer *), clacpy_(char *, integer *,
|
||||||
integer *, complex *, integer *, complex *, integer *),
|
integer *, complex *, integer *, complex *, integer *);
|
||||||
xerbla_(char *, integer *, ftnlen);
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
real bignum;
|
real bignum;
|
||||||
integer infequ;
|
integer infequ;
|
||||||
logical colequ;
|
logical colequ;
|
||||||
extern /* Subroutine */ int cgetrs_(char *, integer *, integer *, complex
|
extern /* Subroutine */ void cgetrs_(char *, integer *, integer *, complex
|
||||||
*, integer *, integer *, complex *, integer *, integer *);
|
*, integer *, integer *, complex *, integer *, integer *);
|
||||||
real rowcnd;
|
real rowcnd;
|
||||||
logical notran;
|
logical notran;
|
||||||
real smlnum;
|
real smlnum;
|
||||||
logical rowequ;
|
logical rowequ;
|
||||||
extern /* Subroutine */ int clascl2_(integer *, integer *, real *,
|
extern /* Subroutine */ void clascl2_(integer *, integer *, real *,
|
||||||
complex *, integer *), cgeequb_(integer *, integer *, complex *,
|
complex *, integer *), cgeequb_(integer *, integer *, complex *,
|
||||||
integer *, real *, real *, real *, real *, real *, integer *),
|
integer *, real *, real *, real *, real *, real *, integer *),
|
||||||
cgerfsx_(char *, char *, integer *, integer *, complex *, integer
|
cgerfsx_(char *, char *, integer *, integer *, complex *, integer
|
||||||
|
@ -1231,7 +1231,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGESVXX", &i__1, (ftnlen)7);
|
xerbla_("CGESVXX", &i__1, (ftnlen)7);
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (equil) {
|
if (equil) {
|
||||||
|
@ -1297,7 +1297,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ
|
||||||
|
|
||||||
*rpvgrw = cla_gerpvgrw_(n, info, &a[a_offset], lda, &af[
|
*rpvgrw = cla_gerpvgrw_(n, info, &a[a_offset], lda, &af[
|
||||||
af_offset], ldaf);
|
af_offset], ldaf);
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1328,7 +1328,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ
|
||||||
clascl2_(n, nrhs, &r__[1], &x[x_offset], ldx);
|
clascl2_(n, nrhs, &r__[1], &x[x_offset], ldx);
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGESVXX */
|
/* End of CGESVXX */
|
||||||
|
|
||||||
|
|
|
@ -625,7 +625,7 @@ f"> */
|
||||||
/* > Umea University, S-901 87 Umea, Sweden. */
|
/* > Umea University, S-901 87 Umea, Sweden. */
|
||||||
|
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgetc2_(integer *n, complex *a, integer *lda, integer *
|
/* Subroutine */ void cgetc2_(integer *n, complex *a, integer *lda, integer *
|
||||||
ipiv, integer *jpiv, integer *info)
|
ipiv, integer *jpiv, integer *info)
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
|
@ -636,7 +636,7 @@ f"> */
|
||||||
/* Local variables */
|
/* Local variables */
|
||||||
real smin, xmax;
|
real smin, xmax;
|
||||||
integer i__, j;
|
integer i__, j;
|
||||||
extern /* Subroutine */ int cgeru_(integer *, integer *, complex *,
|
extern /* Subroutine */ void cgeru_(integer *, integer *, complex *,
|
||||||
complex *, integer *, complex *, integer *, complex *, integer *),
|
complex *, integer *, complex *, integer *, complex *, integer *),
|
||||||
cswap_(integer *, complex *, integer *, complex *, integer *),
|
cswap_(integer *, complex *, integer *, complex *, integer *),
|
||||||
slabad_(real *, real *);
|
slabad_(real *, real *);
|
||||||
|
@ -668,7 +668,7 @@ f"> */
|
||||||
/* Quick return if possible */
|
/* Quick return if possible */
|
||||||
|
|
||||||
if (*n == 0) {
|
if (*n == 0) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Set constants to control overflow */
|
/* Set constants to control overflow */
|
||||||
|
@ -689,7 +689,7 @@ f"> */
|
||||||
q__1.r = smlnum, q__1.i = 0.f;
|
q__1.r = smlnum, q__1.i = 0.f;
|
||||||
a[i__1].r = q__1.r, a[i__1].i = q__1.i;
|
a[i__1].r = q__1.r, a[i__1].i = q__1.i;
|
||||||
}
|
}
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Factorize A using complete pivoting. */
|
/* Factorize A using complete pivoting. */
|
||||||
|
@ -770,7 +770,7 @@ f"> */
|
||||||
ipiv[*n] = *n;
|
ipiv[*n] = *n;
|
||||||
jpiv[*n] = *n;
|
jpiv[*n] = *n;
|
||||||
|
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGETC2 */
|
/* End of CGETC2 */
|
||||||
|
|
||||||
|
|
|
@ -623,7 +623,7 @@ f"> */
|
||||||
/* > \ingroup complexGEcomputational */
|
/* > \ingroup complexGEcomputational */
|
||||||
|
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgetf2_(integer *m, integer *n, complex *a, integer *lda,
|
/* Subroutine */ void cgetf2_(integer *m, integer *n, complex *a, integer *lda,
|
||||||
integer *ipiv, integer *info)
|
integer *ipiv, integer *info)
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
|
@ -632,11 +632,11 @@ f"> */
|
||||||
|
|
||||||
/* Local variables */
|
/* Local variables */
|
||||||
integer i__, j;
|
integer i__, j;
|
||||||
extern /* Subroutine */ int cscal_(integer *, complex *, complex *,
|
extern /* Subroutine */ void cscal_(integer *, complex *, complex *,
|
||||||
integer *), cgeru_(integer *, integer *, complex *, complex *,
|
integer *), cgeru_(integer *, integer *, complex *, complex *,
|
||||||
integer *, complex *, integer *, complex *, integer *);
|
integer *, complex *, integer *, complex *, integer *);
|
||||||
real sfmin;
|
real sfmin;
|
||||||
extern /* Subroutine */ int cswap_(integer *, complex *, integer *,
|
extern /* Subroutine */ void cswap_(integer *, complex *, integer *,
|
||||||
complex *, integer *);
|
complex *, integer *);
|
||||||
integer jp;
|
integer jp;
|
||||||
extern integer icamax_(integer *, complex *, integer *);
|
extern integer icamax_(integer *, complex *, integer *);
|
||||||
|
@ -673,13 +673,13 @@ f"> */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGETF2", &i__1, (ftnlen)6);
|
xerbla_("CGETF2", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Quick return if possible */
|
/* Quick return if possible */
|
||||||
|
|
||||||
if (*m == 0 || *n == 0) {
|
if (*m == 0 || *n == 0) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Compute machine safe minimum */
|
/* Compute machine safe minimum */
|
||||||
|
@ -740,7 +740,7 @@ f"> */
|
||||||
}
|
}
|
||||||
/* L10: */
|
/* L10: */
|
||||||
}
|
}
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGETF2 */
|
/* End of CGETF2 */
|
||||||
|
|
||||||
|
|
|
@ -623,7 +623,7 @@ f"> */
|
||||||
/* > \ingroup complexGEcomputational */
|
/* > \ingroup complexGEcomputational */
|
||||||
|
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgetrf_(integer *m, integer *n, complex *a, integer *lda,
|
/* Subroutine */ void cgetrf_(integer *m, integer *n, complex *a, integer *lda,
|
||||||
integer *ipiv, integer *info)
|
integer *ipiv, integer *info)
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
|
@ -632,18 +632,18 @@ f"> */
|
||||||
|
|
||||||
/* Local variables */
|
/* Local variables */
|
||||||
integer i__, j;
|
integer i__, j;
|
||||||
extern /* Subroutine */ int cgemm_(char *, char *, integer *, integer *,
|
extern /* Subroutine */ void cgemm_(char *, char *, integer *, integer *,
|
||||||
integer *, complex *, complex *, integer *, complex *, integer *,
|
integer *, complex *, complex *, integer *, complex *, integer *,
|
||||||
complex *, complex *, integer *);
|
complex *, complex *, integer *);
|
||||||
integer iinfo;
|
integer iinfo;
|
||||||
extern /* Subroutine */ int ctrsm_(char *, char *, char *, char *,
|
extern /* Subroutine */ void ctrsm_(char *, char *, char *, char *,
|
||||||
integer *, integer *, complex *, complex *, integer *, complex *,
|
integer *, integer *, complex *, complex *, integer *, complex *,
|
||||||
integer *);
|
integer *);
|
||||||
integer jb, nb;
|
integer jb, nb;
|
||||||
extern /* Subroutine */ int xerbla_(char *, integer *, ftnlen);
|
extern /* Subroutine */ int xerbla_(char *, integer *, ftnlen);
|
||||||
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
|
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
|
||||||
integer *, integer *, ftnlen, ftnlen);
|
integer *, integer *, ftnlen, ftnlen);
|
||||||
extern /* Subroutine */ int claswp_(integer *, complex *, integer *,
|
extern /* Subroutine */ void claswp_(integer *, complex *, integer *,
|
||||||
integer *, integer *, integer *, integer *), cgetrf2_(integer *,
|
integer *, integer *, integer *, integer *), cgetrf2_(integer *,
|
||||||
integer *, complex *, integer *, integer *, integer *);
|
integer *, complex *, integer *, integer *, integer *);
|
||||||
|
|
||||||
|
@ -677,13 +677,13 @@ f"> */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGETRF", &i__1, (ftnlen)6);
|
xerbla_("CGETRF", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Quick return if possible */
|
/* Quick return if possible */
|
||||||
|
|
||||||
if (*m == 0 || *n == 0) {
|
if (*m == 0 || *n == 0) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Determine the block size for this environment. */
|
/* Determine the block size for this environment. */
|
||||||
|
@ -762,7 +762,7 @@ f"> */
|
||||||
/* L20: */
|
/* L20: */
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGETRF */
|
/* End of CGETRF */
|
||||||
|
|
||||||
|
|
|
@ -624,7 +624,7 @@ static integer c__1 = 1;
|
||||||
/* > \ingroup complexGEcomputational */
|
/* > \ingroup complexGEcomputational */
|
||||||
|
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgetrf2_(integer *m, integer *n, complex *a, integer *
|
/* Subroutine */ void cgetrf2_(integer *m, integer *n, complex *a, integer *
|
||||||
lda, integer *ipiv, integer *info)
|
lda, integer *ipiv, integer *info)
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
|
@ -634,19 +634,20 @@ static integer c__1 = 1;
|
||||||
/* Local variables */
|
/* Local variables */
|
||||||
complex temp;
|
complex temp;
|
||||||
integer i__;
|
integer i__;
|
||||||
extern /* Subroutine */ int cscal_(integer *, complex *, complex *,
|
extern /* Subroutine */ void cscal_(integer *, complex *, complex *,
|
||||||
integer *), cgemm_(char *, char *, integer *, integer *, integer *
|
integer *), cgemm_(char *, char *, integer *, integer *, integer *
|
||||||
, complex *, complex *, integer *, complex *, integer *, complex *
|
, complex *, complex *, integer *, complex *, integer *, complex *
|
||||||
, complex *, integer *);
|
, complex *, integer *);
|
||||||
integer iinfo;
|
integer iinfo;
|
||||||
real sfmin;
|
real sfmin;
|
||||||
extern /* Subroutine */ int ctrsm_(char *, char *, char *, char *,
|
extern /* Subroutine */ void ctrsm_(char *, char *, char *, char *,
|
||||||
integer *, integer *, complex *, complex *, integer *, complex *,
|
integer *, integer *, complex *, complex *, integer *, complex *,
|
||||||
integer *);
|
integer *);
|
||||||
integer n1, n2;
|
integer n1, n2;
|
||||||
extern integer icamax_(integer *, complex *, integer *);
|
extern integer icamax_(integer *, complex *, integer *);
|
||||||
extern real slamch_(char *);
|
extern real slamch_(char *);
|
||||||
extern /* Subroutine */ int xerbla_(char *, integer *, ftnlen), claswp_(
|
extern /* Subroutine */ int xerbla_(char *, integer *, ftnlen);
|
||||||
|
extern int claswp_(
|
||||||
integer *, complex *, integer *, integer *, integer *, integer *,
|
integer *, complex *, integer *, integer *, integer *, integer *,
|
||||||
integer *);
|
integer *);
|
||||||
|
|
||||||
|
@ -680,13 +681,13 @@ static integer c__1 = 1;
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGETRF2", &i__1, (ftnlen)7);
|
xerbla_("CGETRF2", &i__1, (ftnlen)7);
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Quick return if possible */
|
/* Quick return if possible */
|
||||||
|
|
||||||
if (*m == 0 || *n == 0) {
|
if (*m == 0 || *n == 0) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
if (*m == 1) {
|
if (*m == 1) {
|
||||||
|
|
||||||
|
@ -807,7 +808,7 @@ static integer c__1 = 1;
|
||||||
claswp_(&n1, &a[a_dim1 + 1], lda, &i__1, &i__2, &ipiv[1], &c__1);
|
claswp_(&n1, &a[a_dim1 + 1], lda, &i__1, &i__2, &ipiv[1], &c__1);
|
||||||
|
|
||||||
}
|
}
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGETRF2 */
|
/* End of CGETRF2 */
|
||||||
|
|
||||||
|
|
|
@ -630,7 +630,7 @@ f"> */
|
||||||
/* > \ingroup complexGEcomputational */
|
/* > \ingroup complexGEcomputational */
|
||||||
|
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgetri_(integer *n, complex *a, integer *lda, integer *
|
/* Subroutine */ void cgetri_(integer *n, complex *a, integer *lda, integer *
|
||||||
ipiv, complex *work, integer *lwork, integer *info)
|
ipiv, complex *work, integer *lwork, integer *info)
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
|
@ -639,13 +639,13 @@ f"> */
|
||||||
|
|
||||||
/* Local variables */
|
/* Local variables */
|
||||||
integer i__, j;
|
integer i__, j;
|
||||||
extern /* Subroutine */ int cgemm_(char *, char *, integer *, integer *,
|
extern /* Subroutine */ void cgemm_(char *, char *, integer *, integer *,
|
||||||
integer *, complex *, complex *, integer *, complex *, integer *,
|
integer *, complex *, complex *, integer *, complex *, integer *,
|
||||||
complex *, complex *, integer *), cgemv_(char *,
|
complex *, complex *, integer *), cgemv_(char *,
|
||||||
integer *, integer *, complex *, complex *, integer *, complex *,
|
integer *, integer *, complex *, complex *, integer *, complex *,
|
||||||
integer *, complex *, complex *, integer *);
|
integer *, complex *, complex *, integer *);
|
||||||
integer nbmin;
|
integer nbmin;
|
||||||
extern /* Subroutine */ int cswap_(integer *, complex *, integer *,
|
extern /* Subroutine */ void cswap_(integer *, complex *, integer *,
|
||||||
complex *, integer *), ctrsm_(char *, char *, char *, char *,
|
complex *, integer *), ctrsm_(char *, char *, char *, char *,
|
||||||
integer *, integer *, complex *, complex *, integer *, complex *,
|
integer *, integer *, complex *, complex *, integer *, complex *,
|
||||||
integer *);
|
integer *);
|
||||||
|
@ -696,15 +696,15 @@ f"> */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGETRI", &i__1, (ftnlen)6);
|
xerbla_("CGETRI", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
} else if (lquery) {
|
} else if (lquery) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Quick return if possible */
|
/* Quick return if possible */
|
||||||
|
|
||||||
if (*n == 0) {
|
if (*n == 0) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Form inv(U). If INFO > 0 from CTRTRI, then U is singular, */
|
/* Form inv(U). If INFO > 0 from CTRTRI, then U is singular, */
|
||||||
|
@ -712,7 +712,7 @@ f"> */
|
||||||
|
|
||||||
ctrtri_("Upper", "Non-unit", n, &a[a_offset], lda, info);
|
ctrtri_("Upper", "Non-unit", n, &a[a_offset], lda, info);
|
||||||
if (*info > 0) {
|
if (*info > 0) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
nbmin = 2;
|
nbmin = 2;
|
||||||
|
@ -817,7 +817,7 @@ f"> */
|
||||||
}
|
}
|
||||||
|
|
||||||
work[1].r = (real) iws, work[1].i = 0.f;
|
work[1].r = (real) iws, work[1].i = 0.f;
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGETRI */
|
/* End of CGETRI */
|
||||||
|
|
||||||
|
|
|
@ -636,7 +636,7 @@ f"> */
|
||||||
/* > \ingroup complexGEcomputational */
|
/* > \ingroup complexGEcomputational */
|
||||||
|
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgetrs_(char *trans, integer *n, integer *nrhs, complex *
|
/* Subroutine */ void cgetrs_(char *trans, integer *n, integer *nrhs, complex *
|
||||||
a, integer *lda, integer *ipiv, complex *b, integer *ldb, integer *
|
a, integer *lda, integer *ipiv, complex *b, integer *ldb, integer *
|
||||||
info)
|
info)
|
||||||
{
|
{
|
||||||
|
@ -645,10 +645,11 @@ f"> */
|
||||||
|
|
||||||
/* Local variables */
|
/* Local variables */
|
||||||
extern logical lsame_(char *, char *);
|
extern logical lsame_(char *, char *);
|
||||||
extern /* Subroutine */ int ctrsm_(char *, char *, char *, char *,
|
extern /* Subroutine */ void ctrsm_(char *, char *, char *, char *,
|
||||||
integer *, integer *, complex *, complex *, integer *, complex *,
|
integer *, integer *, complex *, complex *, integer *, complex *,
|
||||||
integer *), xerbla_(char *,
|
integer *);
|
||||||
integer *, ftnlen), claswp_(integer *, complex *, integer *,
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
|
extern void claswp_(integer *, complex *, integer *,
|
||||||
integer *, integer *, integer *, integer *);
|
integer *, integer *, integer *, integer *);
|
||||||
logical notran;
|
logical notran;
|
||||||
|
|
||||||
|
@ -691,13 +692,13 @@ f"> */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGETRS", &i__1, (ftnlen)6);
|
xerbla_("CGETRS", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Quick return if possible */
|
/* Quick return if possible */
|
||||||
|
|
||||||
if (*n == 0 || *nrhs == 0) {
|
if (*n == 0 || *nrhs == 0) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (notran) {
|
if (notran) {
|
||||||
|
@ -736,7 +737,7 @@ f"> */
|
||||||
claswp_(nrhs, &b[b_offset], ldb, &c__1, n, &ipiv[1], &c_n1);
|
claswp_(nrhs, &b[b_offset], ldb, &c__1, n, &ipiv[1], &c_n1);
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGETRS */
|
/* End of CGETRS */
|
||||||
|
|
||||||
|
|
|
@ -674,7 +674,7 @@ static integer c__0 = 0;
|
||||||
/* > \ingroup complexGEsolve */
|
/* > \ingroup complexGEsolve */
|
||||||
|
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgetsls_(char *trans, integer *m, integer *n, integer *
|
/* Subroutine */ void cgetsls_(char *trans, integer *m, integer *n, integer *
|
||||||
nrhs, complex *a, integer *lda, complex *b, integer *ldb, complex *
|
nrhs, complex *a, integer *lda, complex *b, integer *ldb, complex *
|
||||||
work, integer *lwork, integer *info)
|
work, integer *lwork, integer *info)
|
||||||
{
|
{
|
||||||
|
@ -686,26 +686,27 @@ static integer c__0 = 0;
|
||||||
real anrm, bnrm;
|
real anrm, bnrm;
|
||||||
logical tran;
|
logical tran;
|
||||||
integer brow, tszm, tszo, info2, i__, j, iascl, ibscl;
|
integer brow, tszm, tszo, info2, i__, j, iascl, ibscl;
|
||||||
extern /* Subroutine */ int cgelq_(integer *, integer *, complex *,
|
extern /* Subroutine */ void cgelq_(integer *, integer *, complex *,
|
||||||
integer *, complex *, integer *, complex *, integer *, integer *);
|
integer *, complex *, integer *, complex *, integer *, integer *);
|
||||||
extern logical lsame_(char *, char *);
|
extern logical lsame_(char *, char *);
|
||||||
extern /* Subroutine */ int cgeqr_(integer *, integer *, complex *,
|
extern /* Subroutine */ void cgeqr_(integer *, integer *, complex *,
|
||||||
integer *, complex *, integer *, complex *, integer *, integer *);
|
integer *, complex *, integer *, complex *, integer *, integer *);
|
||||||
integer minmn, maxmn;
|
integer minmn, maxmn;
|
||||||
complex workq[1];
|
complex workq[1];
|
||||||
extern /* Subroutine */ int slabad_(real *, real *);
|
extern /* Subroutine */ void slabad_(real *, real *);
|
||||||
extern real clange_(char *, integer *, integer *, complex *, integer *,
|
extern real clange_(char *, integer *, integer *, complex *, integer *,
|
||||||
real *);
|
real *);
|
||||||
extern /* Subroutine */ int clascl_(char *, integer *, integer *, real *,
|
extern /* Subroutine */ void clascl_(char *, integer *, integer *, real *,
|
||||||
real *, integer *, integer *, complex *, integer *, integer *);
|
real *, integer *, integer *, complex *, integer *, integer *);
|
||||||
complex tq[5];
|
complex tq[5];
|
||||||
extern real slamch_(char *);
|
extern real slamch_(char *);
|
||||||
extern /* Subroutine */ int cgemlq_(char *, char *, integer *, integer *,
|
extern /* Subroutine */ void cgemlq_(char *, char *, integer *, integer *,
|
||||||
integer *, complex *, integer *, complex *, integer *, complex *,
|
integer *, complex *, integer *, complex *, integer *, complex *,
|
||||||
integer *, complex *, integer *, integer *),
|
integer *, complex *, integer *, integer *),
|
||||||
claset_(char *, integer *, integer *, complex *, complex *,
|
claset_(char *, integer *, integer *, complex *, complex *,
|
||||||
complex *, integer *), xerbla_(char *, integer *, ftnlen),
|
complex *, integer *);
|
||||||
cgemqr_(char *, char *, integer *, integer *, integer *, complex
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
|
extern void cgemqr_(char *, char *, integer *, integer *, integer *, complex
|
||||||
*, integer *, complex *, integer *, complex *, integer *, complex
|
*, integer *, complex *, integer *, complex *, integer *, complex
|
||||||
*, integer *, integer *);
|
*, integer *, integer *);
|
||||||
integer scllen;
|
integer scllen;
|
||||||
|
@ -821,7 +822,7 @@ static integer c__0 = 0;
|
||||||
xerbla_("CGETSLS", &i__1, (ftnlen)7);
|
xerbla_("CGETSLS", &i__1, (ftnlen)7);
|
||||||
r__1 = (real) wsizeo;
|
r__1 = (real) wsizeo;
|
||||||
work[1].r = r__1, work[1].i = 0.f;
|
work[1].r = r__1, work[1].i = 0.f;
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
if (lquery) {
|
if (lquery) {
|
||||||
if (*lwork == -1) {
|
if (*lwork == -1) {
|
||||||
|
@ -832,7 +833,7 @@ static integer c__0 = 0;
|
||||||
r__1 = (real) wsizem;
|
r__1 = (real) wsizem;
|
||||||
work[1].r = r__1, work[1].i = 0.f;
|
work[1].r = r__1, work[1].i = 0.f;
|
||||||
}
|
}
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
if (*lwork < wsizeo) {
|
if (*lwork < wsizeo) {
|
||||||
lw1 = tszm;
|
lw1 = tszm;
|
||||||
|
@ -849,7 +850,7 @@ static integer c__0 = 0;
|
||||||
if (f2cmin(i__1,*nrhs) == 0) {
|
if (f2cmin(i__1,*nrhs) == 0) {
|
||||||
i__1 = f2cmax(*m,*n);
|
i__1 = f2cmax(*m,*n);
|
||||||
claset_("FULL", &i__1, nrhs, &c_b1, &c_b1, &b[b_offset], ldb);
|
claset_("FULL", &i__1, nrhs, &c_b1, &c_b1, &b[b_offset], ldb);
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Get machine parameters */
|
/* Get machine parameters */
|
||||||
|
@ -927,7 +928,7 @@ static integer c__0 = 0;
|
||||||
ctrtrs_("U", "N", "N", n, nrhs, &a[a_offset], lda, &b[b_offset],
|
ctrtrs_("U", "N", "N", n, nrhs, &a[a_offset], lda, &b[b_offset],
|
||||||
ldb, info);
|
ldb, info);
|
||||||
if (*info > 0) {
|
if (*info > 0) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
scllen = *n;
|
scllen = *n;
|
||||||
} else {
|
} else {
|
||||||
|
@ -940,7 +941,7 @@ static integer c__0 = 0;
|
||||||
ldb, info);
|
ldb, info);
|
||||||
|
|
||||||
if (*info > 0) {
|
if (*info > 0) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* B(N+1:M,1:NRHS) = CZERO */
|
/* B(N+1:M,1:NRHS) = CZERO */
|
||||||
|
@ -984,7 +985,7 @@ static integer c__0 = 0;
|
||||||
ldb, info);
|
ldb, info);
|
||||||
|
|
||||||
if (*info > 0) {
|
if (*info > 0) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* B(M+1:N,1:NRHS) = 0 */
|
/* B(M+1:N,1:NRHS) = 0 */
|
||||||
|
@ -1026,7 +1027,7 @@ static integer c__0 = 0;
|
||||||
ldb, info);
|
ldb, info);
|
||||||
|
|
||||||
if (*info > 0) {
|
if (*info > 0) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
scllen = *m;
|
scllen = *m;
|
||||||
|
@ -1055,7 +1056,7 @@ static integer c__0 = 0;
|
||||||
L50:
|
L50:
|
||||||
r__1 = (real) (tszo + lwo);
|
r__1 = (real) (tszo + lwo);
|
||||||
work[1].r = r__1, work[1].i = 0.f;
|
work[1].r = r__1, work[1].i = 0.f;
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of ZGETSLS */
|
/* End of ZGETSLS */
|
||||||
|
|
||||||
|
|
|
@ -689,7 +689,7 @@ hrt.f"> */
|
||||||
/* > \endverbatim */
|
/* > \endverbatim */
|
||||||
/* > */
|
/* > */
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgetsqrhrt_(integer *m, integer *n, integer *mb1,
|
/* Subroutine */ void cgetsqrhrt_(integer *m, integer *n, integer *mb1,
|
||||||
integer *nb1, integer *nb2, complex *a, integer *lda, complex *t,
|
integer *nb1, integer *nb2, complex *a, integer *lda, complex *t,
|
||||||
integer *ldt, complex *work, integer *lwork, integer *info)
|
integer *ldt, complex *work, integer *lwork, integer *info)
|
||||||
{
|
{
|
||||||
|
@ -700,17 +700,18 @@ hrt.f"> */
|
||||||
|
|
||||||
/* Local variables */
|
/* Local variables */
|
||||||
integer ldwt, lworkopt, i__, j;
|
integer ldwt, lworkopt, i__, j;
|
||||||
extern /* Subroutine */ int cungtsqr_row_(integer *, integer *, integer *
|
extern /* Subroutine */ void cungtsqr_row_(integer *, integer *, integer *
|
||||||
, integer *, complex *, integer *, complex *, integer *, complex *
|
, integer *, complex *, integer *, complex *, integer *, complex *
|
||||||
, integer *, integer *);
|
, integer *, integer *);
|
||||||
integer iinfo;
|
integer iinfo;
|
||||||
extern /* Subroutine */ int ccopy_(integer *, complex *, integer *,
|
extern /* Subroutine */ void ccopy_(integer *, complex *, integer *,
|
||||||
complex *, integer *), cunhr_col_(integer *, integer *, integer *
|
complex *, integer *), cunhr_col_(integer *, integer *, integer *
|
||||||
, complex *, integer *, complex *, integer *, complex *, integer *
|
, complex *, integer *, complex *, integer *, complex *, integer *
|
||||||
), xerbla_(char *, integer *, ftnlen);
|
);
|
||||||
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
logical lquery;
|
logical lquery;
|
||||||
integer lw1, lw2, num_all_row_blocks__, lwt;
|
integer lw1, lw2, num_all_row_blocks__, lwt;
|
||||||
extern /* Subroutine */ int clatsqr_(integer *, integer *, integer *,
|
extern /* Subroutine */ void clatsqr_(integer *, integer *, integer *,
|
||||||
integer *, complex *, integer *, complex *, integer *, complex *,
|
integer *, complex *, integer *, complex *, integer *, complex *,
|
||||||
integer *, integer *);
|
integer *, integer *);
|
||||||
integer nb1local, nb2local;
|
integer nb1local, nb2local;
|
||||||
|
@ -812,11 +813,11 @@ hrt.f"> */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGETSQRHRT", &i__1, (ftnlen)10);
|
xerbla_("CGETSQRHRT", &i__1, (ftnlen)10);
|
||||||
return 0;
|
return;
|
||||||
} else if (lquery) {
|
} else if (lquery) {
|
||||||
q__1.r = (real) lworkopt, q__1.i = 0.f;
|
q__1.r = (real) lworkopt, q__1.i = 0.f;
|
||||||
work[1].r = q__1.r, work[1].i = q__1.i;
|
work[1].r = q__1.r, work[1].i = q__1.i;
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Quick return if possible */
|
/* Quick return if possible */
|
||||||
|
@ -824,7 +825,7 @@ hrt.f"> */
|
||||||
if (f2cmin(*m,*n) == 0) {
|
if (f2cmin(*m,*n) == 0) {
|
||||||
q__1.r = (real) lworkopt, q__1.i = 0.f;
|
q__1.r = (real) lworkopt, q__1.i = 0.f;
|
||||||
work[1].r = q__1.r, work[1].i = q__1.i;
|
work[1].r = q__1.r, work[1].i = q__1.i;
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
nb2local = f2cmin(*nb2,*n);
|
nb2local = f2cmin(*nb2,*n);
|
||||||
|
@ -895,7 +896,7 @@ hrt.f"> */
|
||||||
|
|
||||||
q__1.r = (real) lworkopt, q__1.i = 0.f;
|
q__1.r = (real) lworkopt, q__1.i = 0.f;
|
||||||
work[1].r = q__1.r, work[1].i = q__1.i;
|
work[1].r = q__1.r, work[1].i = q__1.i;
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGETSQRHRT */
|
/* End of CGETSQRHRT */
|
||||||
|
|
||||||
|
|
|
@ -656,7 +656,7 @@ f"> */
|
||||||
/* > \endverbatim */
|
/* > \endverbatim */
|
||||||
/* > */
|
/* > */
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cggbak_(char *job, char *side, integer *n, integer *ilo,
|
/* Subroutine */ void cggbak_(char *job, char *side, integer *n, integer *ilo,
|
||||||
integer *ihi, real *lscale, real *rscale, integer *m, complex *v,
|
integer *ihi, real *lscale, real *rscale, integer *m, complex *v,
|
||||||
integer *ldv, integer *info)
|
integer *ldv, integer *info)
|
||||||
{
|
{
|
||||||
|
@ -666,11 +666,12 @@ f"> */
|
||||||
/* Local variables */
|
/* Local variables */
|
||||||
integer i__, k;
|
integer i__, k;
|
||||||
extern logical lsame_(char *, char *);
|
extern logical lsame_(char *, char *);
|
||||||
extern /* Subroutine */ int cswap_(integer *, complex *, integer *,
|
extern /* Subroutine */ void cswap_(integer *, complex *, integer *,
|
||||||
complex *, integer *);
|
complex *, integer *);
|
||||||
logical leftv;
|
logical leftv;
|
||||||
extern /* Subroutine */ int csscal_(integer *, real *, complex *, integer
|
extern /* Subroutine */ void csscal_(integer *, real *, complex *, integer
|
||||||
*), xerbla_(char *, integer *, ftnlen);
|
*);
|
||||||
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
logical rightv;
|
logical rightv;
|
||||||
|
|
||||||
|
|
||||||
|
@ -720,19 +721,19 @@ f"> */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGGBAK", &i__1, (ftnlen)6);
|
xerbla_("CGGBAK", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Quick return if possible */
|
/* Quick return if possible */
|
||||||
|
|
||||||
if (*n == 0) {
|
if (*n == 0) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
if (*m == 0) {
|
if (*m == 0) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
if (lsame_(job, "N")) {
|
if (lsame_(job, "N")) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (*ilo == *ihi) {
|
if (*ilo == *ihi) {
|
||||||
|
@ -837,7 +838,7 @@ L100:
|
||||||
|
|
||||||
L110:
|
L110:
|
||||||
|
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGGBAK */
|
/* End of CGGBAK */
|
||||||
|
|
||||||
|
|
|
@ -691,7 +691,7 @@ f"> */
|
||||||
/* > \endverbatim */
|
/* > \endverbatim */
|
||||||
/* > */
|
/* > */
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cggbal_(char *job, integer *n, complex *a, integer *lda,
|
/* Subroutine */ void cggbal_(char *job, integer *n, complex *a, integer *lda,
|
||||||
complex *b, integer *ldb, integer *ilo, integer *ihi, real *lscale,
|
complex *b, integer *ldb, integer *ilo, integer *ihi, real *lscale,
|
||||||
real *rscale, real *work, integer *info)
|
real *rscale, real *work, integer *info)
|
||||||
{
|
{
|
||||||
|
@ -709,13 +709,13 @@ f"> */
|
||||||
integer i__, j, k, l, m;
|
integer i__, j, k, l, m;
|
||||||
real gamma, t, alpha;
|
real gamma, t, alpha;
|
||||||
extern logical lsame_(char *, char *);
|
extern logical lsame_(char *, char *);
|
||||||
extern /* Subroutine */ int sscal_(integer *, real *, real *, integer *);
|
extern /* Subroutine */ void sscal_(integer *, real *, real *, integer *);
|
||||||
real sfmin;
|
real sfmin;
|
||||||
extern /* Subroutine */ int cswap_(integer *, complex *, integer *,
|
extern /* Subroutine */ void cswap_(integer *, complex *, integer *,
|
||||||
complex *, integer *);
|
complex *, integer *);
|
||||||
real sfmax;
|
real sfmax;
|
||||||
integer iflow, kount;
|
integer iflow, kount;
|
||||||
extern /* Subroutine */ int saxpy_(integer *, real *, real *, integer *,
|
extern /* Subroutine */ void saxpy_(integer *, real *, real *, integer *,
|
||||||
real *, integer *);
|
real *, integer *);
|
||||||
integer jc;
|
integer jc;
|
||||||
real ta, tb, tc;
|
real ta, tb, tc;
|
||||||
|
@ -725,8 +725,9 @@ f"> */
|
||||||
real pgamma;
|
real pgamma;
|
||||||
extern integer icamax_(integer *, complex *, integer *);
|
extern integer icamax_(integer *, complex *, integer *);
|
||||||
extern real slamch_(char *);
|
extern real slamch_(char *);
|
||||||
extern /* Subroutine */ int csscal_(integer *, real *, complex *, integer
|
extern /* Subroutine */ void csscal_(integer *, real *, complex *, integer
|
||||||
*), xerbla_(char *, integer *, ftnlen);
|
*);
|
||||||
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
integer lsfmin, lsfmax, ip1, jp1, lm1;
|
integer lsfmin, lsfmax, ip1, jp1, lm1;
|
||||||
real cab, rab, ewc, cor, sum;
|
real cab, rab, ewc, cor, sum;
|
||||||
integer nrp2, icab;
|
integer nrp2, icab;
|
||||||
|
@ -769,7 +770,7 @@ f"> */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGGBAL", &i__1, (ftnlen)6);
|
xerbla_("CGGBAL", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Quick return if possible */
|
/* Quick return if possible */
|
||||||
|
@ -777,7 +778,7 @@ f"> */
|
||||||
if (*n == 0) {
|
if (*n == 0) {
|
||||||
*ilo = 1;
|
*ilo = 1;
|
||||||
*ihi = *n;
|
*ihi = *n;
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (*n == 1) {
|
if (*n == 1) {
|
||||||
|
@ -785,7 +786,7 @@ f"> */
|
||||||
*ihi = *n;
|
*ihi = *n;
|
||||||
lscale[1] = 1.f;
|
lscale[1] = 1.f;
|
||||||
rscale[1] = 1.f;
|
rscale[1] = 1.f;
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (lsame_(job, "N")) {
|
if (lsame_(job, "N")) {
|
||||||
|
@ -797,7 +798,7 @@ f"> */
|
||||||
rscale[i__] = 1.f;
|
rscale[i__] = 1.f;
|
||||||
/* L10: */
|
/* L10: */
|
||||||
}
|
}
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
k = 1;
|
k = 1;
|
||||||
|
@ -942,11 +943,11 @@ L190:
|
||||||
rscale[i__] = 1.f;
|
rscale[i__] = 1.f;
|
||||||
/* L195: */
|
/* L195: */
|
||||||
}
|
}
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (*ilo == *ihi) {
|
if (*ilo == *ihi) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Balance the submatrix in rows ILO to IHI. */
|
/* Balance the submatrix in rows ILO to IHI. */
|
||||||
|
@ -1209,7 +1210,7 @@ L350:
|
||||||
/* L380: */
|
/* L380: */
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGGBAL */
|
/* End of CGGBAL */
|
||||||
|
|
||||||
|
|
|
@ -784,7 +784,7 @@ or GE matrices</b> */
|
||||||
/* > \ingroup complexGEeigen */
|
/* > \ingroup complexGEeigen */
|
||||||
|
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgges_(char *jobvsl, char *jobvsr, char *sort, L_fp
|
/* Subroutine */ void cgges_(char *jobvsl, char *jobvsr, char *sort, L_fp
|
||||||
selctg, integer *n, complex *a, integer *lda, complex *b, integer *
|
selctg, integer *n, complex *a, integer *lda, complex *b, integer *
|
||||||
ldb, integer *sdim, complex *alpha, complex *beta, complex *vsl,
|
ldb, integer *sdim, complex *alpha, complex *beta, complex *vsl,
|
||||||
integer *ldvsl, complex *vsr, integer *ldvsr, complex *work, integer *
|
integer *ldvsl, complex *vsr, integer *ldvsr, complex *work, integer *
|
||||||
|
@ -803,29 +803,30 @@ or GE matrices</b> */
|
||||||
integer ileft, icols;
|
integer ileft, icols;
|
||||||
logical cursl, ilvsl, ilvsr;
|
logical cursl, ilvsl, ilvsr;
|
||||||
integer irwrk, irows;
|
integer irwrk, irows;
|
||||||
extern /* Subroutine */ int cggbak_(char *, char *, integer *, integer *,
|
extern /* Subroutine */ void cggbak_(char *, char *, integer *, integer *,
|
||||||
integer *, real *, real *, integer *, complex *, integer *,
|
integer *, real *, real *, integer *, complex *, integer *,
|
||||||
integer *), cggbal_(char *, integer *, complex *,
|
integer *), cggbal_(char *, integer *, complex *,
|
||||||
integer *, complex *, integer *, integer *, integer *, real *,
|
integer *, complex *, integer *, integer *, integer *, real *,
|
||||||
real *, real *, integer *), slabad_(real *, real *);
|
real *, real *, integer *), slabad_(real *, real *);
|
||||||
extern real clange_(char *, integer *, integer *, complex *, integer *,
|
extern real clange_(char *, integer *, integer *, complex *, integer *,
|
||||||
real *);
|
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 *, complex *, integer *, complex *,
|
||||||
integer *, complex *, integer *, integer *),
|
integer *, complex *, integer *, integer *),
|
||||||
clascl_(char *, integer *, integer *, real *, real *, integer *,
|
clascl_(char *, integer *, integer *, real *, real *, integer *,
|
||||||
integer *, complex *, integer *, integer *);
|
integer *, complex *, integer *, integer *);
|
||||||
logical ilascl, ilbscl;
|
logical ilascl, ilbscl;
|
||||||
extern /* Subroutine */ int cgeqrf_(integer *, integer *, complex *,
|
extern /* Subroutine */ void cgeqrf_(integer *, integer *, complex *,
|
||||||
integer *, complex *, complex *, integer *, integer *);
|
integer *, complex *, complex *, integer *, integer *);
|
||||||
extern real slamch_(char *);
|
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 *, complex *, integer *), claset_(char *,
|
||||||
integer *, integer *, complex *, complex *, complex *, integer *), xerbla_(char *, integer *, ftnlen);
|
integer *, integer *, complex *, complex *, complex *, integer *);
|
||||||
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
|
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
|
||||||
integer *, integer *, ftnlen, ftnlen);
|
integer *, integer *, ftnlen, ftnlen);
|
||||||
real bignum;
|
real bignum;
|
||||||
extern /* Subroutine */ int chgeqz_(char *, char *, char *, integer *,
|
extern /* Subroutine */ void chgeqz_(char *, char *, char *, integer *,
|
||||||
integer *, integer *, complex *, integer *, complex *, integer *,
|
integer *, integer *, complex *, integer *, complex *, integer *,
|
||||||
complex *, complex *, complex *, integer *, complex *, integer *,
|
complex *, complex *, complex *, integer *, complex *, integer *,
|
||||||
complex *, integer *, real *, integer *),
|
complex *, integer *, real *, integer *),
|
||||||
|
@ -839,7 +840,7 @@ or GE matrices</b> */
|
||||||
integer lwkmin;
|
integer lwkmin;
|
||||||
logical lastsl;
|
logical lastsl;
|
||||||
real bnrmto;
|
real bnrmto;
|
||||||
extern /* Subroutine */ int cungqr_(integer *, integer *, integer *,
|
extern /* Subroutine */ void cungqr_(integer *, integer *, integer *,
|
||||||
complex *, integer *, complex *, complex *, integer *, integer *),
|
complex *, integer *, complex *, complex *, integer *, integer *),
|
||||||
cunmqr_(char *, char *, integer *, integer *, integer *, complex
|
cunmqr_(char *, char *, integer *, integer *, integer *, complex
|
||||||
*, integer *, complex *, complex *, integer *, complex *, integer
|
*, integer *, complex *, complex *, integer *, complex *, integer
|
||||||
|
@ -964,16 +965,16 @@ or GE matrices</b> */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGGES ", &i__1, (ftnlen)6);
|
xerbla_("CGGES ", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
} else if (lquery) {
|
} else if (lquery) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Quick return if possible */
|
/* Quick return if possible */
|
||||||
|
|
||||||
if (*n == 0) {
|
if (*n == 0) {
|
||||||
*sdim = 0;
|
*sdim = 0;
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Get machine constants */
|
/* Get machine constants */
|
||||||
|
@ -1185,7 +1186,7 @@ L30:
|
||||||
|
|
||||||
work[1].r = (real) lwkopt, work[1].i = 0.f;
|
work[1].r = (real) lwkopt, work[1].i = 0.f;
|
||||||
|
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGGES */
|
/* End of CGGES */
|
||||||
|
|
||||||
|
|
|
@ -783,7 +783,7 @@ f"> */
|
||||||
/* > \ingroup complexGEeigen */
|
/* > \ingroup complexGEeigen */
|
||||||
|
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgges3_(char *jobvsl, char *jobvsr, char *sort, L_fp
|
/* Subroutine */ void cgges3_(char *jobvsl, char *jobvsr, char *sort, L_fp
|
||||||
selctg, integer *n, complex *a, integer *lda, complex *b, integer *
|
selctg, integer *n, complex *a, integer *lda, complex *b, integer *
|
||||||
ldb, integer *sdim, complex *alpha, complex *beta, complex *vsl,
|
ldb, integer *sdim, complex *alpha, complex *beta, complex *vsl,
|
||||||
integer *ldvsl, complex *vsr, integer *ldvsr, complex *work, integer *
|
integer *ldvsl, complex *vsr, integer *ldvsr, complex *work, integer *
|
||||||
|
@ -803,28 +803,29 @@ f"> */
|
||||||
integer ileft, icols;
|
integer ileft, icols;
|
||||||
logical cursl, ilvsl, ilvsr;
|
logical cursl, ilvsl, ilvsr;
|
||||||
integer irwrk;
|
integer irwrk;
|
||||||
extern /* Subroutine */ int cgghd3_(char *, char *, integer *, integer *,
|
extern /* Subroutine */ void cgghd3_(char *, char *, integer *, integer *,
|
||||||
integer *, complex *, integer *, complex *, integer *, complex *,
|
integer *, complex *, integer *, complex *, integer *, complex *,
|
||||||
integer *, complex *, integer *, complex *, integer *, integer *);
|
integer *, complex *, integer *, complex *, integer *, integer *);
|
||||||
integer irows;
|
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 *, real *, real *, integer *, complex *, integer *,
|
||||||
integer *), cggbal_(char *, integer *, complex *,
|
integer *), cggbal_(char *, integer *, complex *,
|
||||||
integer *, complex *, integer *, integer *, integer *, real *,
|
integer *, complex *, integer *, integer *, integer *, real *,
|
||||||
real *, real *, integer *), slabad_(real *, real *);
|
real *, real *, integer *), slabad_(real *, real *);
|
||||||
extern real clange_(char *, integer *, integer *, complex *, integer *,
|
extern real clange_(char *, integer *, integer *, complex *, integer *,
|
||||||
real *);
|
real *);
|
||||||
extern /* Subroutine */ int clascl_(char *, integer *, integer *, real *,
|
extern /* Subroutine */ void clascl_(char *, integer *, integer *, real *,
|
||||||
real *, integer *, integer *, complex *, integer *, integer *);
|
real *, integer *, integer *, complex *, integer *, integer *);
|
||||||
logical ilascl, ilbscl;
|
logical ilascl, ilbscl;
|
||||||
extern /* Subroutine */ int cgeqrf_(integer *, integer *, complex *,
|
extern /* Subroutine */ void cgeqrf_(integer *, integer *, complex *,
|
||||||
integer *, complex *, complex *, integer *, integer *);
|
integer *, complex *, complex *, integer *, integer *);
|
||||||
extern real slamch_(char *);
|
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 *, complex *, integer *), claset_(char *,
|
||||||
integer *, integer *, complex *, complex *, complex *, integer *), xerbla_(char *, integer *, ftnlen);
|
integer *, integer *, complex *, complex *, complex *, integer *);
|
||||||
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
real bignum;
|
real bignum;
|
||||||
extern /* Subroutine */ int chgeqz_(char *, char *, char *, integer *,
|
extern /* Subroutine */ void chgeqz_(char *, char *, char *, integer *,
|
||||||
integer *, integer *, complex *, integer *, complex *, integer *,
|
integer *, integer *, complex *, integer *, complex *, integer *,
|
||||||
complex *, complex *, complex *, integer *, complex *, integer *,
|
complex *, complex *, complex *, integer *, complex *, integer *,
|
||||||
complex *, integer *, real *, integer *),
|
complex *, integer *, real *, integer *),
|
||||||
|
@ -836,7 +837,7 @@ f"> */
|
||||||
integer ijobvl, iright, ijobvr;
|
integer ijobvl, iright, ijobvr;
|
||||||
real anrmto, bnrmto;
|
real anrmto, bnrmto;
|
||||||
logical lastsl;
|
logical lastsl;
|
||||||
extern /* Subroutine */ int cungqr_(integer *, integer *, integer *,
|
extern /* Subroutine */ void cungqr_(integer *, integer *, integer *,
|
||||||
complex *, integer *, complex *, complex *, integer *, integer *),
|
complex *, integer *, complex *, complex *, integer *, integer *),
|
||||||
cunmqr_(char *, char *, integer *, integer *, integer *, complex
|
cunmqr_(char *, char *, integer *, integer *, integer *, complex
|
||||||
*, integer *, complex *, complex *, integer *, complex *, integer
|
*, integer *, complex *, complex *, integer *, complex *, integer
|
||||||
|
@ -979,16 +980,16 @@ f"> */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGGES3 ", &i__1, (ftnlen)7);
|
xerbla_("CGGES3 ", &i__1, (ftnlen)7);
|
||||||
return 0;
|
return;
|
||||||
} else if (lquery) {
|
} else if (lquery) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Quick return if possible */
|
/* Quick return if possible */
|
||||||
|
|
||||||
if (*n == 0) {
|
if (*n == 0) {
|
||||||
*sdim = 0;
|
*sdim = 0;
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Get machine constants */
|
/* Get machine constants */
|
||||||
|
@ -1194,7 +1195,7 @@ L30:
|
||||||
q__1.r = (real) lwkopt, q__1.i = 0.f;
|
q__1.r = (real) lwkopt, q__1.i = 0.f;
|
||||||
work[1].r = q__1.r, work[1].i = q__1.i;
|
work[1].r = q__1.r, work[1].i = q__1.i;
|
||||||
|
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGGES3 */
|
/* End of CGGES3 */
|
||||||
|
|
||||||
|
|
|
@ -843,7 +843,7 @@ f"> */
|
||||||
/* > \ingroup complexGEeigen */
|
/* > \ingroup complexGEeigen */
|
||||||
|
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cggesx_(char *jobvsl, char *jobvsr, char *sort, L_fp
|
/* Subroutine */ void cggesx_(char *jobvsl, char *jobvsr, char *sort, L_fp
|
||||||
selctg, char *sense, integer *n, complex *a, integer *lda, complex *b,
|
selctg, char *sense, integer *n, complex *a, integer *lda, complex *b,
|
||||||
integer *ldb, integer *sdim, complex *alpha, complex *beta, complex *
|
integer *ldb, integer *sdim, complex *alpha, complex *beta, complex *
|
||||||
vsl, integer *ldvsl, complex *vsr, integer *ldvsr, real *rconde, real
|
vsl, integer *ldvsl, complex *vsr, integer *ldvsr, real *rconde, real
|
||||||
|
@ -862,7 +862,7 @@ f"> */
|
||||||
integer ileft, icols;
|
integer ileft, icols;
|
||||||
logical cursl, ilvsl, ilvsr;
|
logical cursl, ilvsl, ilvsr;
|
||||||
integer irwrk, irows;
|
integer irwrk, irows;
|
||||||
extern /* Subroutine */ int cggbak_(char *, char *, integer *, integer *,
|
extern /* Subroutine */ void cggbak_(char *, char *, integer *, integer *,
|
||||||
integer *, real *, real *, integer *, complex *, integer *,
|
integer *, real *, real *, integer *, complex *, integer *,
|
||||||
integer *), cggbal_(char *, integer *, complex *,
|
integer *), cggbal_(char *, integer *, complex *,
|
||||||
integer *, complex *, integer *, integer *, integer *, real *,
|
integer *, complex *, integer *, integer *, integer *, real *,
|
||||||
|
@ -870,24 +870,24 @@ f"> */
|
||||||
extern real clange_(char *, integer *, integer *, complex *, integer *,
|
extern real clange_(char *, integer *, integer *, complex *, integer *,
|
||||||
real *);
|
real *);
|
||||||
real pl;
|
real pl;
|
||||||
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 *, complex *, integer *, complex *,
|
||||||
integer *, complex *, integer *, integer *),
|
integer *, complex *, integer *, integer *),
|
||||||
clascl_(char *, integer *, integer *, real *, real *, integer *,
|
clascl_(char *, integer *, integer *, real *, real *, integer *,
|
||||||
integer *, complex *, integer *, integer *);
|
integer *, complex *, integer *, integer *);
|
||||||
real pr;
|
real pr;
|
||||||
logical ilascl, ilbscl;
|
logical ilascl, ilbscl;
|
||||||
extern /* Subroutine */ int cgeqrf_(integer *, integer *, complex *,
|
extern /* Subroutine */ void cgeqrf_(integer *, integer *, complex *,
|
||||||
integer *, complex *, complex *, integer *, integer *), clacpy_(
|
integer *, complex *, complex *, integer *, integer *), clacpy_(
|
||||||
char *, integer *, integer *, complex *, integer *, complex *,
|
char *, integer *, integer *, complex *, integer *, complex *,
|
||||||
integer *), claset_(char *, integer *, integer *, complex
|
integer *), claset_(char *, integer *, integer *, complex
|
||||||
*, complex *, complex *, integer *), xerbla_(char *,
|
*, complex *, complex *, integer *);
|
||||||
integer *, ftnlen);
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
|
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
|
||||||
integer *, integer *, ftnlen, ftnlen);
|
integer *, integer *, ftnlen, ftnlen);
|
||||||
extern real slamch_(char *);
|
extern real slamch_(char *);
|
||||||
real bignum;
|
real bignum;
|
||||||
extern /* Subroutine */ int chgeqz_(char *, char *, char *, integer *,
|
extern /* Subroutine */ void chgeqz_(char *, char *, char *, integer *,
|
||||||
integer *, integer *, complex *, integer *, complex *, integer *,
|
integer *, integer *, complex *, integer *, complex *, integer *,
|
||||||
complex *, complex *, complex *, integer *, complex *, integer *,
|
complex *, complex *, complex *, integer *, complex *, integer *,
|
||||||
complex *, integer *, real *, integer *),
|
complex *, integer *, real *, integer *),
|
||||||
|
@ -901,12 +901,12 @@ f"> */
|
||||||
integer liwmin;
|
integer liwmin;
|
||||||
logical wantse, lastsl;
|
logical wantse, lastsl;
|
||||||
real anrmto, bnrmto;
|
real anrmto, bnrmto;
|
||||||
extern /* Subroutine */ int cungqr_(integer *, integer *, integer *,
|
extern /* Subroutine */ void cungqr_(integer *, integer *, integer *,
|
||||||
complex *, integer *, complex *, complex *, integer *, integer *);
|
complex *, integer *, complex *, complex *, integer *, integer *);
|
||||||
integer minwrk, maxwrk;
|
integer minwrk, maxwrk;
|
||||||
logical wantsn;
|
logical wantsn;
|
||||||
real smlnum;
|
real smlnum;
|
||||||
extern /* Subroutine */ int cunmqr_(char *, char *, integer *, integer *,
|
extern /* Subroutine */ void cunmqr_(char *, char *, integer *, integer *,
|
||||||
integer *, complex *, integer *, complex *, complex *, integer *,
|
integer *, complex *, integer *, complex *, complex *, integer *,
|
||||||
complex *, integer *, integer *);
|
complex *, integer *, integer *);
|
||||||
logical wantst, lquery, wantsv;
|
logical wantst, lquery, wantsv;
|
||||||
|
@ -1062,16 +1062,16 @@ f"> */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGGESX", &i__1, (ftnlen)6);
|
xerbla_("CGGESX", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
} else if (lquery) {
|
} else if (lquery) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Quick return if possible */
|
/* Quick return if possible */
|
||||||
|
|
||||||
if (*n == 0) {
|
if (*n == 0) {
|
||||||
*sdim = 0;
|
*sdim = 0;
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Get machine constants */
|
/* Get machine constants */
|
||||||
|
@ -1309,7 +1309,7 @@ L40:
|
||||||
work[1].r = (real) maxwrk, work[1].i = 0.f;
|
work[1].r = (real) maxwrk, work[1].i = 0.f;
|
||||||
iwork[1] = liwmin;
|
iwork[1] = liwmin;
|
||||||
|
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGGESX */
|
/* End of CGGESX */
|
||||||
|
|
||||||
|
|
|
@ -734,7 +734,7 @@ ices</b> */
|
||||||
/* > \ingroup complexGEeigen */
|
/* > \ingroup complexGEeigen */
|
||||||
|
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cggev_(char *jobvl, char *jobvr, integer *n, complex *a,
|
/* Subroutine */ void cggev_(char *jobvl, char *jobvr, integer *n, complex *a,
|
||||||
integer *lda, complex *b, integer *ldb, complex *alpha, complex *beta,
|
integer *lda, complex *b, integer *ldb, complex *alpha, complex *beta,
|
||||||
complex *vl, integer *ldvl, complex *vr, integer *ldvr, complex *
|
complex *vl, integer *ldvl, complex *vr, integer *ldvr, complex *
|
||||||
work, integer *lwork, real *rwork, integer *info)
|
work, integer *lwork, real *rwork, integer *info)
|
||||||
|
@ -753,7 +753,7 @@ ices</b> */
|
||||||
integer iwrk;
|
integer iwrk;
|
||||||
extern logical lsame_(char *, char *);
|
extern logical lsame_(char *, char *);
|
||||||
integer ileft, icols, irwrk, irows, jc;
|
integer ileft, icols, irwrk, 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 *, real *, real *, integer *, complex *, integer *,
|
||||||
integer *), cggbal_(char *, integer *, complex *,
|
integer *), cggbal_(char *, integer *, complex *,
|
||||||
integer *, complex *, integer *, integer *, integer *, real *,
|
integer *, complex *, integer *, integer *, integer *, real *,
|
||||||
|
@ -762,25 +762,25 @@ ices</b> */
|
||||||
extern real clange_(char *, integer *, integer *, complex *, integer *,
|
extern real clange_(char *, integer *, integer *, complex *, integer *,
|
||||||
real *);
|
real *);
|
||||||
integer jr;
|
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 *, complex *, integer *, complex *,
|
||||||
integer *, complex *, integer *, integer *),
|
integer *, complex *, integer *, integer *),
|
||||||
clascl_(char *, integer *, integer *, real *, real *, integer *,
|
clascl_(char *, integer *, integer *, real *, real *, integer *,
|
||||||
integer *, complex *, integer *, integer *);
|
integer *, complex *, integer *, integer *);
|
||||||
logical ilascl, ilbscl;
|
logical ilascl, ilbscl;
|
||||||
extern /* Subroutine */ int cgeqrf_(integer *, integer *, complex *,
|
extern /* Subroutine */ void cgeqrf_(integer *, integer *, complex *,
|
||||||
integer *, complex *, complex *, integer *, integer *), clacpy_(
|
integer *, complex *, complex *, integer *, integer *), clacpy_(
|
||||||
char *, integer *, integer *, complex *, integer *, complex *,
|
char *, integer *, integer *, complex *, integer *, complex *,
|
||||||
integer *), claset_(char *, integer *, integer *, complex
|
integer *), claset_(char *, integer *, integer *, complex
|
||||||
*, complex *, complex *, integer *), ctgevc_(char *, char
|
*, complex *, complex *, integer *), ctgevc_(char *, char
|
||||||
*, logical *, integer *, complex *, integer *, complex *, integer
|
*, logical *, integer *, complex *, integer *, complex *, integer
|
||||||
*, complex *, integer *, complex *, integer *, integer *, integer
|
*, complex *, integer *, complex *, integer *, integer *, integer
|
||||||
*, complex *, real *, integer *), xerbla_(char *,
|
*, complex *, real *, integer *);
|
||||||
integer *, ftnlen);
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
logical ldumma[1];
|
logical ldumma[1];
|
||||||
char chtemp[1];
|
char chtemp[1];
|
||||||
real bignum;
|
real bignum;
|
||||||
extern /* Subroutine */ int chgeqz_(char *, char *, char *, integer *,
|
extern /* Subroutine */ void chgeqz_(char *, char *, char *, integer *,
|
||||||
integer *, integer *, complex *, integer *, complex *, integer *,
|
integer *, integer *, complex *, integer *, complex *, integer *,
|
||||||
complex *, complex *, complex *, integer *, complex *, integer *,
|
complex *, complex *, complex *, integer *, complex *, integer *,
|
||||||
complex *, integer *, real *, integer *);
|
complex *, integer *, real *, integer *);
|
||||||
|
@ -788,12 +788,12 @@ ices</b> */
|
||||||
integer *, integer *, ftnlen, ftnlen);
|
integer *, integer *, ftnlen, ftnlen);
|
||||||
extern real slamch_(char *);
|
extern real slamch_(char *);
|
||||||
integer ijobvl, iright, ijobvr;
|
integer ijobvl, iright, ijobvr;
|
||||||
extern /* Subroutine */ int cungqr_(integer *, integer *, integer *,
|
extern /* Subroutine */ void cungqr_(integer *, integer *, integer *,
|
||||||
complex *, integer *, complex *, complex *, integer *, integer *);
|
complex *, integer *, complex *, complex *, integer *, integer *);
|
||||||
real anrmto;
|
real anrmto;
|
||||||
integer lwkmin;
|
integer lwkmin;
|
||||||
real bnrmto;
|
real bnrmto;
|
||||||
extern /* Subroutine */ int cunmqr_(char *, char *, integer *, integer *,
|
extern /* Subroutine */ void cunmqr_(char *, char *, integer *, integer *,
|
||||||
integer *, complex *, integer *, complex *, complex *, integer *,
|
integer *, complex *, integer *, complex *, complex *, integer *,
|
||||||
complex *, integer *, integer *);
|
complex *, integer *, integer *);
|
||||||
real smlnum;
|
real smlnum;
|
||||||
|
@ -913,15 +913,15 @@ ices</b> */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGGEV ", &i__1, (ftnlen)6);
|
xerbla_("CGGEV ", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
} else if (lquery) {
|
} else if (lquery) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Quick return if possible */
|
/* Quick return if possible */
|
||||||
|
|
||||||
if (*n == 0) {
|
if (*n == 0) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Get machine constants */
|
/* Get machine constants */
|
||||||
|
@ -1164,7 +1164,7 @@ L70:
|
||||||
}
|
}
|
||||||
|
|
||||||
work[1].r = (real) lwkopt, work[1].i = 0.f;
|
work[1].r = (real) lwkopt, work[1].i = 0.f;
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGGEV */
|
/* End of CGGEV */
|
||||||
|
|
||||||
|
|
|
@ -733,7 +733,7 @@ f"> */
|
||||||
/* > \ingroup complexGEeigen */
|
/* > \ingroup complexGEeigen */
|
||||||
|
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cggev3_(char *jobvl, char *jobvr, integer *n, complex *a,
|
/* Subroutine */ void cggev3_(char *jobvl, char *jobvr, integer *n, complex *a,
|
||||||
integer *lda, complex *b, integer *ldb, complex *alpha, complex *
|
integer *lda, complex *b, integer *ldb, complex *alpha, complex *
|
||||||
beta, complex *vl, integer *ldvl, complex *vr, integer *ldvr, complex
|
beta, complex *vl, integer *ldvl, complex *vr, integer *ldvr, complex
|
||||||
*work, integer *lwork, real *rwork, integer *info)
|
*work, integer *lwork, real *rwork, integer *info)
|
||||||
|
@ -752,11 +752,11 @@ f"> */
|
||||||
integer iwrk;
|
integer iwrk;
|
||||||
extern logical lsame_(char *, char *);
|
extern logical lsame_(char *, char *);
|
||||||
integer ileft, icols, irwrk;
|
integer ileft, icols, irwrk;
|
||||||
extern /* Subroutine */ int cgghd3_(char *, char *, integer *, integer *,
|
extern /* Subroutine */ void cgghd3_(char *, char *, integer *, integer *,
|
||||||
integer *, complex *, integer *, complex *, integer *, complex *,
|
integer *, complex *, integer *, complex *, integer *, complex *,
|
||||||
integer *, complex *, integer *, complex *, integer *, integer *);
|
integer *, complex *, integer *, complex *, integer *, integer *);
|
||||||
integer irows, jc;
|
integer 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 *, real *, real *, integer *, complex *, integer *,
|
||||||
integer *), cggbal_(char *, integer *, complex *,
|
integer *), cggbal_(char *, integer *, complex *,
|
||||||
integer *, complex *, integer *, integer *, integer *, real *,
|
integer *, complex *, integer *, integer *, integer *, real *,
|
||||||
|
@ -765,31 +765,31 @@ f"> */
|
||||||
extern real clange_(char *, integer *, integer *, complex *, integer *,
|
extern real clange_(char *, integer *, integer *, complex *, integer *,
|
||||||
real *);
|
real *);
|
||||||
integer jr;
|
integer jr;
|
||||||
extern /* Subroutine */ int clascl_(char *, integer *, integer *, real *,
|
extern /* Subroutine */ void clascl_(char *, integer *, integer *, real *,
|
||||||
real *, integer *, integer *, complex *, integer *, integer *);
|
real *, integer *, integer *, complex *, integer *, integer *);
|
||||||
logical ilascl, ilbscl;
|
logical ilascl, ilbscl;
|
||||||
extern /* Subroutine */ int cgeqrf_(integer *, integer *, complex *,
|
extern /* Subroutine */ void cgeqrf_(integer *, integer *, complex *,
|
||||||
integer *, complex *, complex *, integer *, integer *), clacpy_(
|
integer *, complex *, complex *, integer *, integer *), clacpy_(
|
||||||
char *, integer *, integer *, complex *, integer *, complex *,
|
char *, integer *, integer *, complex *, integer *, complex *,
|
||||||
integer *), claset_(char *, integer *, integer *, complex
|
integer *), claset_(char *, integer *, integer *, complex
|
||||||
*, complex *, complex *, integer *), ctgevc_(char *, char
|
*, complex *, complex *, integer *), ctgevc_(char *, char
|
||||||
*, logical *, integer *, complex *, integer *, complex *, integer
|
*, logical *, integer *, complex *, integer *, complex *, integer
|
||||||
*, complex *, integer *, complex *, integer *, integer *, integer
|
*, complex *, integer *, complex *, integer *, integer *, integer
|
||||||
*, complex *, real *, integer *), xerbla_(char *,
|
*, complex *, real *, integer *);
|
||||||
integer *, ftnlen);
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
logical ldumma[1];
|
logical ldumma[1];
|
||||||
char chtemp[1];
|
char chtemp[1];
|
||||||
real bignum;
|
real bignum;
|
||||||
extern /* Subroutine */ int chgeqz_(char *, char *, char *, integer *,
|
extern /* Subroutine */ void chgeqz_(char *, char *, char *, integer *,
|
||||||
integer *, integer *, complex *, integer *, complex *, integer *,
|
integer *, integer *, complex *, integer *, complex *, integer *,
|
||||||
complex *, complex *, complex *, integer *, complex *, integer *,
|
complex *, complex *, complex *, integer *, complex *, integer *,
|
||||||
complex *, integer *, real *, integer *);
|
complex *, integer *, real *, integer *);
|
||||||
extern real slamch_(char *);
|
extern real slamch_(char *);
|
||||||
integer ijobvl, iright, ijobvr;
|
integer ijobvl, iright, ijobvr;
|
||||||
extern /* Subroutine */ int cungqr_(integer *, integer *, integer *,
|
extern /* Subroutine */ void cungqr_(integer *, integer *, integer *,
|
||||||
complex *, integer *, complex *, complex *, integer *, integer *);
|
complex *, integer *, complex *, complex *, integer *, integer *);
|
||||||
real anrmto, bnrmto;
|
real anrmto, bnrmto;
|
||||||
extern /* Subroutine */ int cunmqr_(char *, char *, integer *, integer *,
|
extern /* Subroutine */ void cunmqr_(char *, char *, integer *, integer *,
|
||||||
integer *, complex *, integer *, complex *, complex *, integer *,
|
integer *, complex *, integer *, complex *, complex *, integer *,
|
||||||
complex *, integer *, integer *);
|
complex *, integer *, integer *);
|
||||||
real smlnum;
|
real smlnum;
|
||||||
|
@ -932,15 +932,15 @@ f"> */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGGEV3 ", &i__1, (ftnlen)7);
|
xerbla_("CGGEV3 ", &i__1, (ftnlen)7);
|
||||||
return 0;
|
return;
|
||||||
} else if (lquery) {
|
} else if (lquery) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Quick return if possible */
|
/* Quick return if possible */
|
||||||
|
|
||||||
if (*n == 0) {
|
if (*n == 0) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Get machine constants */
|
/* Get machine constants */
|
||||||
|
@ -1178,7 +1178,7 @@ L70:
|
||||||
|
|
||||||
q__1.r = (real) lwkopt, q__1.i = 0.f;
|
q__1.r = (real) lwkopt, q__1.i = 0.f;
|
||||||
work[1].r = q__1.r, work[1].i = q__1.i;
|
work[1].r = q__1.r, work[1].i = q__1.i;
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGGEV3 */
|
/* End of CGGEV3 */
|
||||||
|
|
||||||
|
|
|
@ -888,7 +888,7 @@ f"> */
|
||||||
/* > \endverbatim */
|
/* > \endverbatim */
|
||||||
/* > */
|
/* > */
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cggevx_(char *balanc, char *jobvl, char *jobvr, char *
|
/* Subroutine */ void cggevx_(char *balanc, char *jobvl, char *jobvr, char *
|
||||||
sense, integer *n, complex *a, integer *lda, complex *b, integer *ldb,
|
sense, integer *n, complex *a, integer *lda, complex *b, integer *ldb,
|
||||||
complex *alpha, complex *beta, complex *vl, integer *ldvl, complex *
|
complex *alpha, complex *beta, complex *vl, integer *ldvl, complex *
|
||||||
vr, integer *ldvr, integer *ilo, integer *ihi, real *lscale, real *
|
vr, integer *ldvr, integer *ilo, integer *ihi, real *lscale, real *
|
||||||
|
@ -912,7 +912,7 @@ f"> */
|
||||||
integer icols;
|
integer icols;
|
||||||
logical noscl;
|
logical noscl;
|
||||||
integer irows, jc;
|
integer 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 *, real *, real *, integer *, complex *, integer *,
|
||||||
integer *), cggbal_(char *, integer *, complex *,
|
integer *), cggbal_(char *, integer *, complex *,
|
||||||
integer *, complex *, integer *, integer *, integer *, real *,
|
integer *, complex *, integer *, integer *, integer *, real *,
|
||||||
|
@ -921,13 +921,13 @@ f"> */
|
||||||
extern real clange_(char *, integer *, integer *, complex *, integer *,
|
extern real clange_(char *, integer *, integer *, complex *, integer *,
|
||||||
real *);
|
real *);
|
||||||
integer jr;
|
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 *, complex *, integer *, complex *,
|
||||||
integer *, complex *, integer *, integer *),
|
integer *, complex *, integer *, integer *),
|
||||||
clascl_(char *, integer *, integer *, real *, real *, integer *,
|
clascl_(char *, integer *, integer *, real *, real *, integer *,
|
||||||
integer *, complex *, integer *, integer *);
|
integer *, complex *, integer *, integer *);
|
||||||
logical ilascl, ilbscl;
|
logical ilascl, ilbscl;
|
||||||
extern /* Subroutine */ int cgeqrf_(integer *, integer *, complex *,
|
extern /* Subroutine */ void cgeqrf_(integer *, integer *, complex *,
|
||||||
integer *, complex *, complex *, integer *, integer *), clacpy_(
|
integer *, complex *, complex *, integer *, integer *), clacpy_(
|
||||||
char *, integer *, integer *, complex *, integer *, complex *,
|
char *, integer *, integer *, complex *, integer *, complex *,
|
||||||
integer *), claset_(char *, integer *, integer *, complex
|
integer *), claset_(char *, integer *, integer *, complex
|
||||||
|
@ -935,7 +935,7 @@ f"> */
|
||||||
logical ldumma[1];
|
logical ldumma[1];
|
||||||
char chtemp[1];
|
char chtemp[1];
|
||||||
real bignum;
|
real bignum;
|
||||||
extern /* Subroutine */ int chgeqz_(char *, char *, char *, integer *,
|
extern /* Subroutine */ void chgeqz_(char *, char *, char *, integer *,
|
||||||
integer *, integer *, complex *, integer *, complex *, integer *,
|
integer *, integer *, complex *, integer *, complex *, integer *,
|
||||||
complex *, complex *, complex *, integer *, complex *, integer *,
|
complex *, complex *, complex *, integer *, complex *, integer *,
|
||||||
complex *, integer *, real *, integer *),
|
complex *, integer *, real *, integer *),
|
||||||
|
@ -943,24 +943,24 @@ f"> */
|
||||||
, complex *, integer *, complex *, integer *, complex *, integer *
|
, complex *, integer *, complex *, integer *, complex *, integer *
|
||||||
, integer *, integer *, complex *, real *, integer *);
|
, integer *, integer *, complex *, real *, integer *);
|
||||||
integer ijobvl;
|
integer ijobvl;
|
||||||
extern /* Subroutine */ int ctgsna_(char *, char *, logical *, integer *,
|
extern /* Subroutine */ void ctgsna_(char *, char *, logical *, integer *,
|
||||||
complex *, integer *, complex *, integer *, complex *, integer *,
|
complex *, integer *, complex *, integer *, complex *, integer *,
|
||||||
complex *, integer *, real *, real *, integer *, integer *,
|
complex *, integer *, real *, real *, integer *, integer *,
|
||||||
complex *, integer *, integer *, integer *),
|
complex *, integer *, integer *, integer *),
|
||||||
slascl_(char *, integer *, integer *, real *, real *, integer *,
|
slascl_(char *, integer *, integer *, real *, real *, integer *,
|
||||||
integer *, real *, integer *, integer *), xerbla_(char *,
|
integer *, real *, integer *, integer *);
|
||||||
integer *, ftnlen);
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
|
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
|
||||||
integer *, integer *, ftnlen, ftnlen);
|
integer *, integer *, ftnlen, ftnlen);
|
||||||
extern real slamch_(char *);
|
extern real slamch_(char *);
|
||||||
integer ijobvr;
|
integer ijobvr;
|
||||||
logical wantsb;
|
logical wantsb;
|
||||||
extern /* Subroutine */ int cungqr_(integer *, integer *, integer *,
|
extern /* Subroutine */ void cungqr_(integer *, integer *, integer *,
|
||||||
complex *, integer *, complex *, complex *, integer *, integer *);
|
complex *, integer *, complex *, complex *, integer *, integer *);
|
||||||
real anrmto;
|
real anrmto;
|
||||||
logical wantse;
|
logical wantse;
|
||||||
real bnrmto;
|
real bnrmto;
|
||||||
extern /* Subroutine */ int cunmqr_(char *, char *, integer *, integer *,
|
extern /* Subroutine */ void cunmqr_(char *, char *, integer *, integer *,
|
||||||
integer *, complex *, integer *, complex *, complex *, integer *,
|
integer *, complex *, integer *, complex *, complex *, integer *,
|
||||||
complex *, integer *, integer *);
|
complex *, integer *, integer *);
|
||||||
integer minwrk, maxwrk;
|
integer minwrk, maxwrk;
|
||||||
|
@ -1106,15 +1106,15 @@ f"> */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGGEVX", &i__1, (ftnlen)6);
|
xerbla_("CGGEVX", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
} else if (lquery) {
|
} else if (lquery) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Quick return if possible */
|
/* Quick return if possible */
|
||||||
|
|
||||||
if (*n == 0) {
|
if (*n == 0) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Get machine constants */
|
/* Get machine constants */
|
||||||
|
@ -1422,7 +1422,7 @@ L90:
|
||||||
}
|
}
|
||||||
|
|
||||||
work[1].r = (real) maxwrk, work[1].i = 0.f;
|
work[1].r = (real) maxwrk, work[1].i = 0.f;
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGGEVX */
|
/* End of CGGEVX */
|
||||||
|
|
||||||
|
|
|
@ -699,7 +699,7 @@ f"> */
|
||||||
/* > \ingroup complexOTHEReigen */
|
/* > \ingroup complexOTHEReigen */
|
||||||
|
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cggglm_(integer *n, integer *m, integer *p, complex *a,
|
/* Subroutine */ void cggglm_(integer *n, integer *m, integer *p, complex *a,
|
||||||
integer *lda, complex *b, integer *ldb, complex *d__, complex *x,
|
integer *lda, complex *b, integer *ldb, complex *d__, complex *x,
|
||||||
complex *y, complex *work, integer *lwork, integer *info)
|
complex *y, complex *work, integer *lwork, integer *info)
|
||||||
{
|
{
|
||||||
|
@ -709,18 +709,19 @@ f"> */
|
||||||
|
|
||||||
/* Local variables */
|
/* Local variables */
|
||||||
integer lopt, i__;
|
integer lopt, i__;
|
||||||
extern /* Subroutine */ int cgemv_(char *, integer *, integer *, complex *
|
extern /* Subroutine */ void cgemv_(char *, integer *, integer *, complex *
|
||||||
, complex *, integer *, complex *, integer *, complex *, complex *
|
, complex *, integer *, complex *, integer *, complex *, complex *
|
||||||
, integer *), ccopy_(integer *, complex *, integer *,
|
, integer *), ccopy_(integer *, complex *, integer *,
|
||||||
complex *, integer *);
|
complex *, integer *);
|
||||||
integer nb, np;
|
integer nb, np;
|
||||||
extern /* Subroutine */ int cggqrf_(integer *, integer *, integer *,
|
extern /* Subroutine */ void cggqrf_(integer *, integer *, integer *,
|
||||||
complex *, integer *, complex *, complex *, integer *, complex *,
|
complex *, integer *, complex *, complex *, integer *, complex *,
|
||||||
complex *, integer *, integer *), xerbla_(char *, integer *, ftnlen);
|
complex *, integer *, integer *);
|
||||||
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
|
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
|
||||||
integer *, integer *, ftnlen, ftnlen);
|
integer *, integer *, ftnlen, ftnlen);
|
||||||
integer lwkmin, nb1, nb2, nb3, nb4;
|
integer lwkmin, nb1, nb2, nb3, nb4;
|
||||||
extern /* Subroutine */ int cunmqr_(char *, char *, integer *, integer *,
|
extern /* Subroutine */ void cunmqr_(char *, char *, integer *, integer *,
|
||||||
integer *, complex *, integer *, complex *, complex *, integer *,
|
integer *, complex *, integer *, complex *, complex *, integer *,
|
||||||
complex *, integer *, integer *), cunmrq_(char *,
|
complex *, integer *, integer *), cunmrq_(char *,
|
||||||
char *, integer *, integer *, integer *, complex *, integer *,
|
char *, integer *, integer *, integer *, complex *, integer *,
|
||||||
|
@ -801,9 +802,9 @@ f"> */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGGGLM", &i__1, (ftnlen)6);
|
xerbla_("CGGGLM", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
} else if (lquery) {
|
} else if (lquery) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Quick return if possible */
|
/* Quick return if possible */
|
||||||
|
@ -819,7 +820,7 @@ f"> */
|
||||||
i__2 = i__;
|
i__2 = i__;
|
||||||
y[i__2].r = 0.f, y[i__2].i = 0.f;
|
y[i__2].r = 0.f, y[i__2].i = 0.f;
|
||||||
}
|
}
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Compute the GQR factorization of matrices A and B: */
|
/* Compute the GQR factorization of matrices A and B: */
|
||||||
|
@ -860,7 +861,7 @@ f"> */
|
||||||
|
|
||||||
if (*info > 0) {
|
if (*info > 0) {
|
||||||
*info = 1;
|
*info = 1;
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
i__1 = *n - *m;
|
i__1 = *n - *m;
|
||||||
|
@ -891,7 +892,7 @@ f"> */
|
||||||
|
|
||||||
if (*info > 0) {
|
if (*info > 0) {
|
||||||
*info = 2;
|
*info = 2;
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Copy D to X */
|
/* Copy D to X */
|
||||||
|
@ -914,7 +915,7 @@ f"> */
|
||||||
i__1 = *m + np + f2cmax(i__2,i__3);
|
i__1 = *m + np + f2cmax(i__2,i__3);
|
||||||
work[1].r = (real) i__1, work[1].i = 0.f;
|
work[1].r = (real) i__1, work[1].i = 0.f;
|
||||||
|
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGGGLM */
|
/* End of CGGGLM */
|
||||||
|
|
||||||
|
|
|
@ -749,7 +749,7 @@ f"> */
|
||||||
/* > \endverbatim */
|
/* > \endverbatim */
|
||||||
/* > */
|
/* > */
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgghd3_(char *compq, char *compz, integer *n, integer *
|
/* Subroutine */ void cgghd3_(char *compq, char *compz, integer *n, integer *
|
||||||
ilo, integer *ihi, complex *a, integer *lda, complex *b, integer *ldb,
|
ilo, integer *ihi, complex *a, integer *lda, complex *b, integer *ldb,
|
||||||
complex *q, integer *ldq, complex *z__, integer *ldz, complex *work,
|
complex *q, integer *ldq, complex *z__, integer *ldz, complex *work,
|
||||||
integer *lwork, integer *info)
|
integer *lwork, integer *info)
|
||||||
|
@ -763,22 +763,22 @@ f"> */
|
||||||
logical blk22;
|
logical blk22;
|
||||||
integer cola, jcol, ierr;
|
integer cola, jcol, ierr;
|
||||||
complex temp;
|
complex temp;
|
||||||
extern /* Subroutine */ int crot_(integer *, complex *, integer *,
|
extern /* Subroutine */ void crot_(integer *, complex *, integer *,
|
||||||
complex *, integer *, real *, complex *);
|
complex *, integer *, real *, complex *);
|
||||||
integer jrow, topq, ppwo;
|
integer jrow, topq, ppwo;
|
||||||
complex temp1, temp2, temp3;
|
complex temp1, temp2, temp3;
|
||||||
real c__;
|
real c__;
|
||||||
integer kacc22, i__, j, k;
|
integer kacc22, i__, j, k;
|
||||||
complex s;
|
complex s;
|
||||||
extern /* Subroutine */ int cgemm_(char *, char *, integer *, integer *,
|
extern /* Subroutine */ void cgemm_(char *, char *, integer *, integer *,
|
||||||
integer *, complex *, complex *, integer *, complex *, integer *,
|
integer *, complex *, complex *, integer *, complex *, integer *,
|
||||||
complex *, complex *, integer *);
|
complex *, complex *, integer *);
|
||||||
extern logical lsame_(char *, char *);
|
extern logical lsame_(char *, char *);
|
||||||
extern /* Subroutine */ int cgemv_(char *, integer *, integer *, complex *
|
extern /* Subroutine */ void cgemv_(char *, integer *, integer *, complex *
|
||||||
, complex *, integer *, complex *, integer *, complex *, complex *
|
, complex *, integer *, complex *, integer *, complex *, complex *
|
||||||
, integer *);
|
, integer *);
|
||||||
integer nbmin;
|
integer nbmin;
|
||||||
extern /* Subroutine */ int cunm22_(char *, char *, integer *, integer *,
|
extern /* Subroutine */ void cunm22_(char *, char *, integer *, integer *,
|
||||||
integer *, integer *, complex *, integer *, complex *, integer *,
|
integer *, integer *, complex *, integer *, complex *, integer *,
|
||||||
complex *, integer *, integer *);
|
complex *, integer *, integer *);
|
||||||
complex ctemp;
|
complex ctemp;
|
||||||
|
@ -787,17 +787,17 @@ f"> */
|
||||||
complex c1, c2;
|
complex c1, c2;
|
||||||
logical wantq;
|
logical wantq;
|
||||||
integer j0;
|
integer j0;
|
||||||
extern /* Subroutine */ int ctrmv_(char *, char *, char *, integer *,
|
extern /* Subroutine */ void ctrmv_(char *, char *, char *, integer *,
|
||||||
complex *, integer *, complex *, integer *);
|
complex *, integer *, complex *, integer *);
|
||||||
logical initz, wantz;
|
logical initz, wantz;
|
||||||
complex s1, s2;
|
complex s1, s2;
|
||||||
char compq2[1], compz2[1];
|
char compq2[1], compz2[1];
|
||||||
integer nb, jj, nh;
|
integer nb, jj, nh;
|
||||||
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 *, complex *, integer *, complex *,
|
||||||
integer *, complex *, integer *, integer *);
|
integer *, complex *, integer *, integer *);
|
||||||
integer nx, pw;
|
integer nx, pw;
|
||||||
extern /* Subroutine */ int claset_(char *, integer *, integer *, complex
|
extern /* Subroutine */ void claset_(char *, integer *, integer *, complex
|
||||||
*, complex *, complex *, integer *), clartg_(complex *,
|
*, complex *, complex *, integer *), clartg_(complex *,
|
||||||
complex *, real *, complex *, complex *), clacpy_(char *, integer
|
complex *, real *, complex *, complex *), clacpy_(char *, integer
|
||||||
*, integer *, complex *, integer *, complex *, integer *);
|
*, integer *, complex *, integer *, complex *, integer *);
|
||||||
|
@ -876,9 +876,9 @@ f"> */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGGHD3", &i__1, (ftnlen)6);
|
xerbla_("CGGHD3", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
} else if (lquery) {
|
} else if (lquery) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Initialize Q and Z if desired. */
|
/* Initialize Q and Z if desired. */
|
||||||
|
@ -903,7 +903,7 @@ f"> */
|
||||||
nh = *ihi - *ilo + 1;
|
nh = *ihi - *ilo + 1;
|
||||||
if (nh <= 1) {
|
if (nh <= 1) {
|
||||||
work[1].r = 1.f, work[1].i = 0.f;
|
work[1].r = 1.f, work[1].i = 0.f;
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Determine the blocksize. */
|
/* Determine the blocksize. */
|
||||||
|
@ -1760,7 +1760,7 @@ f"> */
|
||||||
q__1.r = (real) lwkopt, q__1.i = 0.f;
|
q__1.r = (real) lwkopt, q__1.i = 0.f;
|
||||||
work[1].r = q__1.r, work[1].i = q__1.i;
|
work[1].r = q__1.r, work[1].i = q__1.i;
|
||||||
|
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGGHD3 */
|
/* End of CGGHD3 */
|
||||||
|
|
||||||
|
|
|
@ -718,7 +718,7 @@ f"> */
|
||||||
/* > \endverbatim */
|
/* > \endverbatim */
|
||||||
/* > */
|
/* > */
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgghrd_(char *compq, char *compz, integer *n, integer *
|
/* Subroutine */ void cgghrd_(char *compq, char *compz, integer *n, integer *
|
||||||
ilo, integer *ihi, complex *a, integer *lda, complex *b, integer *ldb,
|
ilo, integer *ihi, complex *a, integer *lda, complex *b, integer *ldb,
|
||||||
complex *q, integer *ldq, complex *z__, integer *ldz, integer *info)
|
complex *q, integer *ldq, complex *z__, integer *ldz, integer *info)
|
||||||
{
|
{
|
||||||
|
@ -729,17 +729,17 @@ f"> */
|
||||||
|
|
||||||
/* Local variables */
|
/* Local variables */
|
||||||
integer jcol;
|
integer jcol;
|
||||||
extern /* Subroutine */ int crot_(integer *, complex *, integer *,
|
extern /* Subroutine */ void crot_(integer *, complex *, integer *,
|
||||||
complex *, integer *, real *, complex *);
|
complex *, integer *, real *, complex *);
|
||||||
integer jrow;
|
integer jrow;
|
||||||
real c__;
|
real c__;
|
||||||
complex s;
|
complex s;
|
||||||
extern logical lsame_(char *, char *);
|
extern logical lsame_(char *, char *);
|
||||||
complex ctemp;
|
complex ctemp;
|
||||||
extern /* Subroutine */ int claset_(char *, integer *, integer *, complex
|
extern /* Subroutine */ void claset_(char *, integer *, integer *, complex
|
||||||
*, complex *, complex *, integer *), clartg_(complex *,
|
*, complex *, complex *, integer *), clartg_(complex *,
|
||||||
complex *, real *, complex *, complex *), xerbla_(char *, integer
|
complex *, real *, complex *, complex *);
|
||||||
*, ftnlen);
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
integer icompq, icompz;
|
integer icompq, icompz;
|
||||||
logical ilq, ilz;
|
logical ilq, ilz;
|
||||||
|
|
||||||
|
@ -823,7 +823,7 @@ f"> */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGGHRD", &i__1, (ftnlen)6);
|
xerbla_("CGGHRD", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Initialize Q and Z if desired. */
|
/* Initialize Q and Z if desired. */
|
||||||
|
@ -838,7 +838,7 @@ f"> */
|
||||||
/* Quick return if possible */
|
/* Quick return if possible */
|
||||||
|
|
||||||
if (*n <= 1) {
|
if (*n <= 1) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Zero out lower triangle of B */
|
/* Zero out lower triangle of B */
|
||||||
|
@ -904,7 +904,7 @@ f"> */
|
||||||
/* L40: */
|
/* L40: */
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGGHRD */
|
/* End of CGGHRD */
|
||||||
|
|
||||||
|
|
|
@ -694,7 +694,7 @@ f"> */
|
||||||
/* > \ingroup complexOTHERsolve */
|
/* > \ingroup complexOTHERsolve */
|
||||||
|
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgglse_(integer *m, integer *n, integer *p, complex *a,
|
/* Subroutine */ void cgglse_(integer *m, integer *n, integer *p, complex *a,
|
||||||
integer *lda, complex *b, integer *ldb, complex *c__, complex *d__,
|
integer *lda, complex *b, integer *ldb, complex *c__, complex *d__,
|
||||||
complex *x, complex *work, integer *lwork, integer *info)
|
complex *x, complex *work, integer *lwork, integer *info)
|
||||||
{
|
{
|
||||||
|
@ -704,20 +704,21 @@ f"> */
|
||||||
|
|
||||||
/* Local variables */
|
/* Local variables */
|
||||||
integer lopt;
|
integer lopt;
|
||||||
extern /* Subroutine */ int cgemv_(char *, integer *, integer *, complex *
|
extern /* Subroutine */ void cgemv_(char *, integer *, integer *, complex *
|
||||||
, complex *, integer *, complex *, integer *, complex *, complex *
|
, complex *, integer *, complex *, integer *, complex *, complex *
|
||||||
, integer *), ccopy_(integer *, complex *, integer *,
|
, integer *), ccopy_(integer *, complex *, integer *,
|
||||||
complex *, integer *), caxpy_(integer *, complex *, complex *,
|
complex *, integer *), caxpy_(integer *, complex *, complex *,
|
||||||
integer *, complex *, integer *), ctrmv_(char *, char *, char *,
|
integer *, complex *, integer *), ctrmv_(char *, char *, char *,
|
||||||
integer *, complex *, integer *, complex *, integer *);
|
integer *, complex *, integer *, complex *, integer *);
|
||||||
integer nb, mn, nr;
|
integer nb, mn, nr;
|
||||||
extern /* Subroutine */ int cggrqf_(integer *, integer *, integer *,
|
extern /* Subroutine */ void cggrqf_(integer *, integer *, integer *,
|
||||||
complex *, integer *, complex *, complex *, integer *, complex *,
|
complex *, integer *, complex *, complex *, integer *, complex *,
|
||||||
complex *, integer *, integer *), xerbla_(char *, integer *, ftnlen);
|
complex *, integer *, integer *);
|
||||||
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
|
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
|
||||||
integer *, integer *, ftnlen, ftnlen);
|
integer *, integer *, ftnlen, ftnlen);
|
||||||
integer lwkmin, nb1, nb2, nb3, nb4;
|
integer lwkmin, nb1, nb2, nb3, nb4;
|
||||||
extern /* Subroutine */ int cunmqr_(char *, char *, integer *, integer *,
|
extern /* Subroutine */ void cunmqr_(char *, char *, integer *, integer *,
|
||||||
integer *, complex *, integer *, complex *, complex *, integer *,
|
integer *, complex *, integer *, complex *, complex *, integer *,
|
||||||
complex *, integer *, integer *), cunmrq_(char *,
|
complex *, integer *, integer *), cunmrq_(char *,
|
||||||
char *, integer *, integer *, integer *, complex *, integer *,
|
char *, integer *, integer *, integer *, complex *, integer *,
|
||||||
|
@ -798,15 +799,15 @@ f"> */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGGLSE", &i__1, (ftnlen)6);
|
xerbla_("CGGLSE", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
} else if (lquery) {
|
} else if (lquery) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Quick return if possible */
|
/* Quick return if possible */
|
||||||
|
|
||||||
if (*n == 0) {
|
if (*n == 0) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Compute the GRQ factorization of matrices B and A: */
|
/* Compute the GRQ factorization of matrices B and A: */
|
||||||
|
@ -844,7 +845,7 @@ f"> */
|
||||||
|
|
||||||
if (*info > 0) {
|
if (*info > 0) {
|
||||||
*info = 1;
|
*info = 1;
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Put the solution in X */
|
/* Put the solution in X */
|
||||||
|
@ -869,7 +870,7 @@ f"> */
|
||||||
|
|
||||||
if (*info > 0) {
|
if (*info > 0) {
|
||||||
*info = 2;
|
*info = 2;
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Put the solutions in X */
|
/* Put the solutions in X */
|
||||||
|
@ -910,7 +911,7 @@ f"> */
|
||||||
i__1 = *p + mn + f2cmax(i__2,i__3);
|
i__1 = *p + mn + f2cmax(i__2,i__3);
|
||||||
work[1].r = (real) i__1, work[1].i = 0.f;
|
work[1].r = (real) i__1, work[1].i = 0.f;
|
||||||
|
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGGLSE */
|
/* End of CGGLSE */
|
||||||
|
|
||||||
|
|
|
@ -728,7 +728,7 @@ f"> */
|
||||||
/* > \endverbatim */
|
/* > \endverbatim */
|
||||||
/* > */
|
/* > */
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cggqrf_(integer *n, integer *m, integer *p, complex *a,
|
/* Subroutine */ void cggqrf_(integer *n, integer *m, integer *p, complex *a,
|
||||||
integer *lda, complex *taua, complex *b, integer *ldb, complex *taub,
|
integer *lda, complex *taua, complex *b, integer *ldb, complex *taub,
|
||||||
complex *work, integer *lwork, integer *info)
|
complex *work, integer *lwork, integer *info)
|
||||||
{
|
{
|
||||||
|
@ -737,14 +737,15 @@ f"> */
|
||||||
|
|
||||||
/* Local variables */
|
/* Local variables */
|
||||||
integer lopt, nb;
|
integer lopt, nb;
|
||||||
extern /* Subroutine */ int cgeqrf_(integer *, integer *, complex *,
|
extern /* Subroutine */ void cgeqrf_(integer *, integer *, complex *,
|
||||||
integer *, complex *, complex *, integer *, integer *), cgerqf_(
|
integer *, complex *, complex *, integer *, integer *), cgerqf_(
|
||||||
integer *, integer *, complex *, integer *, complex *, complex *,
|
integer *, integer *, complex *, integer *, complex *, complex *,
|
||||||
integer *, integer *), xerbla_(char *, integer *, ftnlen);
|
integer *, integer *);
|
||||||
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
|
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
|
||||||
integer *, integer *, ftnlen, ftnlen);
|
integer *, integer *, ftnlen, ftnlen);
|
||||||
integer nb1, nb2, nb3;
|
integer 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 *,
|
integer *, complex *, integer *, complex *, complex *, integer *,
|
||||||
complex *, integer *, integer *);
|
complex *, integer *, integer *);
|
||||||
integer lwkopt;
|
integer lwkopt;
|
||||||
|
@ -808,9 +809,9 @@ f"> */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGGQRF", &i__1, (ftnlen)6);
|
xerbla_("CGGQRF", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
} else if (lquery) {
|
} else if (lquery) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* QR factorization of N-by-M matrix A: A = Q*R */
|
/* QR factorization of N-by-M matrix A: A = Q*R */
|
||||||
|
@ -835,7 +836,7 @@ f"> */
|
||||||
i__1 = f2cmax(i__2,i__3);
|
i__1 = f2cmax(i__2,i__3);
|
||||||
work[1].r = (real) i__1, work[1].i = 0.f;
|
work[1].r = (real) i__1, work[1].i = 0.f;
|
||||||
|
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGGQRF */
|
/* End of CGGQRF */
|
||||||
|
|
||||||
|
|
|
@ -727,7 +727,7 @@ f"> */
|
||||||
/* > \endverbatim */
|
/* > \endverbatim */
|
||||||
/* > */
|
/* > */
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cggrqf_(integer *m, integer *p, integer *n, complex *a,
|
/* Subroutine */ void cggrqf_(integer *m, integer *p, integer *n, complex *a,
|
||||||
integer *lda, complex *taua, complex *b, integer *ldb, complex *taub,
|
integer *lda, complex *taua, complex *b, integer *ldb, complex *taub,
|
||||||
complex *work, integer *lwork, integer *info)
|
complex *work, integer *lwork, integer *info)
|
||||||
{
|
{
|
||||||
|
@ -736,14 +736,15 @@ f"> */
|
||||||
|
|
||||||
/* Local variables */
|
/* Local variables */
|
||||||
integer lopt, nb;
|
integer lopt, nb;
|
||||||
extern /* Subroutine */ int cgeqrf_(integer *, integer *, complex *,
|
extern /* Subroutine */ void cgeqrf_(integer *, integer *, complex *,
|
||||||
integer *, complex *, complex *, integer *, integer *), cgerqf_(
|
integer *, complex *, complex *, integer *, integer *), cgerqf_(
|
||||||
integer *, integer *, complex *, integer *, complex *, complex *,
|
integer *, integer *, complex *, integer *, complex *, complex *,
|
||||||
integer *, integer *), xerbla_(char *, integer *, ftnlen);
|
integer *, integer *);
|
||||||
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
|
extern integer ilaenv_(integer *, char *, char *, integer *, integer *,
|
||||||
integer *, integer *, ftnlen, ftnlen);
|
integer *, integer *, ftnlen, ftnlen);
|
||||||
integer nb1, nb2, nb3;
|
integer nb1, nb2, nb3;
|
||||||
extern /* Subroutine */ int cunmrq_(char *, char *, integer *, integer *,
|
extern /* Subroutine */ void cunmrq_(char *, char *, integer *, integer *,
|
||||||
integer *, complex *, integer *, complex *, complex *, integer *,
|
integer *, complex *, integer *, complex *, complex *, integer *,
|
||||||
complex *, integer *, integer *);
|
complex *, integer *, integer *);
|
||||||
integer lwkopt;
|
integer lwkopt;
|
||||||
|
@ -807,9 +808,9 @@ f"> */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGGRQF", &i__1, (ftnlen)6);
|
xerbla_("CGGRQF", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
} else if (lquery) {
|
} else if (lquery) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* RQ factorization of M-by-N matrix A: A = R*Q */
|
/* RQ factorization of M-by-N matrix A: A = R*Q */
|
||||||
|
@ -836,7 +837,7 @@ f"> */
|
||||||
i__1 = f2cmax(i__2,i__3);
|
i__1 = f2cmax(i__2,i__3);
|
||||||
work[1].r = (real) i__1, work[1].i = 0.f;
|
work[1].r = (real) i__1, work[1].i = 0.f;
|
||||||
|
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGGRQF */
|
/* End of CGGRQF */
|
||||||
|
|
||||||
|
|
|
@ -866,7 +866,7 @@ static integer c__1 = 1;
|
||||||
/* > CGGSVD3 replaces the deprecated subroutine CGGSVD. */
|
/* > CGGSVD3 replaces the deprecated subroutine CGGSVD. */
|
||||||
/* > */
|
/* > */
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cggsvd3_(char *jobu, char *jobv, char *jobq, integer *m,
|
/* Subroutine */ void cggsvd3_(char *jobu, char *jobv, char *jobq, integer *m,
|
||||||
integer *n, integer *p, integer *k, integer *l, complex *a, integer *
|
integer *n, integer *p, integer *k, integer *l, complex *a, integer *
|
||||||
lda, complex *b, integer *ldb, real *alpha, real *beta, complex *u,
|
lda, complex *b, integer *ldb, real *alpha, real *beta, complex *u,
|
||||||
integer *ldu, complex *v, integer *ldv, complex *q, integer *ldq,
|
integer *ldu, complex *v, integer *ldv, complex *q, integer *ldq,
|
||||||
|
@ -887,20 +887,20 @@ static integer c__1 = 1;
|
||||||
extern logical lsame_(char *, char *);
|
extern logical lsame_(char *, char *);
|
||||||
real anorm, bnorm;
|
real anorm, bnorm;
|
||||||
logical wantq;
|
logical wantq;
|
||||||
extern /* Subroutine */ int scopy_(integer *, real *, integer *, real *,
|
extern /* Subroutine */ void scopy_(integer *, real *, integer *, real *,
|
||||||
integer *);
|
integer *);
|
||||||
logical wantu, wantv;
|
logical wantu, wantv;
|
||||||
extern real clange_(char *, integer *, integer *, complex *, integer *,
|
extern real clange_(char *, integer *, integer *, complex *, integer *,
|
||||||
real *), slamch_(char *);
|
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 *,
|
integer *, integer *, integer *, integer *, complex *, integer *,
|
||||||
complex *, integer *, real *, real *, real *, real *, complex *,
|
complex *, integer *, real *, real *, real *, real *, complex *,
|
||||||
integer *, complex *, integer *, complex *, integer *, complex *,
|
integer *, complex *, integer *, complex *, integer *, complex *,
|
||||||
integer *, integer *), xerbla_(char *,
|
integer *, integer *);
|
||||||
integer *, ftnlen);
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
integer lwkopt;
|
integer lwkopt;
|
||||||
logical lquery;
|
logical lquery;
|
||||||
extern /* Subroutine */ int cggsvp3_(char *, char *, char *, integer *,
|
extern /* Subroutine */ void cggsvp3_(char *, char *, char *, integer *,
|
||||||
integer *, integer *, complex *, integer *, complex *, integer *,
|
integer *, integer *, complex *, integer *, complex *, integer *,
|
||||||
real *, real *, integer *, integer *, complex *, integer *,
|
real *, real *, integer *, integer *, complex *, integer *,
|
||||||
complex *, integer *, complex *, integer *, integer *, real *,
|
complex *, integer *, complex *, integer *, integer *, real *,
|
||||||
|
@ -996,10 +996,10 @@ static integer c__1 = 1;
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGGSVD3", &i__1, (ftnlen)7);
|
xerbla_("CGGSVD3", &i__1, (ftnlen)7);
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
if (lquery) {
|
if (lquery) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Compute the Frobenius norm of matrices A and B */
|
/* Compute the Frobenius norm of matrices A and B */
|
||||||
|
@ -1062,7 +1062,7 @@ static integer c__1 = 1;
|
||||||
|
|
||||||
q__1.r = (real) lwkopt, q__1.i = 0.f;
|
q__1.r = (real) lwkopt, q__1.i = 0.f;
|
||||||
work[1].r = q__1.r, work[1].i = q__1.i;
|
work[1].r = q__1.r, work[1].i = q__1.i;
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGGSVD3 */
|
/* End of CGGSVD3 */
|
||||||
|
|
||||||
|
|
|
@ -791,7 +791,7 @@ static integer c_n1 = -1;
|
||||||
/* > \endverbatim */
|
/* > \endverbatim */
|
||||||
/* > */
|
/* > */
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cggsvp3_(char *jobu, char *jobv, char *jobq, integer *m,
|
/* Subroutine */ void cggsvp3_(char *jobu, char *jobv, char *jobq, integer *m,
|
||||||
integer *p, integer *n, complex *a, integer *lda, complex *b, integer
|
integer *p, integer *n, complex *a, integer *lda, complex *b, integer
|
||||||
*ldb, real *tola, real *tolb, integer *k, integer *l, complex *u,
|
*ldb, real *tola, real *tolb, integer *k, integer *l, complex *u,
|
||||||
integer *ldu, complex *v, integer *ldv, complex *q, integer *ldq,
|
integer *ldu, complex *v, integer *ldv, complex *q, integer *ldq,
|
||||||
|
@ -807,7 +807,7 @@ static integer c_n1 = -1;
|
||||||
integer i__, j;
|
integer i__, j;
|
||||||
extern logical lsame_(char *, char *);
|
extern logical lsame_(char *, char *);
|
||||||
logical wantq, wantu, wantv;
|
logical wantq, wantu, wantv;
|
||||||
extern /* Subroutine */ int cgeqp3_(integer *, integer *, complex *,
|
extern /* Subroutine */ void cgeqp3_(integer *, integer *, complex *,
|
||||||
integer *, integer *, complex *, complex *, integer *, real *,
|
integer *, integer *, complex *, complex *, integer *, real *,
|
||||||
integer *), cgeqr2_(integer *, integer *, complex *, integer *,
|
integer *), cgeqr2_(integer *, integer *, complex *, integer *,
|
||||||
complex *, complex *, integer *), cgerq2_(integer *, integer *,
|
complex *, complex *, integer *), cgerq2_(integer *, integer *,
|
||||||
|
@ -820,8 +820,9 @@ static integer c_n1 = -1;
|
||||||
complex *, integer *, complex *, integer *),
|
complex *, integer *, complex *, integer *),
|
||||||
clacpy_(char *, integer *, integer *, complex *, integer *,
|
clacpy_(char *, integer *, integer *, complex *, integer *,
|
||||||
complex *, integer *), claset_(char *, integer *, integer
|
complex *, integer *), claset_(char *, integer *, integer
|
||||||
*, complex *, complex *, complex *, integer *), xerbla_(
|
*, complex *, complex *, complex *, integer *);
|
||||||
char *, integer *, ftnlen), clapmt_(logical *, integer *, integer
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
|
extern void clapmt_(logical *, integer *, integer
|
||||||
*, complex *, integer *, integer *);
|
*, complex *, integer *, integer *);
|
||||||
logical forwrd;
|
logical forwrd;
|
||||||
integer lwkopt;
|
integer lwkopt;
|
||||||
|
@ -927,10 +928,10 @@ static integer c_n1 = -1;
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGGSVP3", &i__1, (ftnlen)7);
|
xerbla_("CGGSVP3", &i__1, (ftnlen)7);
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
if (lquery) {
|
if (lquery) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* QR with column pivoting of B: B*P = V*( S11 S12 ) */
|
/* QR with column pivoting of B: B*P = V*( S11 S12 ) */
|
||||||
|
@ -1186,7 +1187,7 @@ static integer c_n1 = -1;
|
||||||
|
|
||||||
q__1.r = (real) lwkopt, q__1.i = 0.f;
|
q__1.r = (real) lwkopt, q__1.i = 0.f;
|
||||||
work[1].r = q__1.r, work[1].i = q__1.i;
|
work[1].r = q__1.r, work[1].i = q__1.i;
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGGSVP3 */
|
/* End of CGGSVP3 */
|
||||||
|
|
||||||
|
|
|
@ -732,7 +732,7 @@ f"> */
|
||||||
/* > drmac@math.hr. Thank you. */
|
/* > drmac@math.hr. Thank you. */
|
||||||
|
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgsvj0_(char *jobv, integer *m, integer *n, complex *a,
|
/* Subroutine */ void cgsvj0_(char *jobv, integer *m, integer *n, complex *a,
|
||||||
integer *lda, complex *d__, real *sva, integer *mv, complex *v,
|
integer *lda, complex *d__, real *sva, integer *mv, complex *v,
|
||||||
integer *ldv, real *eps, real *sfmin, real *tol, integer *nsweep,
|
integer *ldv, real *eps, real *sfmin, real *tol, integer *nsweep,
|
||||||
complex *work, integer *lwork, integer *info)
|
complex *work, integer *lwork, integer *info)
|
||||||
|
@ -749,7 +749,7 @@ f"> */
|
||||||
real aaqq;
|
real aaqq;
|
||||||
integer ierr;
|
integer ierr;
|
||||||
real bigtheta;
|
real bigtheta;
|
||||||
extern /* Subroutine */ int crot_(integer *, complex *, integer *,
|
extern /* Subroutine */ void crot_(integer *, complex *, integer *,
|
||||||
complex *, integer *, real *, complex *);
|
complex *, integer *, real *, complex *);
|
||||||
complex ompq;
|
complex ompq;
|
||||||
integer pskipped;
|
integer pskipped;
|
||||||
|
@ -761,22 +761,23 @@ f"> */
|
||||||
real apoaq, aqoap;
|
real apoaq, aqoap;
|
||||||
extern logical lsame_(char *, char *);
|
extern logical lsame_(char *, char *);
|
||||||
real theta, small;
|
real theta, small;
|
||||||
extern /* Subroutine */ int ccopy_(integer *, complex *, integer *,
|
extern /* Subroutine */ void ccopy_(integer *, complex *, integer *,
|
||||||
complex *, integer *), cswap_(integer *, complex *, integer *,
|
complex *, integer *), cswap_(integer *, complex *, integer *,
|
||||||
complex *, integer *);
|
complex *, integer *);
|
||||||
logical applv, rsvec;
|
logical applv, rsvec;
|
||||||
extern /* Subroutine */ int caxpy_(integer *, complex *, complex *,
|
extern /* Subroutine */ void caxpy_(integer *, complex *, complex *,
|
||||||
integer *, complex *, integer *);
|
integer *, complex *, integer *);
|
||||||
logical rotok;
|
logical rotok;
|
||||||
real rootsfmin;
|
real rootsfmin;
|
||||||
extern real scnrm2_(integer *, complex *, integer *);
|
extern real scnrm2_(integer *, complex *, integer *);
|
||||||
real cs, sn;
|
real cs, sn;
|
||||||
extern /* Subroutine */ int clascl_(char *, integer *, integer *, real *,
|
extern /* Subroutine */ void clascl_(char *, integer *, integer *, real *,
|
||||||
real *, integer *, integer *, complex *, integer *, integer *), xerbla_(char *, integer *, ftnlen);
|
real *, integer *, integer *, complex *, integer *, integer *);
|
||||||
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
integer ijblsk, swband;
|
integer ijblsk, swband;
|
||||||
extern integer isamax_(integer *, real *, integer *);
|
extern integer isamax_(integer *, real *, integer *);
|
||||||
integer blskip;
|
integer blskip;
|
||||||
extern /* Subroutine */ int classq_(integer *, complex *, integer *, real
|
extern /* Subroutine */ void classq_(integer *, complex *, integer *, real
|
||||||
*, real *);
|
*, real *);
|
||||||
real mxaapq, thsign, mxsinj;
|
real mxaapq, thsign, mxsinj;
|
||||||
integer ir1, emptsw, notrot, iswrot, jbc;
|
integer ir1, emptsw, notrot, iswrot, jbc;
|
||||||
|
@ -840,7 +841,7 @@ f"> */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGSVJ0", &i__1, (ftnlen)6);
|
xerbla_("CGSVJ0", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (rsvec) {
|
if (rsvec) {
|
||||||
|
@ -1661,6 +1662,6 @@ L1995:
|
||||||
/* L5991: */
|
/* L5991: */
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return;
|
||||||
} /* cgsvj0_ */
|
} /* cgsvj0_ */
|
||||||
|
|
||||||
|
|
|
@ -751,7 +751,7 @@ f"> */
|
||||||
/* > Zlatko Drmac (Zagreb, Croatia) */
|
/* > Zlatko Drmac (Zagreb, Croatia) */
|
||||||
|
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgsvj1_(char *jobv, integer *m, integer *n, integer *n1,
|
/* Subroutine */ void cgsvj1_(char *jobv, integer *m, integer *n, integer *n1,
|
||||||
complex *a, integer *lda, complex *d__, real *sva, integer *mv,
|
complex *a, integer *lda, complex *d__, real *sva, integer *mv,
|
||||||
complex *v, integer *ldv, real *eps, real *sfmin, real *tol, integer *
|
complex *v, integer *ldv, real *eps, real *sfmin, real *tol, integer *
|
||||||
nsweep, complex *work, integer *lwork, integer *info)
|
nsweep, complex *work, integer *lwork, integer *info)
|
||||||
|
@ -769,7 +769,7 @@ f"> */
|
||||||
real aaqq;
|
real aaqq;
|
||||||
integer nblr, ierr;
|
integer nblr, ierr;
|
||||||
real bigtheta;
|
real bigtheta;
|
||||||
extern /* Subroutine */ int crot_(integer *, complex *, integer *,
|
extern /* Subroutine */ void crot_(integer *, complex *, integer *,
|
||||||
complex *, integer *, real *, complex *);
|
complex *, integer *, real *, complex *);
|
||||||
complex ompq;
|
complex ompq;
|
||||||
integer pskipped;
|
integer pskipped;
|
||||||
|
@ -781,22 +781,23 @@ f"> */
|
||||||
real apoaq, aqoap;
|
real apoaq, aqoap;
|
||||||
extern logical lsame_(char *, char *);
|
extern logical lsame_(char *, char *);
|
||||||
real theta, small;
|
real theta, small;
|
||||||
extern /* Subroutine */ int ccopy_(integer *, complex *, integer *,
|
extern /* Subroutine */ void ccopy_(integer *, complex *, integer *,
|
||||||
complex *, integer *), cswap_(integer *, complex *, integer *,
|
complex *, integer *), cswap_(integer *, complex *, integer *,
|
||||||
complex *, integer *);
|
complex *, integer *);
|
||||||
logical applv, rsvec;
|
logical applv, rsvec;
|
||||||
extern /* Subroutine */ int caxpy_(integer *, complex *, complex *,
|
extern /* Subroutine */ void caxpy_(integer *, complex *, complex *,
|
||||||
integer *, complex *, integer *);
|
integer *, complex *, integer *);
|
||||||
logical rotok;
|
logical rotok;
|
||||||
real rootsfmin;
|
real rootsfmin;
|
||||||
extern real scnrm2_(integer *, complex *, integer *);
|
extern real scnrm2_(integer *, complex *, integer *);
|
||||||
real cs, sn;
|
real cs, sn;
|
||||||
extern /* Subroutine */ int clascl_(char *, integer *, integer *, real *,
|
extern /* Subroutine */ void clascl_(char *, integer *, integer *, real *,
|
||||||
real *, integer *, integer *, complex *, integer *, integer *), xerbla_(char *, integer *, ftnlen);
|
real *, integer *, integer *, complex *, integer *, integer *);
|
||||||
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
integer ijblsk, swband;
|
integer ijblsk, swband;
|
||||||
extern integer isamax_(integer *, real *, integer *);
|
extern integer isamax_(integer *, real *, integer *);
|
||||||
integer blskip;
|
integer blskip;
|
||||||
extern /* Subroutine */ int classq_(integer *, complex *, integer *, real
|
extern /* Subroutine */ void classq_(integer *, complex *, integer *, real
|
||||||
*, real *);
|
*, real *);
|
||||||
real mxaapq, thsign, mxsinj;
|
real mxaapq, thsign, mxsinj;
|
||||||
integer emptsw, notrot, iswrot, jbc;
|
integer emptsw, notrot, iswrot, jbc;
|
||||||
|
@ -860,7 +861,7 @@ f"> */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGSVJ1", &i__1, (ftnlen)6);
|
xerbla_("CGSVJ1", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (rsvec) {
|
if (rsvec) {
|
||||||
|
@ -1345,6 +1346,6 @@ L1995:
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return 0;
|
return;
|
||||||
} /* cgsvj1_ */
|
} /* cgsvj1_ */
|
||||||
|
|
||||||
|
|
|
@ -653,7 +653,7 @@ f"> */
|
||||||
/* > \ingroup complexGTcomputational */
|
/* > \ingroup complexGTcomputational */
|
||||||
|
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgtcon_(char *norm, integer *n, complex *dl, complex *
|
/* Subroutine */ void cgtcon_(char *norm, integer *n, complex *dl, complex *
|
||||||
d__, complex *du, complex *du2, integer *ipiv, real *anorm, real *
|
d__, complex *du, complex *du2, integer *ipiv, real *anorm, real *
|
||||||
rcond, complex *work, integer *info)
|
rcond, complex *work, integer *info)
|
||||||
{
|
{
|
||||||
|
@ -664,11 +664,12 @@ f"> */
|
||||||
integer kase, kase1, i__;
|
integer kase, kase1, i__;
|
||||||
extern logical lsame_(char *, char *);
|
extern logical lsame_(char *, char *);
|
||||||
integer isave[3];
|
integer isave[3];
|
||||||
extern /* Subroutine */ int clacn2_(integer *, complex *, complex *, real
|
extern /* Subroutine */ void clacn2_(integer *, complex *, complex *, real
|
||||||
*, integer *, integer *), xerbla_(char *, integer *, ftnlen);
|
*, integer *, integer *);
|
||||||
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
real ainvnm;
|
real ainvnm;
|
||||||
logical onenrm;
|
logical onenrm;
|
||||||
extern /* Subroutine */ int cgttrs_(char *, integer *, integer *, complex
|
extern /* Subroutine */ void cgttrs_(char *, integer *, integer *, complex
|
||||||
*, complex *, complex *, complex *, integer *, complex *, integer
|
*, complex *, complex *, complex *, integer *, complex *, integer
|
||||||
*, integer *);
|
*, integer *);
|
||||||
|
|
||||||
|
@ -705,7 +706,7 @@ f"> */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGTCON", &i__1, (ftnlen)6);
|
xerbla_("CGTCON", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Quick return if possible */
|
/* Quick return if possible */
|
||||||
|
@ -713,9 +714,9 @@ f"> */
|
||||||
*rcond = 0.f;
|
*rcond = 0.f;
|
||||||
if (*n == 0) {
|
if (*n == 0) {
|
||||||
*rcond = 1.f;
|
*rcond = 1.f;
|
||||||
return 0;
|
return;
|
||||||
} else if (*anorm == 0.f) {
|
} else if (*anorm == 0.f) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Check that D(1:N) is non-zero. */
|
/* Check that D(1:N) is non-zero. */
|
||||||
|
@ -724,7 +725,7 @@ f"> */
|
||||||
for (i__ = 1; i__ <= i__1; ++i__) {
|
for (i__ = 1; i__ <= i__1; ++i__) {
|
||||||
i__2 = i__;
|
i__2 = i__;
|
||||||
if (d__[i__2].r == 0.f && d__[i__2].i == 0.f) {
|
if (d__[i__2].r == 0.f && d__[i__2].i == 0.f) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
/* L10: */
|
/* L10: */
|
||||||
}
|
}
|
||||||
|
@ -761,7 +762,7 @@ L20:
|
||||||
*rcond = 1.f / ainvnm / *anorm;
|
*rcond = 1.f / ainvnm / *anorm;
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGTCON */
|
/* End of CGTCON */
|
||||||
|
|
||||||
|
|
|
@ -724,7 +724,7 @@ f"> */
|
||||||
/* > \ingroup complexGTcomputational */
|
/* > \ingroup complexGTcomputational */
|
||||||
|
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgtrfs_(char *trans, integer *n, integer *nrhs, complex *
|
/* Subroutine */ void cgtrfs_(char *trans, integer *n, integer *nrhs, complex *
|
||||||
dl, complex *d__, complex *du, complex *dlf, complex *df, complex *
|
dl, complex *d__, complex *du, complex *dlf, complex *df, complex *
|
||||||
duf, complex *du2, integer *ipiv, complex *b, integer *ldb, complex *
|
duf, complex *du2, integer *ipiv, complex *b, integer *ldb, complex *
|
||||||
x, integer *ldx, real *ferr, real *berr, complex *work, real *rwork,
|
x, integer *ldx, real *ferr, real *berr, complex *work, real *rwork,
|
||||||
|
@ -744,11 +744,11 @@ f"> */
|
||||||
real s;
|
real s;
|
||||||
extern logical lsame_(char *, char *);
|
extern logical lsame_(char *, char *);
|
||||||
integer isave[3];
|
integer isave[3];
|
||||||
extern /* Subroutine */ int ccopy_(integer *, complex *, integer *,
|
extern /* Subroutine */ void ccopy_(integer *, complex *, integer *,
|
||||||
complex *, integer *), caxpy_(integer *, complex *, complex *,
|
complex *, integer *), caxpy_(integer *, complex *, complex *,
|
||||||
integer *, complex *, integer *);
|
integer *, complex *, integer *);
|
||||||
integer count;
|
integer count;
|
||||||
extern /* Subroutine */ int clacn2_(integer *, complex *, complex *, real
|
extern /* Subroutine */ void clacn2_(integer *, complex *, complex *, real
|
||||||
*, integer *, integer *), clagtm_(char *, integer *, integer *,
|
*, integer *, integer *), clagtm_(char *, integer *, integer *,
|
||||||
real *, complex *, complex *, complex *, complex *, integer *,
|
real *, complex *, complex *, complex *, complex *, integer *,
|
||||||
real *, complex *, integer *);
|
real *, complex *, integer *);
|
||||||
|
@ -758,7 +758,7 @@ f"> */
|
||||||
extern /* Subroutine */ int xerbla_(char *, integer *, ftnlen);
|
extern /* Subroutine */ int xerbla_(char *, integer *, ftnlen);
|
||||||
logical notran;
|
logical notran;
|
||||||
char transn[1];
|
char transn[1];
|
||||||
extern /* Subroutine */ int cgttrs_(char *, integer *, integer *, complex
|
extern /* Subroutine */ void cgttrs_(char *, integer *, integer *, complex
|
||||||
*, complex *, complex *, complex *, integer *, complex *, integer
|
*, complex *, complex *, complex *, integer *, complex *, integer
|
||||||
*, integer *);
|
*, integer *);
|
||||||
char transt[1];
|
char transt[1];
|
||||||
|
@ -814,7 +814,7 @@ f"> */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGTRFS", &i__1, (ftnlen)6);
|
xerbla_("CGTRFS", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Quick return if possible */
|
/* Quick return if possible */
|
||||||
|
@ -826,7 +826,7 @@ f"> */
|
||||||
berr[j] = 0.f;
|
berr[j] = 0.f;
|
||||||
/* L10: */
|
/* L10: */
|
||||||
}
|
}
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (notran) {
|
if (notran) {
|
||||||
|
@ -1131,7 +1131,7 @@ L70:
|
||||||
/* L110: */
|
/* L110: */
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGTRFS */
|
/* End of CGTRFS */
|
||||||
|
|
||||||
|
|
|
@ -633,7 +633,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ
|
||||||
/* > \ingroup complexGTsolve */
|
/* > \ingroup complexGTsolve */
|
||||||
|
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgtsv_(integer *n, integer *nrhs, complex *dl, complex *
|
/* Subroutine */ void cgtsv_(integer *n, integer *nrhs, complex *dl, complex *
|
||||||
d__, complex *du, complex *b, integer *ldb, integer *info)
|
d__, complex *du, complex *b, integer *ldb, integer *info)
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
|
@ -676,11 +676,11 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGTSV ", &i__1, (ftnlen)6);
|
xerbla_("CGTSV ", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (*n == 0) {
|
if (*n == 0) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
i__1 = *n - 1;
|
i__1 = *n - 1;
|
||||||
|
@ -697,7 +697,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ
|
||||||
/* solution can not be found. */
|
/* solution can not be found. */
|
||||||
|
|
||||||
*info = k;
|
*info = k;
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
} else /* if(complicated condition) */ {
|
} else /* if(complicated condition) */ {
|
||||||
i__2 = k;
|
i__2 = k;
|
||||||
|
@ -785,7 +785,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ
|
||||||
i__1 = *n;
|
i__1 = *n;
|
||||||
if (d__[i__1].r == 0.f && d__[i__1].i == 0.f) {
|
if (d__[i__1].r == 0.f && d__[i__1].i == 0.f) {
|
||||||
*info = *n;
|
*info = *n;
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Back solve with the matrix U from the factorization. */
|
/* Back solve with the matrix U from the factorization. */
|
||||||
|
@ -826,7 +826,7 @@ static inline void zdotu_(doublecomplex *z, integer *n_, doublecomplex *x, integ
|
||||||
/* L50: */
|
/* L50: */
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGTSV */
|
/* End of CGTSV */
|
||||||
|
|
||||||
|
|
|
@ -805,7 +805,7 @@ f"> */
|
||||||
/* > \ingroup complexGTsolve */
|
/* > \ingroup complexGTsolve */
|
||||||
|
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgtsvx_(char *fact, char *trans, integer *n, integer *
|
/* Subroutine */ void cgtsvx_(char *fact, char *trans, integer *n, integer *
|
||||||
nrhs, complex *dl, complex *d__, complex *du, complex *dlf, complex *
|
nrhs, complex *dl, complex *d__, complex *du, complex *dlf, complex *
|
||||||
df, complex *duf, complex *du2, integer *ipiv, complex *b, integer *
|
df, complex *duf, complex *du2, integer *ipiv, complex *b, integer *
|
||||||
ldb, complex *x, integer *ldx, real *rcond, real *ferr, real *berr,
|
ldb, complex *x, integer *ldx, real *rcond, real *ferr, real *berr,
|
||||||
|
@ -818,22 +818,23 @@ f"> */
|
||||||
char norm[1];
|
char norm[1];
|
||||||
extern logical lsame_(char *, char *);
|
extern logical lsame_(char *, char *);
|
||||||
real anorm;
|
real anorm;
|
||||||
extern /* Subroutine */ int ccopy_(integer *, complex *, integer *,
|
extern /* Subroutine */ void ccopy_(integer *, complex *, integer *,
|
||||||
complex *, integer *);
|
complex *, integer *);
|
||||||
extern real slamch_(char *), clangt_(char *, integer *, complex *,
|
extern real slamch_(char *), clangt_(char *, integer *, complex *,
|
||||||
complex *, complex *);
|
complex *, complex *);
|
||||||
logical nofact;
|
logical nofact;
|
||||||
extern /* Subroutine */ int clacpy_(char *, integer *, integer *, complex
|
extern /* Subroutine */ void clacpy_(char *, integer *, integer *, complex
|
||||||
*, integer *, complex *, integer *), cgtcon_(char *,
|
*, integer *, complex *, integer *), cgtcon_(char *,
|
||||||
integer *, complex *, complex *, complex *, complex *, integer *,
|
integer *, complex *, complex *, complex *, complex *, integer *,
|
||||||
real *, real *, complex *, integer *), xerbla_(char *,
|
real *, real *, complex *, integer *);
|
||||||
integer *, ftnlen), cgtrfs_(char *, integer *, integer *, complex
|
extern int xerbla_(char *, integer *, ftnlen);
|
||||||
|
extern void cgtrfs_(char *, integer *, integer *, complex
|
||||||
*, complex *, complex *, complex *, complex *, complex *, complex
|
*, complex *, complex *, complex *, complex *, complex *, complex
|
||||||
*, integer *, complex *, integer *, complex *, integer *, real *,
|
*, integer *, complex *, integer *, complex *, integer *, real *,
|
||||||
real *, complex *, real *, integer *), cgttrf_(integer *,
|
real *, complex *, real *, integer *), cgttrf_(integer *,
|
||||||
complex *, complex *, complex *, complex *, integer *, integer *);
|
complex *, complex *, complex *, complex *, integer *, integer *);
|
||||||
logical notran;
|
logical notran;
|
||||||
extern /* Subroutine */ int cgttrs_(char *, integer *, integer *, complex
|
extern /* Subroutine */ void cgttrs_(char *, integer *, integer *, complex
|
||||||
*, complex *, complex *, complex *, integer *, complex *, integer
|
*, complex *, complex *, complex *, integer *, complex *, integer
|
||||||
*, integer *);
|
*, integer *);
|
||||||
|
|
||||||
|
@ -888,7 +889,7 @@ f"> */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGTSVX", &i__1, (ftnlen)6);
|
xerbla_("CGTSVX", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (nofact) {
|
if (nofact) {
|
||||||
|
@ -908,7 +909,7 @@ f"> */
|
||||||
|
|
||||||
if (*info > 0) {
|
if (*info > 0) {
|
||||||
*rcond = 0.f;
|
*rcond = 0.f;
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -945,7 +946,7 @@ f"> */
|
||||||
*info = *n + 1;
|
*info = *n + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGTSVX */
|
/* End of CGTSVX */
|
||||||
|
|
||||||
|
|
|
@ -633,7 +633,7 @@ f"> */
|
||||||
/* > \ingroup complexGTcomputational */
|
/* > \ingroup complexGTcomputational */
|
||||||
|
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgttrf_(integer *n, complex *dl, complex *d__, complex *
|
/* Subroutine */ void cgttrf_(integer *n, complex *dl, complex *d__, complex *
|
||||||
du, complex *du2, integer *ipiv, integer *info)
|
du, complex *du2, integer *ipiv, integer *info)
|
||||||
{
|
{
|
||||||
/* System generated locals */
|
/* System generated locals */
|
||||||
|
@ -669,13 +669,13 @@ f"> */
|
||||||
*info = -1;
|
*info = -1;
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGTTRF", &i__1, (ftnlen)6);
|
xerbla_("CGTTRF", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Quick return if possible */
|
/* Quick return if possible */
|
||||||
|
|
||||||
if (*n == 0) {
|
if (*n == 0) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Initialize IPIV(i) = i and DU2(i) = 0 */
|
/* Initialize IPIV(i) = i and DU2(i) = 0 */
|
||||||
|
@ -811,7 +811,7 @@ f"> */
|
||||||
}
|
}
|
||||||
L50:
|
L50:
|
||||||
|
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CGTTRF */
|
/* End of CGTTRF */
|
||||||
|
|
||||||
|
|
|
@ -651,7 +651,7 @@ f"> */
|
||||||
/* > \ingroup complexGTcomputational */
|
/* > \ingroup complexGTcomputational */
|
||||||
|
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgttrs_(char *trans, integer *n, integer *nrhs, complex *
|
/* Subroutine */ void cgttrs_(char *trans, integer *n, integer *nrhs, complex *
|
||||||
dl, complex *d__, complex *du, complex *du2, integer *ipiv, complex *
|
dl, complex *d__, complex *du, complex *du2, integer *ipiv, complex *
|
||||||
b, integer *ldb, integer *info)
|
b, integer *ldb, integer *info)
|
||||||
{
|
{
|
||||||
|
@ -660,7 +660,7 @@ f"> */
|
||||||
|
|
||||||
/* Local variables */
|
/* Local variables */
|
||||||
integer j;
|
integer j;
|
||||||
extern /* Subroutine */ int cgtts2_(integer *, integer *, integer *,
|
extern /* Subroutine */ void cgtts2_(integer *, integer *, integer *,
|
||||||
complex *, complex *, complex *, complex *, integer *, complex *,
|
complex *, complex *, complex *, complex *, integer *, complex *,
|
||||||
integer *);
|
integer *);
|
||||||
integer jb, nb;
|
integer jb, nb;
|
||||||
|
@ -707,13 +707,13 @@ f"> */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CGTTRS", &i__1, (ftnlen)6);
|
xerbla_("CGTTRS", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Quick return if possible */
|
/* Quick return if possible */
|
||||||
|
|
||||||
if (*n == 0 || *nrhs == 0) {
|
if (*n == 0 || *nrhs == 0) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Decode TRANS */
|
/* Decode TRANS */
|
||||||
|
@ -756,6 +756,6 @@ f"> */
|
||||||
|
|
||||||
/* End of CGTTRS */
|
/* End of CGTTRS */
|
||||||
|
|
||||||
return 0;
|
return;
|
||||||
} /* cgttrs_ */
|
} /* cgttrs_ */
|
||||||
|
|
||||||
|
|
|
@ -638,7 +638,7 @@ f"> */
|
||||||
/* > \ingroup complexGTcomputational */
|
/* > \ingroup complexGTcomputational */
|
||||||
|
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int cgtts2_(integer *itrans, integer *n, integer *nrhs,
|
/* Subroutine */ void cgtts2_(integer *itrans, integer *n, integer *nrhs,
|
||||||
complex *dl, complex *d__, complex *du, complex *du2, integer *ipiv,
|
complex *dl, complex *d__, complex *du, complex *du2, integer *ipiv,
|
||||||
complex *b, integer *ldb)
|
complex *b, integer *ldb)
|
||||||
{
|
{
|
||||||
|
@ -674,7 +674,7 @@ f"> */
|
||||||
|
|
||||||
/* Function Body */
|
/* Function Body */
|
||||||
if (*n == 0 || *nrhs == 0) {
|
if (*n == 0 || *nrhs == 0) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (*itrans == 0) {
|
if (*itrans == 0) {
|
||||||
|
@ -1142,6 +1142,6 @@ L130:
|
||||||
|
|
||||||
/* End of CGTTS2 */
|
/* End of CGTTS2 */
|
||||||
|
|
||||||
return 0;
|
return;
|
||||||
} /* cgtts2_ */
|
} /* cgtts2_ */
|
||||||
|
|
||||||
|
|
|
@ -680,7 +680,7 @@ kernels.f"> */
|
||||||
/* > \endverbatim */
|
/* > \endverbatim */
|
||||||
/* > */
|
/* > */
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int chb2st_kernels_(char *uplo, logical *wantz, integer *
|
/* Subroutine */ void chb2st_kernels_(char *uplo, logical *wantz, integer *
|
||||||
ttype, integer *st, integer *ed, integer *sweep, integer *n, integer *
|
ttype, integer *st, integer *ed, integer *sweep, integer *n, integer *
|
||||||
nb, integer *ib, complex *a, integer *lda, complex *v, complex *tau,
|
nb, integer *ib, complex *a, integer *lda, complex *v, complex *tau,
|
||||||
integer *ldvt, complex *work)
|
integer *ldvt, complex *work)
|
||||||
|
@ -695,10 +695,10 @@ kernels.f"> */
|
||||||
extern logical lsame_(char *, char *);
|
extern logical lsame_(char *, char *);
|
||||||
logical upper;
|
logical upper;
|
||||||
integer j1, j2, lm, ln;
|
integer j1, j2, lm, ln;
|
||||||
extern /* Subroutine */ int clarfg_(integer *, complex *, complex *,
|
extern /* Subroutine */ void clarfg_(integer *, complex *, complex *,
|
||||||
integer *, complex *);
|
integer *, complex *);
|
||||||
integer ajeter;
|
integer ajeter;
|
||||||
extern /* Subroutine */ int clarfx_(char *, integer *, integer *, complex
|
extern /* Subroutine */ void clarfx_(char *, integer *, integer *, complex
|
||||||
*, complex *, complex *, integer *, complex *), clarfy_(
|
*, complex *, complex *, integer *, complex *), clarfy_(
|
||||||
char *, integer *, complex *, integer *, complex *, complex *,
|
char *, integer *, complex *, integer *, complex *, complex *,
|
||||||
integer *, complex *);
|
integer *, complex *);
|
||||||
|
@ -917,7 +917,7 @@ kernels.f"> */
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* END OF CHB2ST_KERNELS */
|
/* END OF CHB2ST_KERNELS */
|
||||||
|
|
||||||
|
|
|
@ -666,7 +666,7 @@ atrices</b> */
|
||||||
/* > \ingroup complexOTHEReigen */
|
/* > \ingroup complexOTHEReigen */
|
||||||
|
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int chbev_(char *jobz, char *uplo, integer *n, integer *kd,
|
/* Subroutine */ void chbev_(char *jobz, char *uplo, integer *n, integer *kd,
|
||||||
complex *ab, integer *ldab, real *w, complex *z__, integer *ldz,
|
complex *ab, integer *ldab, real *w, complex *z__, integer *ldz,
|
||||||
complex *work, real *rwork, integer *info)
|
complex *work, real *rwork, integer *info)
|
||||||
{
|
{
|
||||||
|
@ -681,12 +681,12 @@ atrices</b> */
|
||||||
real rmin, rmax, sigma;
|
real rmin, rmax, sigma;
|
||||||
extern logical lsame_(char *, char *);
|
extern logical lsame_(char *, char *);
|
||||||
integer iinfo;
|
integer iinfo;
|
||||||
extern /* Subroutine */ int sscal_(integer *, real *, real *, integer *);
|
extern /* Subroutine */ void sscal_(integer *, real *, real *, integer *);
|
||||||
logical lower, wantz;
|
logical lower, wantz;
|
||||||
extern real clanhb_(char *, char *, integer *, integer *, complex *,
|
extern real clanhb_(char *, char *, integer *, integer *, complex *,
|
||||||
integer *, real *);
|
integer *, real *);
|
||||||
integer iscale;
|
integer iscale;
|
||||||
extern /* Subroutine */ int clascl_(char *, integer *, integer *, real *,
|
extern /* Subroutine */ void clascl_(char *, integer *, integer *, real *,
|
||||||
real *, integer *, integer *, complex *, integer *, integer *), chbtrd_(char *, char *, integer *, integer *, complex *,
|
real *, integer *, integer *, complex *, integer *, integer *), chbtrd_(char *, char *, integer *, integer *, complex *,
|
||||||
integer *, real *, real *, complex *, integer *, complex *,
|
integer *, real *, real *, complex *, integer *, complex *,
|
||||||
integer *);
|
integer *);
|
||||||
|
@ -695,7 +695,7 @@ atrices</b> */
|
||||||
extern /* Subroutine */ int xerbla_(char *, integer *, ftnlen);
|
extern /* Subroutine */ int xerbla_(char *, integer *, ftnlen);
|
||||||
real bignum;
|
real bignum;
|
||||||
integer indrwk;
|
integer indrwk;
|
||||||
extern /* Subroutine */ int csteqr_(char *, integer *, real *, real *,
|
extern /* Subroutine */ void csteqr_(char *, integer *, real *, real *,
|
||||||
complex *, integer *, real *, integer *), ssterf_(integer
|
complex *, integer *, real *, integer *), ssterf_(integer
|
||||||
*, real *, real *, integer *);
|
*, real *, real *, integer *);
|
||||||
real smlnum, eps;
|
real smlnum, eps;
|
||||||
|
@ -745,13 +745,13 @@ atrices</b> */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CHBEV ", &i__1, (ftnlen)6);
|
xerbla_("CHBEV ", &i__1, (ftnlen)6);
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Quick return if possible */
|
/* Quick return if possible */
|
||||||
|
|
||||||
if (*n == 0) {
|
if (*n == 0) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (*n == 1) {
|
if (*n == 1) {
|
||||||
|
@ -766,7 +766,7 @@ atrices</b> */
|
||||||
i__1 = z_dim1 + 1;
|
i__1 = z_dim1 + 1;
|
||||||
z__[i__1].r = 1.f, z__[i__1].i = 0.f;
|
z__[i__1].r = 1.f, z__[i__1].i = 0.f;
|
||||||
}
|
}
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Get machine constants. */
|
/* Get machine constants. */
|
||||||
|
@ -827,7 +827,7 @@ atrices</b> */
|
||||||
sscal_(&imax, &r__1, &w[1], &c__1);
|
sscal_(&imax, &r__1, &w[1], &c__1);
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CHBEV */
|
/* End of CHBEV */
|
||||||
|
|
||||||
|
|
|
@ -729,7 +729,7 @@ stage.f"> */
|
||||||
/* > \endverbatim */
|
/* > \endverbatim */
|
||||||
|
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
/* Subroutine */ int chbev_2stage_(char *jobz, char *uplo, integer *n,
|
/* Subroutine */ void chbev_2stage_(char *jobz, char *uplo, integer *n,
|
||||||
integer *kd, complex *ab, integer *ldab, real *w, complex *z__,
|
integer *kd, complex *ab, integer *ldab, real *w, complex *z__,
|
||||||
integer *ldz, complex *work, integer *lwork, real *rwork, integer *
|
integer *ldz, complex *work, integer *lwork, real *rwork, integer *
|
||||||
info)
|
info)
|
||||||
|
@ -739,7 +739,7 @@ stage.f"> */
|
||||||
real r__1;
|
real r__1;
|
||||||
|
|
||||||
/* Local variables */
|
/* Local variables */
|
||||||
extern /* Subroutine */ int chetrd_hb2st_(char *, char *, char *,
|
extern /* Subroutine */ void chetrd_hb2st_(char *, char *, char *,
|
||||||
integer *, integer *, complex *, integer *, real *, real *,
|
integer *, integer *, complex *, integer *, real *, real *,
|
||||||
complex *, integer *, complex *, integer *, integer *);
|
complex *, integer *, complex *, integer *, integer *);
|
||||||
integer inde;
|
integer inde;
|
||||||
|
@ -750,7 +750,7 @@ stage.f"> */
|
||||||
real rmin, rmax, sigma;
|
real rmin, rmax, sigma;
|
||||||
extern logical lsame_(char *, char *);
|
extern logical lsame_(char *, char *);
|
||||||
integer iinfo;
|
integer iinfo;
|
||||||
extern /* Subroutine */ int sscal_(integer *, real *, real *, integer *);
|
extern /* Subroutine */ void sscal_(integer *, real *, real *, integer *);
|
||||||
integer lhtrd, lwmin;
|
integer lhtrd, lwmin;
|
||||||
logical lower;
|
logical lower;
|
||||||
integer lwtrd;
|
integer lwtrd;
|
||||||
|
@ -759,14 +759,14 @@ stage.f"> */
|
||||||
extern real clanhb_(char *, char *, integer *, integer *, complex *,
|
extern real clanhb_(char *, char *, integer *, integer *, complex *,
|
||||||
integer *, real *);
|
integer *, real *);
|
||||||
integer iscale;
|
integer iscale;
|
||||||
extern /* Subroutine */ int clascl_(char *, integer *, integer *, real *,
|
extern /* Subroutine */ void clascl_(char *, integer *, integer *, real *,
|
||||||
real *, integer *, integer *, complex *, integer *, integer *);
|
real *, integer *, integer *, complex *, integer *, integer *);
|
||||||
extern real slamch_(char *);
|
extern real slamch_(char *);
|
||||||
real safmin;
|
real safmin;
|
||||||
extern /* Subroutine */ int xerbla_(char *, integer *, ftnlen);
|
extern /* Subroutine */ int xerbla_(char *, integer *, ftnlen);
|
||||||
real bignum;
|
real bignum;
|
||||||
integer indwrk, indrwk;
|
integer indwrk, indrwk;
|
||||||
extern /* Subroutine */ int csteqr_(char *, integer *, real *, real *,
|
extern /* Subroutine */ void csteqr_(char *, integer *, real *, real *,
|
||||||
complex *, integer *, real *, integer *), ssterf_(integer
|
complex *, integer *, real *, integer *), ssterf_(integer
|
||||||
*, real *, real *, integer *);
|
*, real *, real *, integer *);
|
||||||
integer llwork;
|
integer llwork;
|
||||||
|
@ -842,15 +842,15 @@ stage.f"> */
|
||||||
if (*info != 0) {
|
if (*info != 0) {
|
||||||
i__1 = -(*info);
|
i__1 = -(*info);
|
||||||
xerbla_("CHBEV_2STAGE ", &i__1, (ftnlen)13);
|
xerbla_("CHBEV_2STAGE ", &i__1, (ftnlen)13);
|
||||||
return 0;
|
return;
|
||||||
} else if (lquery) {
|
} else if (lquery) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Quick return if possible */
|
/* Quick return if possible */
|
||||||
|
|
||||||
if (*n == 0) {
|
if (*n == 0) {
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (*n == 1) {
|
if (*n == 1) {
|
||||||
|
@ -865,7 +865,7 @@ stage.f"> */
|
||||||
i__1 = z_dim1 + 1;
|
i__1 = z_dim1 + 1;
|
||||||
z__[i__1].r = 1.f, z__[i__1].i = 0.f;
|
z__[i__1].r = 1.f, z__[i__1].i = 0.f;
|
||||||
}
|
}
|
||||||
return 0;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Get machine constants. */
|
/* Get machine constants. */
|
||||||
|
@ -935,7 +935,7 @@ stage.f"> */
|
||||||
|
|
||||||
work[1].r = (real) lwmin, work[1].i = 0.f;
|
work[1].r = (real) lwmin, work[1].i = 0.f;
|
||||||
|
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
/* End of CHBEV_2STAGE */
|
/* End of CHBEV_2STAGE */
|
||||||
|
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue