您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ zdscal_函数代码示例

51自学网 2021-06-03 11:56:23
  C++
这篇教程C++ zdscal_函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中zdscal_函数的典型用法代码示例。如果您正苦于以下问题:C++ zdscal_函数的具体用法?C++ zdscal_怎么用?C++ zdscal_使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了zdscal_函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: f2c_zdscal

intf2c_zdscal(integer* N,           doublereal* alpha,           doublecomplex* X, integer* incX){    zdscal_(N, alpha, X, incX);    return 0;}
开发者ID:CIBC-Internal,项目名称:clapack,代码行数:8,


示例2: zdscal_

/*! double*_zgematrix operator */inline _zgematrix operator*(const double& d, const _zgematrix& mat){#ifdef  CPPL_VERBOSE  std::cerr << "# [MARK] operator*(const double&, const _zgematrix&)"            << std::endl;#endif//CPPL_VERBOSE    zdscal_(mat.M*mat.N, d, mat.Array, 1);  return mat;}
开发者ID:ninghang,项目名称:bayesianPlay,代码行数:11,


示例3: zdscal_

/*! zcovector*=double operator */inline zcovector& zcovector::operator*=(const double& d){#ifdef  CPPL_VERBOSE  std::cerr << "# [MARK] zcovector::operator*=(const double&)"            << std::endl;#endif//CPPL_VERBOSE    zdscal_(L, d, Array, 1);  return *this;}
开发者ID:ninghang,项目名称:bayesianPlay,代码行数:11,


示例4: zpbtf2_

 int zpbtf2_(char *uplo, int *n, int *kd, 	doublecomplex *ab, int *ldab, int *info){    /* System generated locals */    int ab_dim1, ab_offset, i__1, i__2, i__3;    double d__1;    /* Builtin functions */    double sqrt(double);    /* Local variables */    int j, kn;    double ajj;    int kld;    extern  int zher_(char *, int *, double *, 	    doublecomplex *, int *, doublecomplex *, int *);    extern int lsame_(char *, char *);    int upper;    extern  int xerbla_(char *, int *), zdscal_(	    int *, double *, doublecomplex *, int *), zlacgv_(	    int *, doublecomplex *, int *);/*  -- LAPACK routine (version 3.2) -- *//*     Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. *//*     November 2006 *//*     .. Scalar Arguments .. *//*     .. *//*     .. Array Arguments .. *//*     .. *//*  Purpose *//*  ======= *//*  ZPBTF2 computes the Cholesky factorization of a complex Hermitian *//*  positive definite band matrix A. *//*  The factorization has the form *//*     A = U' * U ,  if UPLO = 'U', or *//*     A = L  * L',  if UPLO = 'L', *//*  where U is an upper triangular matrix, U' is the conjugate transpose *//*  of U, and L is lower triangular. *//*  This is the unblocked version of the algorithm, calling Level 2 BLAS. *//*  Arguments *//*  ========= *//*  UPLO    (input) CHARACTER*1 *//*          Specifies whether the upper or lower triangular part of the *//*          Hermitian matrix A is stored: *//*          = 'U':  Upper triangular *//*          = 'L':  Lower triangular *//*  N       (input) INTEGER *//*          The order of the matrix A.  N >= 0. *//*  KD      (input) INTEGER *//*          The number of super-diagonals of the matrix A if UPLO = 'U', *//*          or the number of sub-diagonals if UPLO = 'L'.  KD >= 0. *//*  AB      (input/output) COMPLEX*16 array, dimension (LDAB,N) *//*          On entry, the upper or lower triangle of the Hermitian band *//*          matrix A, stored in the first KD+1 rows of the array.  The *//*          j-th column of A is stored in the j-th column of the array AB *//*          as follows: *//*          if UPLO = 'U', AB(kd+1+i-j,j) = A(i,j) for MAX(1,j-kd)<=i<=j; *//*          if UPLO = 'L', AB(1+i-j,j)    = A(i,j) for j<=i<=MIN(n,j+kd). *//*          On exit, if INFO = 0, the triangular factor U or L from the *//*          Cholesky factorization A = U'*U or A = L*L' of the band *//*          matrix A, in the same storage format as A. *//*  LDAB    (input) INTEGER *//*          The leading dimension of the array AB.  LDAB >= KD+1. *//*  INFO    (output) INTEGER *//*          = 0: successful exit *//*          < 0: if INFO = -k, the k-th argument had an illegal value *//*          > 0: if INFO = k, the leading minor of order k is not *//*               positive definite, and the factorization could not be *//*               completed. *//*  Further Details *//*  =============== *//*  The band storage scheme is illustrated by the following example, when *//*  N = 6, KD = 2, and UPLO = 'U': *//*  On entry:                       On exit: *//*      *    *   a13  a24  a35  a46      *    *   u13  u24  u35  u46 *//*      *   a12  a23  a34  a45  a56      *   u12  u23  u34  u45  u56 *//*     a11  a22  a33  a44  a55  a66     u11  u22  u33  u44  u55  u66 *//*  Similarly, if UPLO = 'L' the format of A is as follows: *//*  On entry:                       On exit: *///.........这里部分代码省略.........
开发者ID:GuillaumeFuchs,项目名称:Ensimag,代码行数:101,


示例5: complex

/* Subroutine */ int zlarfg_(integer *n, doublecomplex *alpha, doublecomplex *	x, integer *incx, doublecomplex *tau){/*  -- LAPACK auxiliary routine (version 3.0) --          Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd.,          Courant Institute, Argonne National Lab, and Rice University          September 30, 1994       Purpose       =======       ZLARFG generates a complex elementary reflector H of order n, such       that             H' * ( alpha ) = ( beta ),   H' * H = I.                  (   x   )   (   0  )       where alpha and beta are scalars, with beta real, and x is an       (n-1)-element complex vector. H is represented in the form             H = I - tau * ( 1 ) * ( 1 v' ) ,                           ( v )       where tau is a complex scalar and v is a complex (n-1)-element       vector. Note that H is not hermitian.       If the elements of x are all zero and alpha is real, then tau = 0       and H is taken to be the unit matrix.       Otherwise  1 <= real(tau) <= 2  and  abs(tau-1) <= 1 .       Arguments       =========       N       (input) INTEGER               The order of the elementary reflector.       ALPHA   (input/output) COMPLEX*16               On entry, the value alpha.               On exit, it is overwritten with the value beta.       X       (input/output) COMPLEX*16 array, dimension                              (1+(N-2)*abs(INCX))               On entry, the vector x.               On exit, it is overwritten with the vector v.       INCX    (input) INTEGER               The increment between elements of X. INCX > 0.       TAU     (output) COMPLEX*16               The value tau.       =====================================================================          Parameter adjustments */    /* Table of constant values */    static doublecomplex c_b5 = {1.,0.};        /* System generated locals */    integer i__1;    doublereal d__1, d__2;    doublecomplex z__1, z__2;    /* Builtin functions */    double d_imag(doublecomplex *), d_sign(doublereal *, doublereal *);    /* Local variables */    static doublereal beta;    static integer j;    static doublereal alphi, alphr;    extern /* Subroutine */ int zscal_(integer *, doublecomplex *, 	    doublecomplex *, integer *);    static doublereal xnorm;    extern doublereal dlapy3_(doublereal *, doublereal *, doublereal *), 	    dznrm2_(integer *, doublecomplex *, integer *), dlamch_(char *);    static doublereal safmin;    extern /* Subroutine */ int zdscal_(integer *, doublereal *, 	    doublecomplex *, integer *);    static doublereal rsafmn;    extern /* Double Complex */ VOID zladiv_(doublecomplex *, doublecomplex *,	     doublecomplex *);    static integer knt;    --x;    /* Function Body */    if (*n <= 0) {	tau->r = 0., tau->i = 0.;	return 0;    }    i__1 = *n - 1;    xnorm = dznrm2_(&i__1, &x[1], incx);    alphr = alpha->r;    alphi = d_imag(alpha);    if (xnorm == 0. && alphi == 0.) {/*        H  =  I *///.........这里部分代码省略.........
开发者ID:MichaelH13,项目名称:sdkpub,代码行数:101,


示例6: d_imag

/* Subroutine */ int znaitr_(integer *ido, char *bmat, integer *n, integer *k,	 integer *np, integer *nb, doublecomplex *resid, doublereal *rnorm, 	doublecomplex *v, integer *ldv, doublecomplex *h__, integer *ldh, 	integer *ipntr, doublecomplex *workd, integer *info, ftnlen bmat_len){    /* Initialized data */    static logical first = TRUE_;    /* System generated locals */    integer h_dim1, h_offset, v_dim1, v_offset, i__1, i__2, i__3;    doublereal d__1, d__2, d__3, d__4;    doublecomplex z__1;    /* Builtin functions */    double d_imag(doublecomplex *), sqrt(doublereal);    /* Local variables */    static integer i__, j;    static real t0, t1, t2, t3, t4, t5;    static integer jj, ipj, irj, ivj;    static doublereal ulp, tst1;    static integer ierr, iter;    static doublereal unfl, ovfl;    static integer itry;    static doublereal temp1;    static logical orth1, orth2, step3, step4;    static doublereal betaj;    static integer infol;    static doublecomplex cnorm;    extern /* Double Complex */ VOID zdotc_(doublecomplex *, integer *, 	    doublecomplex *, integer *, doublecomplex *, integer *);    static doublereal rtemp[2];    extern /* Subroutine */ int zgemv_(char *, integer *, integer *, 	    doublecomplex *, doublecomplex *, integer *, doublecomplex *, 	    integer *, doublecomplex *, doublecomplex *, integer *, ftnlen);    static doublereal wnorm;    extern /* Subroutine */ int dvout_(integer *, integer *, doublereal *, 	    integer *, char *, ftnlen), zcopy_(integer *, doublecomplex *, 	    integer *, doublecomplex *, integer *), ivout_(integer *, integer 	    *, integer *, integer *, char *, ftnlen), zaxpy_(integer *, 	    doublecomplex *, doublecomplex *, integer *, doublecomplex *, 	    integer *), zmout_(integer *, integer *, integer *, doublecomplex 	    *, integer *, integer *, char *, ftnlen), zvout_(integer *, 	    integer *, doublecomplex *, integer *, char *, ftnlen);    extern doublereal dlapy2_(doublereal *, doublereal *);    extern /* Subroutine */ int dlabad_(doublereal *, doublereal *);    extern doublereal dznrm2_(integer *, doublecomplex *, integer *);    static doublereal rnorm1;    extern /* Subroutine */ int zgetv0_(integer *, char *, integer *, logical 	    *, integer *, integer *, doublecomplex *, integer *, 	    doublecomplex *, doublereal *, integer *, doublecomplex *, 	    integer *, ftnlen);    extern doublereal dlamch_(char *, ftnlen);    extern /* Subroutine */ int second_(real *), zdscal_(integer *, 	    doublereal *, doublecomplex *, integer *);    static logical rstart;    static integer msglvl;    static doublereal smlnum;    extern doublereal zlanhs_(char *, integer *, doublecomplex *, integer *, 	    doublecomplex *, ftnlen);    extern /* Subroutine */ int zlascl_(char *, integer *, integer *, 	    doublereal *, doublereal *, integer *, integer *, doublecomplex *,	     integer *, integer *, ftnlen);/*     %----------------------------------------------------% *//*     | Include files for debugging and timing information | *//*     %----------------------------------------------------% *//* /SCCS Information: @(#) *//* FILE: debug.h   SID: 2.3   DATE OF SID: 11/16/95   RELEASE: 2 *//*     %---------------------------------% *//*     | See debug.doc for documentation | *//*     %---------------------------------% *//*     %------------------% *//*     | Scalar Arguments | *//*     %------------------% *//*     %--------------------------------% *//*     | See stat.doc for documentation | *//*     %--------------------------------% *//* /SCCS Information: @(#) *//* FILE: stat.h   SID: 2.2   DATE OF SID: 11/16/95   RELEASE: 2 *//*     %-----------------% *//*     | Array Arguments | *//*     %-----------------% *//*     %------------% *//*     | Parameters | *//*     %------------% *///.........这里部分代码省略.........
开发者ID:Electrostatics,项目名称:FETK,代码行数:101,


示例7: lsame_

//.........这里部分代码省略........./*              Exit the loop if the growth factor is too small. */		if (grow <= smlnum) {		    goto L90;		}/*              G(j) = ( 1 + CNORM(j) )*G(j-1) */		xj = cnorm[j] + 1.;		grow /= xj;	    }	}L90:	;    }    if (grow * tscal > smlnum) {/*        Use the Level 2 BLAS solve if the reciprocal of the bound on *//*        elements of X is not too small. */	ztrsv_(uplo, trans, diag, n, &a[a_offset], lda, &x[1], &c__1);    } else {/*        Use a Level 1 BLAS solve, scaling intermediate results. */	if (xmax > bignum * .5) {/*           Scale X so that its components are less than or equal to *//*           BIGNUM in absolute value. */	    *scale = bignum * .5 / xmax;	    zdscal_(n, scale, &x[1], &c__1);	    xmax = bignum;	} else {	    xmax *= 2.;	}	if (notran) {/*           Solve A * x = b */	    i__1 = jlast;	    i__2 = jinc;	    for (j = jfirst; i__2 < 0 ? j >= i__1 : j <= i__1; j += i__2) {/*              Compute x(j) = b(j) / A(j,j), scaling x if necessary. */		i__3 = j;		xj = (d__1 = x[i__3].r, abs(d__1)) + (d__2 = d_imag(&x[j]), 			abs(d__2));		if (nounit) {		    i__3 = j + j * a_dim1;		    z__1.r = tscal * a[i__3].r, z__1.i = tscal * a[i__3].i;		    tjjs.r = z__1.r, tjjs.i = z__1.i;		} else {		    tjjs.r = tscal, tjjs.i = 0.;		    if (tscal == 1.) {			goto L110;		    }		}		tjj = (d__1 = tjjs.r, abs(d__1)) + (d__2 = d_imag(&tjjs), abs(			d__2));		if (tjj > smlnum) {
开发者ID:juanjosegarciaripoll,项目名称:cblapack,代码行数:66,


示例8: UPLO

/* Subroutine */ int zlauu2_(char *uplo, integer *n, doublecomplex *a, 	integer *lda, integer *info){/*  -- LAPACK auxiliary routine (version 3.0) --          Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd.,          Courant Institute, Argonne National Lab, and Rice University          September 30, 1994       Purpose       =======       ZLAUU2 computes the product U * U' or L' * L, where the triangular       factor U or L is stored in the upper or lower triangular part of       the array A.       If UPLO = 'U' or 'u' then the upper triangle of the result is stored,       overwriting the factor U in A.       If UPLO = 'L' or 'l' then the lower triangle of the result is stored,       overwriting the factor L in A.       This is the unblocked form of the algorithm, calling Level 2 BLAS.       Arguments       =========       UPLO    (input) CHARACTER*1               Specifies whether the triangular factor stored in the array A               is upper or lower triangular:               = 'U':  Upper triangular               = 'L':  Lower triangular       N       (input) INTEGER               The order of the triangular factor U or L.  N >= 0.       A       (input/output) COMPLEX*16 array, dimension (LDA,N)               On entry, the triangular factor U or L.               On exit, if UPLO = 'U', the upper triangle of A is               overwritten with the upper triangle of the product U * U';               if UPLO = 'L', the lower triangle of A is overwritten with               the lower triangle of the product L' * L.       LDA     (input) INTEGER               The leading dimension of the array A.  LDA >= max(1,N).       INFO    (output) INTEGER               = 0: successful exit               < 0: if INFO = -k, the k-th argument had an illegal value       =====================================================================          Test the input parameters.          Parameter adjustments */    /* Table of constant values */    static doublecomplex c_b1 = {1.,0.};    static integer c__1 = 1;        /* System generated locals */    integer a_dim1, a_offset, i__1, i__2, i__3;    doublereal d__1;    doublecomplex z__1;    /* Local variables */    static integer i__;    extern logical lsame_(char *, char *);    extern /* Double Complex */ VOID zdotc_(doublecomplex *, integer *, 	    doublecomplex *, integer *, doublecomplex *, integer *);    extern /* Subroutine */ int zgemv_(char *, integer *, integer *, 	    doublecomplex *, doublecomplex *, integer *, doublecomplex *, 	    integer *, doublecomplex *, doublecomplex *, integer *);    static logical upper;    extern /* Subroutine */ int xerbla_(char *, integer *), zdscal_(	    integer *, doublereal *, doublecomplex *, integer *), zlacgv_(	    integer *, doublecomplex *, integer *);    static doublereal aii;#define a_subscr(a_1,a_2) (a_2)*a_dim1 + a_1#define a_ref(a_1,a_2) a[a_subscr(a_1,a_2)]    a_dim1 = *lda;    a_offset = 1 + a_dim1 * 1;    a -= a_offset;    /* Function Body */    *info = 0;    upper = lsame_(uplo, "U");    if (! upper && ! lsame_(uplo, "L")) {	*info = -1;    } else if (*n < 0) {	*info = -2;    } else if (*lda < max(1,*n)) {	*info = -4;    }    if (*info != 0) {	i__1 = -(*info);	xerbla_("ZLAUU2", &i__1);	return 0;    }//.........这里部分代码省略.........
开发者ID:EugeneGalipchak,项目名称:antelope_contrib,代码行数:101,


示例9: zdscal

void zdscal( int n, double alpha, doublecomplex *x, int incx){    zdscal_(&n, &alpha, x, &incx);}
开发者ID:BenjaminCoquelle,项目名称:clBLAS,代码行数:4,


示例10: sqrt

/* Subroutine */ int zhpevx_(char *jobz, char *range, char *uplo, integer *n, 	doublecomplex *ap, doublereal *vl, doublereal *vu, integer *il, 	integer *iu, doublereal *abstol, integer *m, doublereal *w, 	doublecomplex *z__, integer *ldz, doublecomplex *work, doublereal *	rwork, integer *iwork, integer *ifail, integer *info){    /* System generated locals */    integer z_dim1, z_offset, i__1, i__2;    doublereal d__1, d__2;    /* Builtin functions */    double sqrt(doublereal);    /* Local variables */    integer i__, j, jj;    doublereal eps, vll, vuu, tmp1;    integer indd, inde;    doublereal anrm;    integer imax;    doublereal rmin, rmax;    logical test;    integer itmp1, indee;    extern /* Subroutine */ int dscal_(integer *, doublereal *, doublereal *, 	    integer *);    doublereal sigma;    extern logical lsame_(char *, char *);    integer iinfo;    char order[1];    extern /* Subroutine */ int dcopy_(integer *, doublereal *, integer *, 	    doublereal *, integer *);    logical wantz;    extern /* Subroutine */ int zswap_(integer *, doublecomplex *, integer *, 	    doublecomplex *, integer *);    extern doublereal dlamch_(char *);    logical alleig, indeig;    integer iscale, indibl;    logical valeig;    doublereal safmin;    extern /* Subroutine */ int xerbla_(char *, integer *), zdscal_(	    integer *, doublereal *, doublecomplex *, integer *);    doublereal abstll, bignum;    integer indiwk, indisp, indtau;    extern /* Subroutine */ int dsterf_(integer *, doublereal *, doublereal *, 	     integer *), dstebz_(char *, char *, integer *, doublereal *, 	    doublereal *, integer *, integer *, doublereal *, doublereal *, 	    doublereal *, integer *, integer *, doublereal *, integer *, 	    integer *, doublereal *, integer *, integer *);    extern doublereal zlanhp_(char *, char *, integer *, doublecomplex *, 	    doublereal *);    integer indrwk, indwrk, nsplit;    doublereal smlnum;    extern /* Subroutine */ int zhptrd_(char *, integer *, doublecomplex *, 	    doublereal *, doublereal *, doublecomplex *, integer *), 	    zstein_(integer *, doublereal *, doublereal *, integer *, 	    doublereal *, integer *, integer *, doublecomplex *, integer *, 	    doublereal *, integer *, integer *, integer *), zsteqr_(char *, 	    integer *, doublereal *, doublereal *, doublecomplex *, integer *, 	     doublereal *, integer *), zupgtr_(char *, integer *, 	    doublecomplex *, doublecomplex *, doublecomplex *, integer *, 	    doublecomplex *, integer *), zupmtr_(char *, char *, char 	    *, integer *, integer *, doublecomplex *, doublecomplex *, 	    doublecomplex *, integer *, doublecomplex *, integer *);/*  -- LAPACK driver routine (version 3.2) -- *//*     Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. *//*     November 2006 *//*     .. Scalar Arguments .. *//*     .. *//*     .. Array Arguments .. *//*     .. *//*  Purpose *//*  ======= *//*  ZHPEVX computes selected eigenvalues and, optionally, eigenvectors *//*  of a complex Hermitian matrix A in packed storage. *//*  Eigenvalues/vectors can be selected by specifying either a range of *//*  values or a range of indices for the desired eigenvalues. *//*  Arguments *//*  ========= *//*  JOBZ    (input) CHARACTER*1 *//*          = 'N':  Compute eigenvalues only; *//*          = 'V':  Compute eigenvalues and eigenvectors. *//*  RANGE   (input) CHARACTER*1 *//*          = 'A': all eigenvalues will be found; *//*          = 'V': all eigenvalues in the half-open interval (VL,VU] *//*                 will be found; *//*          = 'I': the IL-th through IU-th eigenvalues will be found. *//*  UPLO    (input) CHARACTER*1 *//*          = 'U':  Upper triangle of A is stored; *//*          = 'L':  Lower triangle of A is stored. *//*  N       (input) INTEGER *//*          The order of the matrix A.  N >= 0. *///.........这里部分代码省略.........
开发者ID:0u812,项目名称:roadrunner-backup,代码行数:101,


示例11: SCALE

//.........这里部分代码省略.........    Information about the permutations P and the diagonal matrix D is       returned in the vector SCALE.       This subroutine is based on the EISPACK routine CBAL.       Modified by Tzu-Yi Chen, Computer Science Division, University of         California at Berkeley, USA       =====================================================================          Test the input parameters          Parameter adjustments */    /* Table of constant values */    static integer c__1 = 1;        /* System generated locals */    integer a_dim1, a_offset, i__1, i__2, i__3;    doublereal d__1, d__2;    /* Builtin functions */    double d_imag(doublecomplex *), z_abs(doublecomplex *);    /* Local variables */    static integer iexc;    static doublereal c__, f, g;    static integer i__, j, k, l, m;    static doublereal r__, s;    extern logical lsame_(char *, char *);    extern /* Subroutine */ int zswap_(integer *, doublecomplex *, integer *, 	    doublecomplex *, integer *);    static doublereal sfmin1, sfmin2, sfmax1, sfmax2, ca, ra;    extern doublereal dlamch_(char *);    extern /* Subroutine */ int xerbla_(char *, integer *), zdscal_(	    integer *, doublereal *, doublecomplex *, integer *);    extern integer izamax_(integer *, doublecomplex *, integer *);    static logical noconv;    static integer ica, ira;#define a_subscr(a_1,a_2) (a_2)*a_dim1 + a_1#define a_ref(a_1,a_2) a[a_subscr(a_1,a_2)]    a_dim1 = *lda;    a_offset = 1 + a_dim1 * 1;    a -= a_offset;    --scale;    /* Function Body */    *info = 0;    if (! lsame_(job, "N") && ! lsame_(job, "P") && ! lsame_(job, "S") 	    && ! lsame_(job, "B")) {	*info = -1;    } else if (*n < 0) {	*info = -2;    } else if (*lda < max(1,*n)) {	*info = -4;    }    if (*info != 0) {	i__1 = -(*info);	xerbla_("ZGEBAL", &i__1);	return 0;    }    k = 1;    l = *n;
开发者ID:EugeneGalipchak,项目名称:antelope_contrib,代码行数:66,


示例12: s_wsle

//.........这里部分代码省略.........        },{6.,7.},{6.,7.},{6.,7.},{6.,7.},{6.,7.},{.1,-.3},{8.,9.},{            .5,            -.1        },{2.,5.},{2.,5.},{2.,5.},{2.,5.},{2.,5.},{.1,.1},{3.,6.},{            -.6,            .1        },{4.,7.},{.1,-.3},{7.,2.},{7.,2.},{7.,2.},{.3,.1},{5.,8.},{            .1,            .4        },{6.,9.},{.4,.1},{8.,3.},{.1,.2},{9.,4.}    };    /* System generated locals */    integer i__1, i__2, i__3;    doublereal d__1;    doublecomplex z__1;    /* Builtin functions */    integer s_wsle(cilist *), do_lio(integer *, integer *, char *, ftnlen),            e_wsle(void);    /* Subroutine */ int s_stop(char *, ftnlen);    /* Local variables */    static integer i__;    extern /* Subroutine */ int zscal_(integer *, doublecomplex *,                                       doublecomplex *, integer *), ctest_(integer *, doublecomplex *,                                               doublecomplex *, doublecomplex *, doublereal *);    static doublecomplex mwpcs[5], mwpct[5];    extern /* Subroutine */ int itest1_(integer *, integer *);    extern doublereal dznrm2_(integer *, doublecomplex *, integer *);    extern /* Subroutine */ int stest1_(doublereal *, doublereal *,                                        doublereal *, doublereal *);    static doublecomplex cx[8];    extern /* Subroutine */ int zdscal_(integer *, doublereal *,                                        doublecomplex *, integer *);    extern integer izamax_(integer *, doublecomplex *, integer *);    extern doublereal dzasum_(integer *, doublecomplex *, integer *);    static integer np1, len;    /* Fortran I/O blocks */    static cilist io___19 = { 0, 6, 0, 0, 0 };#define ctrue5_subscr(a_1,a_2,a_3) ((a_3)*5 + (a_2))*8 + a_1 - 49#define ctrue5_ref(a_1,a_2,a_3) ctrue5[ctrue5_subscr(a_1,a_2,a_3)]#define ctrue6_subscr(a_1,a_2,a_3) ((a_3)*5 + (a_2))*8 + a_1 - 49#define ctrue6_ref(a_1,a_2,a_3) ctrue6[ctrue6_subscr(a_1,a_2,a_3)]#define cv_subscr(a_1,a_2,a_3) ((a_3)*5 + (a_2))*8 + a_1 - 49#define cv_ref(a_1,a_2,a_3) cv[cv_subscr(a_1,a_2,a_3)]    for (combla_1.incx = 1; combla_1.incx <= 2; ++combla_1.incx) {        for (np1 = 1; np1 <= 5; ++np1) {            combla_1.n = np1 - 1;            len = max(combla_1.n,1) << 1;            i__1 = len;            for (i__ = 1; i__ <= i__1; ++i__) {                i__2 = i__ - 1;                i__3 = cv_subscr(i__, np1, combla_1.incx);                cx[i__2].r = cv[i__3].r, cx[i__2].i = cv[i__3].i;                /* L20: */            }            if (combla_1.icase == 6) {                d__1 = dznrm2_(&combla_1.n, cx, &combla_1.incx);                stest1_(&d__1, &strue2[np1 - 1], &strue2[np1 - 1], sfac);            } else if (combla_1.icase == 7) {
开发者ID:BackupTheBerlios,项目名称:openvsipl,代码行数:67,


示例13: zhpev_

int zhpev_(char *jobz, char *uplo, int *n, doublecomplex           *ap, double *w, doublecomplex *z__, int *ldz, doublecomplex *           work, double *rwork, int *info){    /* System generated locals */    int z_dim1, z_offset, i__1;    double d__1;    /* Builtin functions */    double sqrt(double);    /* Local variables */    double eps;    int inde;    double anrm;    int imax;    double rmin, rmax;    extern  int dscal_(int *, double *, double *,                       int *);    double sigma;    extern int lsame_(char *, char *);    int iinfo;    int wantz;    extern double dlamch_(char *);    int iscale;    double safmin;    extern  int xerbla_(char *, int *), zdscal_(        int *, double *, doublecomplex *, int *);    double bignum;    int indtau;    extern  int dsterf_(int *, double *, double *,                        int *);    extern double zlanhp_(char *, char *, int *, doublecomplex *,                          double *);    int indrwk, indwrk;    double smlnum;    extern  int zhptrd_(char *, int *, doublecomplex *,                        double *, double *, doublecomplex *, int *),                               zsteqr_(char *, int *, double *, double *,                                       doublecomplex *, int *, double *, int *),                               zupgtr_(char *, int *, doublecomplex *, doublecomplex *,                                       doublecomplex *, int *, doublecomplex *, int *);    /*  -- LAPACK driver routine (version 3.2) -- */    /*     Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. */    /*     November 2006 */    /*     .. Scalar Arguments .. */    /*     .. */    /*     .. Array Arguments .. */    /*     .. */    /*  Purpose */    /*  ======= */    /*  ZHPEV computes all the eigenvalues and, optionally, eigenvectors of a */    /*  complex Hermitian matrix in packed storage. */    /*  Arguments */    /*  ========= */    /*  JOBZ    (input) CHARACTER*1 */    /*          = 'N':  Compute eigenvalues only; */    /*          = 'V':  Compute eigenvalues and eigenvectors. */    /*  UPLO    (input) CHARACTER*1 */    /*          = 'U':  Upper triangle of A is stored; */    /*          = 'L':  Lower triangle of A is stored. */    /*  N       (input) INTEGER */    /*          The order of the matrix A.  N >= 0. */    /*  AP      (input/output) COMPLEX*16 array, dimension (N*(N+1)/2) */    /*          On entry, the upper or lower triangle of the Hermitian matrix */    /*          A, packed columnwise in a linear array.  The j-th column of A */    /*          is stored in the array AP as follows: */    /*          if UPLO = 'U', AP(i + (j-1)*j/2) = A(i,j) for 1<=i<=j; */    /*          if UPLO = 'L', AP(i + (j-1)*(2*n-j)/2) = A(i,j) for j<=i<=n. */    /*          On exit, AP is overwritten by values generated during the */    /*          reduction to tridiagonal form.  If UPLO = 'U', the diagonal */    /*          and first superdiagonal of the tridiagonal matrix T overwrite */    /*          the corresponding elements of A, and if UPLO = 'L', the */    /*          diagonal and first subdiagonal of T overwrite the */    /*          corresponding elements of A. */    /*  W       (output) DOUBLE PRECISION array, dimension (N) */    /*          If INFO = 0, the eigenvalues in ascending order. */    /*  Z       (output) COMPLEX*16 array, dimension (LDZ, N) */    /*          If JOBZ = 'V', then if INFO = 0, Z contains the orthonormal */    /*          eigenvectors of the matrix A, with the i-th column of Z */    /*          holding the eigenvector associated with W(i). */    /*          If JOBZ = 'N', then Z is not referenced. */    /*  LDZ     (input) INTEGER */    /*          The leading dimension of the array Z.  LDZ >= 1, and if */    /*          JOBZ = 'V', LDZ >= MAX(1,N). *///.........这里部分代码省略.........
开发者ID:GuillaumeFuchs,项目名称:Ensimag,代码行数:101,


示例14: log

/* Subroutine */ int zlarrv_(integer *n, doublereal *vl, doublereal *vu, 	doublereal *d__, doublereal *l, doublereal *pivmin, integer *isplit, 	integer *m, integer *dol, integer *dou, doublereal *minrgp, 	doublereal *rtol1, doublereal *rtol2, doublereal *w, doublereal *werr, 	 doublereal *wgap, integer *iblock, integer *indexw, doublereal *gers, 	 doublecomplex *z__, integer *ldz, integer *isuppz, doublereal *work, 	integer *iwork, integer *info){    /* System generated locals */    integer z_dim1, z_offset, i__1, i__2, i__3, i__4, i__5, i__6;    doublereal d__1, d__2;    doublecomplex z__1;    logical L__1;    /* Builtin functions */    double log(doublereal);    /* Local variables */    integer minwsize, i__, j, k, p, q, miniwsize, ii;    doublereal gl;    integer im, in;    doublereal gu, gap, eps, tau, tol, tmp;    integer zto;    doublereal ztz;    integer iend, jblk;    doublereal lgap;    integer done;    doublereal rgap, left;    integer wend, iter;    doublereal bstw;    integer itmp1, indld;    doublereal fudge;    integer idone;    doublereal sigma;    integer iinfo, iindr;    doublereal resid;    logical eskip;    doublereal right;    extern /* Subroutine */ int dcopy_(integer *, doublereal *, integer *, 	    doublereal *, integer *);    integer nclus, zfrom;    doublereal rqtol;    integer iindc1, iindc2, indin1, indin2;    logical stp2ii;    extern /* Subroutine */ int zlar1v_(integer *, integer *, integer *, 	    doublereal *, doublereal *, doublereal *, doublereal *, 	    doublereal *, doublereal *, doublereal *, doublecomplex *, 	    logical *, integer *, doublereal *, doublereal *, integer *, 	    integer *, doublereal *, doublereal *, doublereal *, doublereal *)	    ;    doublereal lambda;    extern doublereal dlamch_(char *);    integer ibegin, indeig;    logical needbs;    integer indlld;    doublereal sgndef, mingma;    extern /* Subroutine */ int dlarrb_(integer *, doublereal *, doublereal *, 	     integer *, integer *, doublereal *, doublereal *, integer *, 	    doublereal *, doublereal *, doublereal *, doublereal *, integer *, 	     doublereal *, doublereal *, integer *, integer *);    integer oldien, oldncl, wbegin;    doublereal spdiam;    integer negcnt;    extern /* Subroutine */ int dlarrf_(integer *, doublereal *, doublereal *, 	     doublereal *, integer *, integer *, doublereal *, doublereal *, 	    doublereal *, doublereal *, doublereal *, doublereal *, 	    doublereal *, doublereal *, doublereal *, doublereal *, 	    doublereal *, integer *);    integer oldcls;    doublereal savgap;    integer ndepth;    doublereal ssigma;    extern /* Subroutine */ int zdscal_(integer *, doublereal *, 	    doublecomplex *, integer *);    logical usedbs;    integer iindwk, offset;    doublereal gaptol;    integer newcls, oldfst, indwrk, windex, oldlst;    logical usedrq;    integer newfst, newftt, parity, windmn, windpl, isupmn, newlst, zusedl;    doublereal bstres;    integer newsiz, zusedu, zusedw;    doublereal nrminv;    logical tryrqc;    integer isupmx;    doublereal rqcorr;    extern /* Subroutine */ int zlaset_(char *, integer *, integer *, 	    doublecomplex *, doublecomplex *, doublecomplex *, integer *);/*  -- LAPACK auxiliary routine (version 3.2) -- *//*     Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. *//*     November 2006 *//*     .. Scalar Arguments .. *//*     .. *//*     .. Array Arguments .. *//*     .. *//*  Purpose *///.........这里部分代码省略.........
开发者ID:0u812,项目名称:roadrunner-backup,代码行数:101,


示例15: zlatps_

/* Subroutine */int zlatps_(char *uplo, char *trans, char *diag, char * normin, integer *n, doublecomplex *ap, doublecomplex *x, doublereal * scale, doublereal *cnorm, integer *info){    /* System generated locals */    integer i__1, i__2, i__3, i__4, i__5;    doublereal d__1, d__2, d__3, d__4;    doublecomplex z__1, z__2, z__3, z__4;    /* Builtin functions */    double d_imag(doublecomplex *);    void d_cnjg(doublecomplex *, doublecomplex *);    /* Local variables */    integer i__, j, ip;    doublereal xj, rec, tjj;    integer jinc, jlen;    doublereal xbnd;    integer imax;    doublereal tmax;    doublecomplex tjjs;    doublereal xmax, grow;    extern /* Subroutine */    int dscal_(integer *, doublereal *, doublereal *, integer *);    extern logical lsame_(char *, char *);    doublereal tscal;    doublecomplex uscal;    integer jlast;    doublecomplex csumj;    extern /* Double Complex */    VOID zdotc_f2c_(doublecomplex *, integer *, doublecomplex *, integer *, doublecomplex *, integer *);    logical upper;    extern /* Double Complex */    VOID zdotu_f2c_(doublecomplex *, integer *, doublecomplex *, integer *, doublecomplex *, integer *);    extern /* Subroutine */    int zaxpy_(integer *, doublecomplex *, doublecomplex *, integer *, doublecomplex *, integer *), ztpsv_( char *, char *, char *, integer *, doublecomplex *, doublecomplex *, integer *), dlabad_(doublereal *, doublereal *);    extern doublereal dlamch_(char *);    extern integer idamax_(integer *, doublereal *, integer *);    extern /* Subroutine */    int xerbla_(char *, integer *), zdscal_( integer *, doublereal *, doublecomplex *, integer *);    doublereal bignum;    extern integer izamax_(integer *, doublecomplex *, integer *);    extern /* Double Complex */    VOID zladiv_(doublecomplex *, doublecomplex *, doublecomplex *);    logical notran;    integer jfirst;    extern doublereal dzasum_(integer *, doublecomplex *, integer *);    doublereal smlnum;    logical nounit;    /* -- LAPACK auxiliary routine (version 3.4.2) -- */    /* -- LAPACK is a software package provided by Univ. of Tennessee, -- */    /* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- */    /* September 2012 */    /* .. Scalar Arguments .. */    /* .. */    /* .. Array Arguments .. */    /* .. */    /* ===================================================================== */    /* .. Parameters .. */    /* .. */    /* .. Local Scalars .. */    /* .. */    /* .. External Functions .. */    /* .. */    /* .. External Subroutines .. */    /* .. */    /* .. Intrinsic Functions .. */    /* .. */    /* .. Statement Functions .. */    /* .. */    /* .. Statement Function definitions .. */    /* .. */    /* .. Executable Statements .. */    /* Parameter adjustments */    --cnorm;    --x;    --ap;    /* Function Body */    *info = 0;    upper = lsame_(uplo, "U");    notran = lsame_(trans, "N");    nounit = lsame_(diag, "N");    /* Test the input parameters. */    if (! upper && ! lsame_(uplo, "L"))    {        *info = -1;    }    else if (! notran && ! lsame_(trans, "T") && ! lsame_(trans, "C"))    {        *info = -2;    }    else if (! nounit && ! lsame_(diag, "U"))    {        *info = -3;    }    else if (! lsame_(normin, "Y") && ! lsame_(normin, "N"))    {        *info = -4;    }    else if (*n < 0)    {        *info = -5;    }//.........这里部分代码省略.........
开发者ID:fmarrabal,项目名称:libflame,代码行数:101,


示例16: d_cnjg

/* Subroutine */ int ztgsja_(char *jobu, char *jobv, char *jobq, integer *m, 	integer *p, integer *n, integer *k, integer *l, doublecomplex *a, 	integer *lda, doublecomplex *b, integer *ldb, doublereal *tola, 	doublereal *tolb, doublereal *alpha, doublereal *beta, doublecomplex *	u, integer *ldu, doublecomplex *v, integer *ldv, doublecomplex *q, 	integer *ldq, doublecomplex *work, integer *ncycle, integer *info){    /* System generated locals */    integer a_dim1, a_offset, b_dim1, b_offset, q_dim1, q_offset, u_dim1, 	    u_offset, v_dim1, v_offset, i__1, i__2, i__3, i__4;    doublereal d__1;    doublecomplex z__1;    /* Builtin functions */    void d_cnjg(doublecomplex *, doublecomplex *);    /* Local variables */    integer i__, j;    doublereal a1, b1, a3, b3;    doublecomplex a2, b2;    doublereal csq, csu, csv;    doublecomplex snq;    doublereal rwk;    doublecomplex snu, snv;    extern /* Subroutine */ int zrot_(integer *, doublecomplex *, integer *, 	    doublecomplex *, integer *, doublereal *, doublecomplex *);    doublereal gamma;    extern logical lsame_(char *, char *);    logical initq, initu, initv, wantq, upper;    doublereal error, ssmin;    logical wantu, wantv;    extern /* Subroutine */ int zcopy_(integer *, doublecomplex *, integer *, 	    doublecomplex *, integer *), zlags2_(logical *, doublereal *, 	    doublecomplex *, doublereal *, doublereal *, doublecomplex *, 	    doublereal *, doublereal *, doublecomplex *, doublereal *, 	    doublecomplex *, doublereal *, doublecomplex *);    integer kcycle;    extern /* Subroutine */ int dlartg_(doublereal *, doublereal *, 	    doublereal *, doublereal *, doublereal *), xerbla_(char *, 	    integer *), zdscal_(integer *, doublereal *, 	    doublecomplex *, integer *), zlapll_(integer *, doublecomplex *, 	    integer *, doublecomplex *, integer *, doublereal *), zlaset_(	    char *, integer *, integer *, doublecomplex *, doublecomplex *, 	    doublecomplex *, integer *);/*  -- LAPACK routine (version 3.1) -- *//*     Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. *//*     November 2006 *//*     .. Scalar Arguments .. *//*     .. *//*     .. Array Arguments .. *//*     .. *//*  Purpose *//*  ======= *//*  ZTGSJA computes the generalized singular value decomposition (GSVD) *//*  of two complex upper triangular (or trapezoidal) matrices A and B. *//*  On entry, it is assumed that matrices A and B have the following *//*  forms, which may be obtained by the preprocessing subroutine ZGGSVP *//*  from a general M-by-N matrix A and P-by-N matrix B: *//*               N-K-L  K    L *//*     A =    K ( 0    A12  A13 ) if M-K-L >= 0; *//*            L ( 0     0   A23 ) *//*        M-K-L ( 0     0    0  ) *//*             N-K-L  K    L *//*     A =  K ( 0    A12  A13 ) if M-K-L < 0; *//*        M-K ( 0     0   A23 ) *//*             N-K-L  K    L *//*     B =  L ( 0     0   B13 ) *//*        P-L ( 0     0    0  ) *//*  where the K-by-K matrix A12 and L-by-L matrix B13 are nonsingular *//*  upper triangular; A23 is L-by-L upper triangular if M-K-L >= 0, *//*  otherwise A23 is (M-K)-by-L upper trapezoidal. *//*  On exit, *//*         U'*A*Q = D1*( 0 R ),    V'*B*Q = D2*( 0 R ), *//*  where U, V and Q are unitary matrices, Z' denotes the conjugate *//*  transpose of Z, R is a nonsingular upper triangular matrix, and D1 *//*  and D2 are ``diagonal'' matrices, which are of the following *//*  structures: *//*  If M-K-L >= 0, *//*                      K  L *//*         D1 =     K ( I  0 ) *//*                  L ( 0  C ) *//*              M-K-L ( 0  0 ) *//*                     K  L *//*         D2 = L   ( 0  S ) *///.........这里部分代码省略.........
开发者ID:dacap,项目名称:loseface,代码行数:101,


示例17: zheevx_

/* Subroutine */int zheevx_(char *jobz, char *range, char *uplo, integer *n, doublecomplex *a, integer *lda, doublereal *vl, doublereal *vu, integer *il, integer *iu, doublereal *abstol, integer *m, doublereal * w, doublecomplex *z__, integer *ldz, doublecomplex *work, integer * lwork, doublereal *rwork, integer *iwork, integer *ifail, integer * info){    /* System generated locals */    integer a_dim1, a_offset, z_dim1, z_offset, i__1, i__2;    doublereal d__1, d__2;    /* Builtin functions */    double sqrt(doublereal);    /* Local variables */    integer i__, j, nb, jj;    doublereal eps, vll, vuu, tmp1;    integer indd, inde;    doublereal anrm;    integer imax;    doublereal rmin, rmax;    logical test;    integer itmp1, indee;    extern /* Subroutine */    int dscal_(integer *, doublereal *, doublereal *, integer *);    doublereal sigma;    extern logical lsame_(char *, char *);    integer iinfo;    char order[1];    extern /* Subroutine */    int dcopy_(integer *, doublereal *, integer *, doublereal *, integer *);    logical lower, wantz;    extern /* Subroutine */    int zswap_(integer *, doublecomplex *, integer *, doublecomplex *, integer *);    extern doublereal dlamch_(char *);    logical alleig, indeig;    integer iscale, indibl;    logical valeig;    doublereal safmin;    extern integer ilaenv_(integer *, char *, char *, integer *, integer *, integer *, integer *);    extern /* Subroutine */    int xerbla_(char *, integer *), zdscal_( integer *, doublereal *, doublecomplex *, integer *);    doublereal abstll, bignum;    extern doublereal zlanhe_(char *, char *, integer *, doublecomplex *, integer *, doublereal *);    integer indiwk, indisp, indtau;    extern /* Subroutine */    int dsterf_(integer *, doublereal *, doublereal *, integer *), dstebz_(char *, char *, integer *, doublereal *, doublereal *, integer *, integer *, doublereal *, doublereal *, doublereal *, integer *, integer *, doublereal *, integer *, integer *, doublereal *, integer *, integer *);    integer indrwk, indwrk;    extern /* Subroutine */    int zhetrd_(char *, integer *, doublecomplex *, integer *, doublereal *, doublereal *, doublecomplex *, doublecomplex *, integer *, integer *);    integer lwkmin;    extern /* Subroutine */    int zlacpy_(char *, integer *, integer *, doublecomplex *, integer *, doublecomplex *, integer *);    integer llwork, nsplit;    doublereal smlnum;    extern /* Subroutine */    int zstein_(integer *, doublereal *, doublereal *, integer *, doublereal *, integer *, integer *, doublecomplex *, integer *, doublereal *, integer *, integer *, integer *);    integer lwkopt;    logical lquery;    extern /* Subroutine */    int zsteqr_(char *, integer *, doublereal *, doublereal *, doublecomplex *, integer *, doublereal *, integer *), zungtr_(char *, integer *, doublecomplex *, integer *, doublecomplex *, doublecomplex *, integer *, integer *), zunmtr_(char *, char *, char *, integer *, integer *, doublecomplex *, integer *, doublecomplex *, doublecomplex *, integer *, doublecomplex *, integer *, integer *);    /* -- LAPACK driver routine (version 3.4.0) -- */    /* -- LAPACK is a software package provided by Univ. of Tennessee, -- */    /* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- */    /* November 2011 */    /* .. Scalar Arguments .. */    /* .. */    /* .. Array Arguments .. */    /* .. */    /* ===================================================================== */    /* .. Parameters .. */    /* .. */    /* .. Local Scalars .. */    /* .. */    /* .. External Functions .. */    /* .. */    /* .. External Subroutines .. */    /* .. */    /* .. Intrinsic Functions .. */    /* .. */    /* .. Executable Statements .. */    /* Test the input parameters. */    /* Parameter adjustments */    a_dim1 = *lda;    a_offset = 1 + a_dim1;    a -= a_offset;    --w;    z_dim1 = *ldz;    z_offset = 1 + z_dim1;    z__ -= z_offset;    --work;    --rwork;    --iwork;    --ifail;    /* Function Body */    lower = lsame_(uplo, "L");    wantz = lsame_(jobz, "V");    alleig = lsame_(range, "A");    valeig = lsame_(range, "V");    indeig = lsame_(range, "I");    lquery = *lwork == -1;    *info = 0;    if (! (wantz || lsame_(jobz, "N")))    {        *info = -1;    }//.........这里部分代码省略.........
开发者ID:flame,项目名称:libflame,代码行数:101,


示例18: d_imag

/*<    >*//* Subroutine */ int ztrevc_(char *side, char *howmny, logical *select,         integer *n, doublecomplex *t, integer *ldt, doublecomplex *vl,         integer *ldvl, doublecomplex *vr, integer *ldvr, integer *mm, integer         *m, doublecomplex *work, doublereal *rwork, integer *info, ftnlen         side_len, ftnlen howmny_len){    /* System generated locals */    integer t_dim1, t_offset, vl_dim1, vl_offset, vr_dim1, vr_offset, i__1,             i__2, i__3, i__4, i__5;    doublereal d__1, d__2, d__3;    doublecomplex z__1, z__2;    /* Builtin functions */    double d_imag(doublecomplex *);    void d_cnjg(doublecomplex *, doublecomplex *);    /* Local variables */    integer i__, j, k, ii, ki, is;    doublereal ulp;    logical allv;    doublereal unfl, ovfl, smin;    logical over;    doublereal scale;    extern logical lsame_(const char *, const char *, ftnlen, ftnlen);    doublereal remax;    logical leftv, bothv;    extern /* Subroutine */ int zgemv_(char *, integer *, integer *,             doublecomplex *, doublecomplex *, integer *, doublecomplex *,             integer *, doublecomplex *, doublecomplex *, integer *, ftnlen);    logical somev;    extern /* Subroutine */ int zcopy_(integer *, doublecomplex *, integer *,             doublecomplex *, integer *), dlabad_(doublereal *, doublereal *);    extern doublereal dlamch_(char *, ftnlen);    extern /* Subroutine */ int xerbla_(char *, integer *, ftnlen), zdscal_(            integer *, doublereal *, doublecomplex *, integer *);    extern integer izamax_(integer *, doublecomplex *, integer *);    logical rightv;    extern doublereal dzasum_(integer *, doublecomplex *, integer *);    doublereal smlnum;    extern /* Subroutine */ int zlatrs_(char *, char *, char *, char *,             integer *, doublecomplex *, integer *, doublecomplex *,             doublereal *, doublereal *, integer *, ftnlen, ftnlen, ftnlen,             ftnlen);    (void)side_len;    (void)howmny_len;/*  -- LAPACK routine (version 3.0) -- *//*     Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., *//*     Courant Institute, Argonne National Lab, and Rice University *//*     June 30, 1999 *//*     .. Scalar Arguments .. *//*<       CHARACTER          HOWMNY, SIDE >*//*<       INTEGER            INFO, LDT, LDVL, LDVR, M, MM, N >*//*     .. *//*     .. Array Arguments .. *//*<       LOGICAL            SELECT( * ) >*//*<       DOUBLE PRECISION   RWORK( * ) >*//*<    >*//*     .. *//*  Purpose *//*  ======= *//*  ZTREVC computes some or all of the right and/or left eigenvectors of *//*  a complex upper triangular matrix T. *//*  The right eigenvector x and the left eigenvector y of T corresponding *//*  to an eigenvalue w are defined by: *//*               T*x = w*x,     y'*T = w*y' *//*  where y' denotes the conjugate transpose of the vector y. *//*  If all eigenvectors are requested, the routine may either return the *//*  matrices X and/or Y of right or left eigenvectors of T, or the *//*  products Q*X and/or Q*Y, where Q is an input unitary *//*  matrix. If T was obtained from the Schur factorization of an *//*  original matrix A = Q*T*Q', then Q*X and Q*Y are the matrices of *//*  right or left eigenvectors of A. *//*  Arguments *//*  ========= *//*  SIDE    (input) CHARACTER*1 *//*          = 'R':  compute right eigenvectors only; *//*          = 'L':  compute left eigenvectors only; *//*          = 'B':  compute both right and left eigenvectors. *//*  HOWMNY  (input) CHARACTER*1 *//*          = 'A':  compute all right and/or left eigenvectors; *//*          = 'B':  compute all right and/or left eigenvectors, *//*                  and backtransform them using the input matrices *//*                  supplied in VR and/or VL; *//*          = 'S':  compute selected right and/or left eigenvectors, *//*                  specified by the logical array SELECT. *//*  SELECT  (input) LOGICAL array, dimension (N) *//*          If HOWMNY = 'S', SELECT specifies the eigenvectors to be *///.........这里部分代码省略.........
开发者ID:151706061,项目名称:ITK,代码行数:101,


示例19: test

/* Subroutine */ int zchkgt_(logical *dotype, integer *nn, integer *nval, 	integer *nns, integer *nsval, doublereal *thresh, logical *tsterr, 	doublecomplex *a, doublecomplex *af, doublecomplex *b, doublecomplex *	x, doublecomplex *xact, doublecomplex *work, doublereal *rwork, 	integer *iwork, integer *nout){    /* Initialized data */    static integer iseedy[4] = { 0,0,0,1 };    static char transs[1*3] = "N" "T" "C";    /* Format strings */    static char fmt_9999[] = "(12x,/002N =/002,i5,/002,/002,10x,/002 type"	    " /002,i2,/002, test(/002,i2,/002) = /002,g12.5)";    static char fmt_9997[] = "(/002 NORM ='/002,a1,/002', N =/002,i5,/002"	    ",/002,10x,/002 type /002,i2,/002, test(/002,i2,/002) = /002,g12."	    "5)";    static char fmt_9998[] = "(/002 TRANS='/002,a1,/002', N =/002,i5,/002, N"	    "RHS=/002,i3,/002, type /002,i2,/002, test(/002,i2,/002) = /002,g"	    "12.5)";    /* System generated locals */    integer i__1, i__2, i__3, i__4, i__5;    doublereal d__1, d__2;    /* Builtin functions */    /* Subroutine */ int s_copy(char *, char *, ftnlen, ftnlen);    integer s_wsfe(cilist *), do_fio(integer *, char *, ftnlen), e_wsfe(void);    /* Local variables */    integer i__, j, k, m, n;    doublecomplex z__[3];    integer in, kl, ku, ix, lda;    doublereal cond;    integer mode, koff, imat, info;    char path[3], dist[1];    integer irhs, nrhs;    char norm[1], type__[1];    integer nrun;    extern /* Subroutine */ int alahd_(integer *, char *);    integer nfail, iseed[4];    extern doublereal dget06_(doublereal *, doublereal *);    doublereal rcond;    integer nimat;    doublereal anorm;    integer itran;    extern /* Subroutine */ int zget04_(integer *, integer *, doublecomplex *, 	     integer *, doublecomplex *, integer *, doublereal *, doublereal *);    char trans[1];    integer izero, nerrs;    extern /* Subroutine */ int zgtt01_(integer *, doublecomplex *, 	    doublecomplex *, doublecomplex *, doublecomplex *, doublecomplex *, doublecomplex *, doublecomplex *, integer *, doublecomplex *, 	    integer *, doublereal *, doublereal *), zgtt02_(char *, integer *, 	     integer *, doublecomplex *, doublecomplex *, doublecomplex *, 	    doublecomplex *, integer *, doublecomplex *, integer *, 	    doublereal *, doublereal *), zgtt05_(char *, integer *, 	    integer *, doublecomplex *, doublecomplex *, doublecomplex *, 	    doublecomplex *, integer *, doublecomplex *, integer *, 	    doublecomplex *, integer *, doublereal *, doublereal *, 	    doublereal *);    logical zerot;    extern /* Subroutine */ int zcopy_(integer *, doublecomplex *, integer *, 	    doublecomplex *, integer *), zlatb4_(char *, integer *, integer *, 	     integer *, char *, integer *, integer *, doublereal *, integer *, 	     doublereal *, char *), alaerh_(char *, 	    char *, integer *, integer *, char *, integer *, integer *, 	    integer *, integer *, integer *, integer *, integer *, integer *, 	    integer *);    doublereal rcondc, rcondi;    extern /* Subroutine */ int zdscal_(integer *, doublereal *, 	    doublecomplex *, integer *), alasum_(char *, integer *, integer *, 	     integer *, integer *);    doublereal rcondo, ainvnm;    logical trfcon;    extern /* Subroutine */ int zerrge_(char *, integer *);    extern doublereal zlangt_(char *, integer *, doublecomplex *, 	    doublecomplex *, doublecomplex *);    extern /* Subroutine */ int zlagtm_(char *, integer *, integer *, 	    doublereal *, doublecomplex *, doublecomplex *, doublecomplex *, 	    doublecomplex *, integer *, doublereal *, doublecomplex *, 	    integer *), zlacpy_(char *, integer *, integer *, 	    doublecomplex *, integer *, doublecomplex *, integer *);    extern doublereal dzasum_(integer *, doublecomplex *, integer *);    extern /* Subroutine */ int zgtcon_(char *, integer *, doublecomplex *, 	    doublecomplex *, doublecomplex *, doublecomplex *, integer *, 	    doublereal *, doublereal *, doublecomplex *, integer *), 	    zlatms_(integer *, integer *, char *, integer *, char *, 	    doublereal *, integer *, doublereal *, doublereal *, integer *, 	    integer *, char *, doublecomplex *, integer *, doublecomplex *, 	    integer *), zlarnv_(integer *, integer *, 	    integer *, doublecomplex *);    doublereal result[7];    extern /* Subroutine */ int zgtrfs_(char *, integer *, integer *, 	    doublecomplex *, doublecomplex *, doublecomplex *, doublecomplex *, doublecomplex *, doublecomplex *, doublecomplex *, integer *, 	    doublecomplex *, integer *, doublecomplex *, integer *, 	    doublereal *, doublereal *, doublecomplex *, doublereal *, 	    integer *), zgttrf_(integer *, doublecomplex *, //.........这里部分代码省略.........
开发者ID:3deggi,项目名称:levmar-ndk,代码行数:101,


示例20: sqrt

/* Subroutine */ int zhetf2_(char *uplo, integer *n, doublecomplex *a, 	integer *lda, integer *ipiv, integer *info){    /* System generated locals */    integer a_dim1, a_offset, i__1, i__2, i__3, i__4, i__5, i__6;    doublereal d__1, d__2, d__3, d__4;    doublecomplex z__1, z__2, z__3, z__4, z__5, z__6;    /* Builtin functions */    double sqrt(doublereal), d_imag(doublecomplex *);    void d_cnjg(doublecomplex *, doublecomplex *);    /* Local variables */    doublereal d__;    integer i__, j, k;    doublecomplex t;    doublereal r1, d11;    doublecomplex d12;    doublereal d22;    doublecomplex d21;    integer kk, kp;    doublecomplex wk;    doublereal tt;    doublecomplex wkm1, wkp1;    integer imax, jmax;    extern /* Subroutine */ int zher_(char *, integer *, doublereal *, 	    doublecomplex *, integer *, doublecomplex *, integer *);    doublereal alpha;    extern logical lsame_(char *, char *);    integer kstep;    logical upper;    extern /* Subroutine */ int zswap_(integer *, doublecomplex *, integer *, 	    doublecomplex *, integer *);    extern doublereal dlapy2_(doublereal *, doublereal *);    doublereal absakk;    extern logical disnan_(doublereal *);    extern /* Subroutine */ int xerbla_(char *, integer *), zdscal_(	    integer *, doublereal *, doublecomplex *, integer *);    doublereal colmax;    extern integer izamax_(integer *, doublecomplex *, integer *);    doublereal rowmax;/*  -- LAPACK routine (version 3.2) -- *//*     Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. *//*     November 2006 *//*     .. Scalar Arguments .. *//*     .. *//*     .. Array Arguments .. *//*     .. *//*  Purpose *//*  ======= *//*  ZHETF2 computes the factorization of a complex Hermitian matrix A *//*  using the Bunch-Kaufman diagonal pivoting method: *//*     A = U*D*U'  or  A = L*D*L' *//*  where U (or L) is a product of permutation and unit upper (lower) *//*  triangular matrices, U' is the conjugate transpose of U, and D is *//*  Hermitian and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. *//*  This is the unblocked version of the algorithm, calling Level 2 BLAS. *//*  Arguments *//*  ========= *//*  UPLO    (input) CHARACTER*1 *//*          Specifies whether the upper or lower triangular part of the *//*          Hermitian matrix A is stored: *//*          = 'U':  Upper triangular *//*          = 'L':  Lower triangular *//*  N       (input) INTEGER *//*          The order of the matrix A.  N >= 0. *//*  A       (input/output) COMPLEX*16 array, dimension (LDA,N) *//*          On entry, the Hermitian matrix A.  If UPLO = 'U', the leading *//*          n-by-n upper triangular part of A contains the upper *//*          triangular part of the matrix A, and the strictly lower *//*          triangular part of A is not referenced.  If UPLO = 'L', the *//*          leading n-by-n lower triangular part of A contains the lower *//*          triangular part of the matrix A, and the strictly upper *//*          triangular part of A is not referenced. *//*          On exit, the block diagonal matrix D and the multipliers used *//*          to obtain the factor U or L (see below for further details). *//*  LDA     (input) INTEGER *//*          The leading dimension of the array A.  LDA >= max(1,N). *//*  IPIV    (output) INTEGER array, dimension (N) *//*          Details of the interchanges and the block structure of D. *//*          If IPIV(k) > 0, then rows and columns k and IPIV(k) were *//*          interchanged and D(k,k) is a 1-by-1 diagonal block. *//*          If UPLO = 'U' and IPIV(k) = IPIV(k-1) < 0, then rows and *//*          columns k-1 and -IPIV(k) were interchanged and D(k-1:k,k-1:k) *//*          is a 2-by-2 diagonal block.  If UPLO = 'L' and IPIV(k) = *///.........这里部分代码省略.........
开发者ID:0u812,项目名称:roadrunner-backup,代码行数:101,


示例21: UPLO

//.........这里部分代码省略.........    Similarly, if UPLO = 'L' the format of A is as follows:       On entry:                       On exit:          a11  a22  a33  a44  a55  a66     l11  l22  l33  l44  l55  l66          a21  a32  a43  a54  a65   *      l21  l32  l43  l54  l65   *          a31  a42  a53  a64   *    *      l31  l42  l53  l64   *    *       Array elements marked * are not used by the routine.       =====================================================================          Test the input parameters.          Parameter adjustments */    /* Table of constant values */    static doublereal c_b8 = -1.;    static integer c__1 = 1;        /* System generated locals */    integer ab_dim1, ab_offset, i__1, i__2, i__3;    doublereal d__1;    /* Builtin functions */    double sqrt(doublereal);    /* Local variables */    extern /* Subroutine */ int zher_(char *, integer *, doublereal *, 	    doublecomplex *, integer *, doublecomplex *, integer *);    static integer j;    extern logical lsame_(char *, char *);    static logical upper;    static integer kn;    extern /* Subroutine */ int xerbla_(char *, integer *), zdscal_(	    integer *, doublereal *, doublecomplex *, integer *), zlacgv_(	    integer *, doublecomplex *, integer *);    static doublereal ajj;    static integer kld;#define ab_subscr(a_1,a_2) (a_2)*ab_dim1 + a_1#define ab_ref(a_1,a_2) ab[ab_subscr(a_1,a_2)]    ab_dim1 = *ldab;    ab_offset = 1 + ab_dim1 * 1;    ab -= ab_offset;    /* Function Body */    *info = 0;    upper = lsame_(uplo, "U");    if (! upper && ! lsame_(uplo, "L")) {	*info = -1;    } else if (*n < 0) {	*info = -2;    } else if (*kd < 0) {	*info = -3;    } else if (*ldab < *kd + 1) {	*info = -5;    }    if (*info != 0) {	i__1 = -(*info);	xerbla_("ZPBTF2", &i__1);	return 0;    }/*     Quick return if possible */
开发者ID:EugeneGalipchak,项目名称:antelope_contrib,代码行数:66,


示例22: zcopy_

/* Subroutine */ int zneigh_(doublereal *rnorm, integer *n, doublecomplex *	h__, integer *ldh, doublecomplex *ritz, doublecomplex *bounds, 	doublecomplex *q, integer *ldq, doublecomplex *workl, doublereal *	rwork, integer *ierr){    /* System generated locals */    integer h_dim1, h_offset, q_dim1, q_offset, i__1;    doublereal d__1;    /* Local variables */    static integer j;    static real t0, t1;    static doublecomplex vl[1];    static doublereal temp;    extern /* Subroutine */ int zcopy_(integer *, doublecomplex *, integer *, 	    doublecomplex *, integer *), zmout_(integer *, integer *, integer 	    *, doublecomplex *, integer *, integer *, char *, ftnlen), zvout_(	    integer *, integer *, doublecomplex *, integer *, char *, ftnlen);    extern doublereal dznrm2_(integer *, doublecomplex *, integer *);    extern /* Subroutine */ int second_(real *);    static logical select[1];    static integer msglvl;    extern /* Subroutine */ int zlacpy_(char *, integer *, integer *, 	    doublecomplex *, integer *, doublecomplex *, integer *, ftnlen), 	    zlahqr_(logical *, logical *, integer *, integer *, integer *, 	    doublecomplex *, integer *, doublecomplex *, integer *, integer *,	     doublecomplex *, integer *, integer *), ztrevc_(char *, char *, 	    logical *, integer *, doublecomplex *, integer *, doublecomplex *,	     integer *, doublecomplex *, integer *, integer *, integer *, 	    doublecomplex *, doublereal *, integer *, ftnlen, ftnlen), 	    zdscal_(integer *, doublereal *, doublecomplex *, integer *), 	    zlaset_(char *, integer *, integer *, doublecomplex *, 	    doublecomplex *, doublecomplex *, integer *, ftnlen);/*     %----------------------------------------------------% *//*     | Include files for debugging and timing information | *//*     %----------------------------------------------------% *//* /SCCS Information: @(#) *//* FILE: debug.h   SID: 2.3   DATE OF SID: 11/16/95   RELEASE: 2 *//*     %---------------------------------% *//*     | See debug.doc for documentation | *//*     %---------------------------------% *//*     %------------------% *//*     | Scalar Arguments | *//*     %------------------% *//*     %--------------------------------% *//*     | See stat.doc for documentation | *//*     %--------------------------------% *//* /SCCS Information: @(#) *//* FILE: stat.h   SID: 2.2   DATE OF SID: 11/16/95   RELEASE: 2 *//*     %-----------------% *//*     | Array Arguments | *//*     %-----------------% *//*     %------------% *//*     | Parameters | *//*     %------------% *//*     %------------------------% *//*     | Local Scalars & Arrays | *//*     %------------------------% *//*     %----------------------% *//*     | External Subroutines | *//*     %----------------------% *//*     %--------------------% *//*     | External Functions | *//*     %--------------------% *//*     %-----------------------% *//*     | Executable Statements | *//*     %-----------------------% *//*     %-------------------------------% *//*     | Initialize timing statistics  | *//*     | & message level for debugging | *//*     %-------------------------------% */    /* Parameter adjustments */    --rwork;    --workl;    --bounds;    --ritz;    h_dim1 = *ldh;//.........这里部分代码省略.........
开发者ID:LinkChain,项目名称:pspectralclustering,代码行数:101,


示例23: z_abs

/* Subroutine */ int zdrvpt_(logical *dotype, integer *nn, integer *nval, 	integer *nrhs, doublereal *thresh, logical *tsterr, doublecomplex *a, 	doublereal *d__, doublecomplex *e, doublecomplex *b, doublecomplex *x, 	 doublecomplex *xact, doublecomplex *work, doublereal *rwork, integer 	*nout){    /* Initialized data */    static integer iseedy[4] = { 0,0,0,1 };    /* Format strings */    static char fmt_9999[] = "(1x,a6,/002, N =/002,i5,/002, type /002,i2,"	    "/002, test /002,i2,/002, ratio = /002,g12.5)";    static char fmt_9998[] = "(1x,a6,/002, FACT='/002,a1,/002', N =/002,i5"	    ",/002, type /002,i2,/002, test /002,i2,/002, ratio = /002,g12.5)";    /* System generated locals */    integer i__1, i__2, i__3, i__4, i__5;    doublereal d__1, d__2;    /* Builtin functions */    /* Subroutine */ int s_copy(char *, char *, ftnlen, ftnlen);    double z_abs(doublecomplex *);    integer s_wsfe(cilist *), do_fio(integer *, char *, ftnlen), e_wsfe(void);    /* Local variables */    integer i__, j, k, n;    doublereal z__[3];    integer k1, ia, in, kl, ku, ix, nt, lda;    char fact[1];    doublereal cond;    integer mode;    doublereal dmax__;    integer imat, info;    char path[3], dist[1], type__[1];    integer nrun, ifact;    extern /* Subroutine */ int dscal_(integer *, doublereal *, doublereal *, 	    integer *);    integer nfail, iseed[4];    extern doublereal dget06_(doublereal *, doublereal *);    doublereal rcond;    integer nimat;    doublereal anorm;    extern /* Subroutine */ int zget04_(integer *, integer *, doublecomplex *, 	     integer *, doublecomplex *, integer *, doublereal *, doublereal *), dcopy_(integer *, doublereal *, integer *, doublereal *, 	    integer *);    integer izero, nerrs;    extern /* Subroutine */ int zptt01_(integer *, doublereal *, 	    doublecomplex *, doublereal *, doublecomplex *, doublecomplex *, 	    doublereal *);    logical zerot;    extern /* Subroutine */ int zcopy_(integer *, doublecomplex *, integer *, 	    doublecomplex *, integer *), zptt02_(char *, integer *, integer *, 	     doublereal *, doublecomplex *, doublecomplex *, integer *, 	    doublecomplex *, integer *, doublereal *), zptt05_(	    integer *, integer *, doublereal *, doublecomplex *, 	    doublecomplex *, integer *, doublecomplex *, integer *, 	    doublecomplex *, integer *, doublereal *, doublereal *, 	    doublereal *), zptsv_(integer *, integer *, doublereal *, 	    doublecomplex *, doublecomplex *, integer *, integer *), zlatb4_(	    char *, integer *, integer *, integer *, char *, integer *, 	    integer *, doublereal *, integer *, doublereal *, char *), aladhd_(integer *, char *), alaerh_(char 	    *, char *, integer *, integer *, char *, integer *, integer *, 	    integer *, integer *, integer *, integer *, integer *, integer *, 	    integer *);    extern integer idamax_(integer *, doublereal *, integer *);    doublereal rcondc;    extern /* Subroutine */ int zdscal_(integer *, doublereal *, 	    doublecomplex *, integer *), alasvm_(char *, integer *, integer *, 	     integer *, integer *), dlarnv_(integer *, integer *, 	    integer *, doublereal *);    doublereal ainvnm;    extern doublereal zlanht_(char *, integer *, doublereal *, doublecomplex *);    extern /* Subroutine */ int zlacpy_(char *, integer *, integer *, 	    doublecomplex *, integer *, doublecomplex *, integer *);    extern doublereal dzasum_(integer *, doublecomplex *, integer *);    extern /* Subroutine */ int zlaset_(char *, integer *, integer *, 	    doublecomplex *, doublecomplex *, doublecomplex *, integer *), zlaptm_(char *, integer *, integer *, doublereal *, 	    doublereal *, doublecomplex *, doublecomplex *, integer *, 	    doublereal *, doublecomplex *, integer *), zlatms_(	    integer *, integer *, char *, integer *, char *, doublereal *, 	    integer *, doublereal *, doublereal *, integer *, integer *, char 	    *, doublecomplex *, integer *, doublecomplex *, integer *), zlarnv_(integer *, integer *, integer *, 	    doublecomplex *);    doublereal result[6];    extern /* Subroutine */ int zpttrf_(integer *, doublereal *, 	    doublecomplex *, integer *), zerrvx_(char *, integer *), 	    zpttrs_(char *, integer *, integer *, doublereal *, doublecomplex 	    *, doublecomplex *, integer *, integer *), zptsvx_(char *, 	     integer *, integer *, doublereal *, doublecomplex *, doublereal *, doublecomplex *, doublecomplex *, integer *, doublecomplex *, 	    integer *, doublereal *, doublereal *, doublereal *, 	    doublecomplex *, doublereal *, integer *);    /* Fortran I/O blocks */    static cilist io___35 = { 0, 0, 0, fmt_9999, 0 };    static cilist io___38 = { 0, 0, 0, fmt_9998, 0 };//.........这里部分代码省略.........
开发者ID:nya3jp,项目名称:python-animeface,代码行数:101,


示例24: sqrt

/* ----------------------------------------------------------------------| *//* Subroutine */ int zgexpv(integer *n, integer *m, doublereal *t, 	doublecomplex *v, doublecomplex *w, doublereal *tol, doublereal *	anorm, doublecomplex *wsp, integer *lwsp, integer *iwsp, integer *	liwsp, S_fp matvec, void *matvecdata, integer *itrace, integer *iflag){    /* System generated locals */    integer i__1, i__2, i__3;    doublereal d__1;    complex q__1;    doublecomplex z__1;    /* Builtin functions */    /* Subroutine */ int s_stop(char *, ftnlen);    double sqrt(doublereal), d_sign(doublereal *, doublereal *), pow_di(	    doublereal *, integer *), pow_dd(doublereal *, doublereal *), 	    d_lg10(doublereal *);    integer i_dnnt(doublereal *);    double d_int(doublereal *);    integer s_wsle(cilist *), do_lio(integer *, integer *, char *, ftnlen), 	    e_wsle();    double z_abs(doublecomplex *);    /* Local variables */    static integer ibrkflag;    static doublereal step_min__, step_max__;    static integer i__, j;    static doublereal break_tol__;    static integer k1;    static doublereal p1, p2, p3;    static integer ih, mh, iv, ns, mx;    static doublereal xm;    static integer j1v;    static doublecomplex hij;    static doublereal sgn, eps, hj1j, sqr1, beta, hump;    static integer ifree, lfree;    static doublereal t_old__;    static integer iexph;    static doublereal t_new__;    static integer nexph;    extern /* Double Complex */ VOID zdotc_(doublecomplex *, integer *, 	    doublecomplex *, integer *, doublecomplex *, integer *);    static doublereal t_now__;    extern /* Subroutine */ int zgemv_(char *, integer *, integer *, 	    doublecomplex *, doublecomplex *, integer *, doublecomplex *, 	    integer *, doublecomplex *, doublecomplex *, integer *, ftnlen);    static integer nstep;    static doublereal t_out__;    static integer nmult;    static doublereal vnorm;    extern /* Subroutine */ int zcopy_(integer *, doublecomplex *, integer *, 	    doublecomplex *, integer *), zaxpy_(integer *, doublecomplex *, 	    doublecomplex *, integer *, doublecomplex *, integer *);    extern doublereal dznrm2_(integer *, doublecomplex *, integer *);    static integer nscale;    static doublereal rndoff;    extern /* Subroutine */ int zdscal_(integer *, doublereal *, 	    doublecomplex *, integer *), zgpadm_(integer *, integer *, 	    doublereal *, doublecomplex *, integer *, doublecomplex *, 	    integer *, integer *, integer *, integer *, integer *), znchbv_(	    integer *, doublereal *, doublecomplex *, integer *, 	    doublecomplex *, doublecomplex *);    static doublereal t_step__, avnorm;    static integer ireject;    static doublereal err_loc__;    static integer nreject, mbrkdwn;    static doublereal tbrkdwn, s_error__, x_error__;    /* Fortran I/O blocks */    static cilist io___40 = { 0, 6, 0, 0, 0 };    static cilist io___48 = { 0, 6, 0, 0, 0 };    static cilist io___49 = { 0, 6, 0, 0, 0 };    static cilist io___50 = { 0, 6, 0, 0, 0 };    static cilist io___51 = { 0, 6, 0, 0, 0 };    static cilist io___52 = { 0, 6, 0, 0, 0 };    static cilist io___53 = { 0, 6, 0, 0, 0 };    static cilist io___54 = { 0, 6, 0, 0, 0 };    static cilist io___55 = { 0, 6, 0, 0, 0 };    static cilist io___56 = { 0, 6, 0, 0, 0 };    static cilist io___57 = { 0, 6, 0, 0, 0 };    static cilist io___58 = { 0, 6, 0, 0, 0 };    static cilist io___59 = { 0, 6, 0, 0, 0 };/* -----Purpose----------------------------------------------------------| *//* ---  ZGEXPV computes w = exp(t*A)*v *//*     for a Zomplex (i.e., complex double precision) matrix A *//*     It does not compute the matrix exponential in isolation but *//*     instead, it computes directly the action of the exponential *//*     operator on the operand vector. This way of doing so allows *//*     for addressing large sparse problems. *//*     The method used is based on Krylov subspace projection *//*     techniques and the matrix under consideration interacts only *//*     via the external routine `matvec' performing the matrix-vector *//*     product (matrix-free method). *//* -----Arguments--------------------------------------------------------| *///.........这里部分代码省略.........
开发者ID:AtomAleks,项目名称:PyProp,代码行数:101,


示例25: SIDE

//.........这里部分代码省略.........       Decode and test the input parameters          Parameter adjustments */    /* Table of constant values */    static doublecomplex c_b2 = {1.,0.};    static integer c__1 = 1;        /* System generated locals */    integer t_dim1, t_offset, vl_dim1, vl_offset, vr_dim1, vr_offset, i__1, 	    i__2, i__3, i__4, i__5;    doublereal d__1, d__2, d__3;    doublecomplex z__1, z__2;    /* Builtin functions */    double d_imag(doublecomplex *);    void d_cnjg(doublecomplex *, doublecomplex *);    /* Local variables */    static logical allv;    static doublereal unfl, ovfl, smin;    static logical over;    static integer i__, j, k;    static doublereal scale;    extern logical lsame_(char *, char *);    static doublereal remax;    static logical leftv, bothv;    extern /* Subroutine */ int zgemv_(char *, integer *, integer *, 	    doublecomplex *, doublecomplex *, integer *, doublecomplex *, 	    integer *, doublecomplex *, doublecomplex *, integer *);    static logical somev;    extern /* Subroutine */ int zcopy_(integer *, doublecomplex *, integer *, 	    doublecomplex *, integer *), dlabad_(doublereal *, doublereal *);    static integer ii, ki;    extern doublereal dlamch_(char *);    static integer is;    extern /* Subroutine */ int xerbla_(char *, integer *), zdscal_(	    integer *, doublereal *, doublecomplex *, integer *);    extern integer izamax_(integer *, doublecomplex *, integer *);    static logical rightv;    extern doublereal dzasum_(integer *, doublecomplex *, integer *);    static doublereal smlnum;    extern /* Subroutine */ int zlatrs_(char *, char *, char *, char *, 	    integer *, doublecomplex *, integer *, doublecomplex *, 	    doublereal *, doublereal *, integer *);    static doublereal ulp;#define t_subscr(a_1,a_2) (a_2)*t_dim1 + a_1#define t_ref(a_1,a_2) t[t_subscr(a_1,a_2)]#define vl_subscr(a_1,a_2) (a_2)*vl_dim1 + a_1#define vl_ref(a_1,a_2) vl[vl_subscr(a_1,a_2)]#define vr_subscr(a_1,a_2) (a_2)*vr_dim1 + a_1#define vr_ref(a_1,a_2) vr[vr_subscr(a_1,a_2)]    --select;    t_dim1 = *ldt;    t_offset = 1 + t_dim1 * 1;    t -= t_offset;    vl_dim1 = *ldvl;    vl_offset = 1 + vl_dim1 * 1;    vl -= vl_offset;    vr_dim1 = *ldvr;    vr_offset = 1 + vr_dim1 * 1;    vr -= vr_offset;    --work;    --rwork;    /* Function Body */    bothv = lsame_(side, "B");
开发者ID:EugeneGalipchak,项目名称:antelope_contrib,代码行数:67,


示例26: A11

//.........这里部分代码省略.........       Parameter adjustments */    /* Table of constant values */    static doublecomplex c_b1 = {1.,0.};    static integer c__1 = 1;        /* System generated locals */    integer a_dim1, a_offset, w_dim1, w_offset, i__1, i__2, i__3, i__4, i__5;    doublereal d__1, d__2, d__3, d__4;    doublecomplex z__1, z__2, z__3, z__4;    /* Builtin functions */    double sqrt(doublereal), d_imag(doublecomplex *);    void d_cnjg(doublecomplex *, doublecomplex *), z_div(doublecomplex *, 	    doublecomplex *, doublecomplex *);    /* Local variables */    static integer imax, jmax, j, k;    static doublereal t, alpha;    extern logical lsame_(char *, char *);    extern /* Subroutine */ int zgemm_(char *, char *, integer *, integer *, 	    integer *, doublecomplex *, doublecomplex *, integer *, 	    doublecomplex *, integer *, doublecomplex *, doublecomplex *, 	    integer *);    static integer kstep;    extern /* Subroutine */ int zgemv_(char *, integer *, integer *, 	    doublecomplex *, doublecomplex *, integer *, doublecomplex *, 	    integer *, doublecomplex *, doublecomplex *, integer *);    static doublereal r1;    extern /* Subroutine */ int zcopy_(integer *, doublecomplex *, integer *, 	    doublecomplex *, integer *), zswap_(integer *, doublecomplex *, 	    integer *, doublecomplex *, integer *);    static doublecomplex d11, d21, d22;    static integer jb, jj, kk, jp, kp;    static doublereal absakk;    static integer kw;    extern /* Subroutine */ int zdscal_(integer *, doublereal *, 	    doublecomplex *, integer *);    static doublereal colmax;    extern /* Subroutine */ int zlacgv_(integer *, doublecomplex *, integer *)	    ;    extern integer izamax_(integer *, doublecomplex *, integer *);    static doublereal rowmax;    static integer kkw;#define a_subscr(a_1,a_2) (a_2)*a_dim1 + a_1#define a_ref(a_1,a_2) a[a_subscr(a_1,a_2)]#define w_subscr(a_1,a_2) (a_2)*w_dim1 + a_1#define w_ref(a_1,a_2) w[w_subscr(a_1,a_2)]    a_dim1 = *lda;    a_offset = 1 + a_dim1 * 1;    a -= a_offset;    --ipiv;    w_dim1 = *ldw;    w_offset = 1 + w_dim1 * 1;    w -= w_offset;    /* Function Body */    *info = 0;/*     Initialize ALPHA for use in choosing pivot block size. */    alpha = (sqrt(17.) + 1.) / 8.;    if (lsame_(uplo, "U")) {/*        Factorize the trailing columns of A using the upper triangle             of A and working backwards, and compute the matrix W = U12*D   
开发者ID:MichaelH13,项目名称:sdkpub,代码行数:67,


示例27: zlarfgp_

/* Subroutine */int zlarfgp_(integer *n, doublecomplex *alpha, doublecomplex *x, integer *incx, doublecomplex *tau){    /* System generated locals */    integer i__1, i__2;    doublereal d__1, d__2;    doublecomplex z__1, z__2;    /* Builtin functions */    double d_imag(doublecomplex *), d_sign(doublereal *, doublereal *), z_abs( doublecomplex *);    /* Local variables */    integer j;    doublecomplex savealpha;    integer knt;    doublereal beta, alphi, alphr;    extern /* Subroutine */    int zscal_(integer *, doublecomplex *, doublecomplex *, integer *);    doublereal xnorm;    extern doublereal dlapy2_(doublereal *, doublereal *), dlapy3_(doublereal *, doublereal *, doublereal *), dznrm2_(integer *, doublecomplex * , integer *), dlamch_(char *);    extern /* Subroutine */    int zdscal_(integer *, doublereal *, doublecomplex *, integer *);    doublereal bignum;    extern /* Double Complex */    VOID zladiv_(doublecomplex *, doublecomplex *, doublecomplex *);    doublereal smlnum;    /* -- LAPACK auxiliary routine (version 3.4.2) -- */    /* -- LAPACK is a software package provided by Univ. of Tennessee, -- */    /* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- */    /* September 2012 */    /* .. Scalar Arguments .. */    /* .. */    /* .. Array Arguments .. */    /* .. */    /* ===================================================================== */    /* .. Parameters .. */    /* .. */    /* .. Local Scalars .. */    /* .. */    /* .. External Functions .. */    /* .. */    /* .. Intrinsic Functions .. */    /* .. */    /* .. External Subroutines .. */    /* .. */    /* .. Executable Statements .. */    /* Parameter adjustments */    --x;    /* Function Body */    if (*n <= 0)    {        tau->r = 0., tau->i = 0.;        return 0;    }    i__1 = *n - 1;    xnorm = dznrm2_(&i__1, &x[1], incx);    alphr = alpha->r;    alphi = d_imag(alpha);    if (xnorm == 0.)    {        /* H = [1-alpha/abs(alpha) 0;        0 I], sign chosen so ALPHA >= 0. */        if (alphi == 0.)        {            if (alphr >= 0.)            {                /* When TAU.eq.ZERO, the vector is special-cased to be */                /* all zeros in the application routines. We do not need */                /* to clear it. */                tau->r = 0., tau->i = 0.;            }            else            {                /* However, the application routines rely on explicit */                /* zero checks when TAU.ne.ZERO, and we must clear X. */                tau->r = 2., tau->i = 0.;                i__1 = *n - 1;                for (j = 1;                        j <= i__1;                        ++j)                {                    i__2 = (j - 1) * *incx + 1;                    x[i__2].r = 0.;                    x[i__2].i = 0.; // , expr subst                }                z__1.r = -alpha->r;                z__1.i = -alpha->i; // , expr subst                alpha->r = z__1.r, alpha->i = z__1.i;            }        }        else        {            /* Only "reflecting" the diagonal entry to be real and non-negative. */            xnorm = dlapy2_(&alphr, &alphi);            d__1 = 1. - alphr / xnorm;            d__2 = -alphi / xnorm;            z__1.r = d__1;            z__1.i = d__2; // , expr subst            tau->r = z__1.r, tau->i = z__1.i;            i__1 = *n - 1;            for (j = 1;                    j <= i__1;//.........这里部分代码省略.........
开发者ID:fmarrabal,项目名称:libflame,代码行数:101,


示例28: d_lg10

/* Subroutine */ int zggbal_(char *job, integer *n, doublecomplex *a, integer 	*lda, doublecomplex *b, integer *ldb, integer *ilo, integer *ihi, 	doublereal *lscale, doublereal *rscale, doublereal *work, integer *	info){    /* System generated locals */    integer a_dim1, a_offset, b_dim1, b_offset, i__1, i__2, i__3, i__4;    doublereal d__1, d__2, d__3;    /* Builtin functions */    double d_lg10(doublereal *), d_imag(doublecomplex *), z_abs(doublecomplex 	    *), d_sign(doublereal *, doublereal *), pow_di(doublereal *, 	    integer *);    /* Local variables */    integer i__, j, k, l, m;    doublereal t;    integer jc;    doublereal ta, tb, tc;    integer ir;    doublereal ew;    integer it, nr, ip1, jp1, lm1;    doublereal cab, rab, ewc, cor, sum;    integer nrp2, icab, lcab;    doublereal beta, coef;    integer irab, lrab;    doublereal basl, cmax;    extern doublereal ddot_(integer *, doublereal *, integer *, doublereal *, 	    integer *);    doublereal coef2, coef5, gamma, alpha;    extern /* Subroutine */ int dscal_(integer *, doublereal *, doublereal *, 	    integer *);    extern logical lsame_(char *, char *);    doublereal sfmin, sfmax;    integer iflow;    extern /* Subroutine */ int daxpy_(integer *, doublereal *, doublereal *, 	    integer *, doublereal *, integer *);    integer kount;    extern /* Subroutine */ int zswap_(integer *, doublecomplex *, integer *, 	    doublecomplex *, integer *);    extern doublereal dlamch_(char *);    doublereal pgamma;    extern /* Subroutine */ int xerbla_(char *, integer *), zdscal_(	    integer *, doublereal *, doublecomplex *, integer *);    integer lsfmin;    extern integer izamax_(integer *, doublecomplex *, integer *);    integer lsfmax;/*  -- LAPACK routine (version 3.2) -- *//*     Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. *//*     November 2006 *//*     .. Scalar Arguments .. *//*     .. *//*     .. Array Arguments .. *//*     .. *//*  Purpose *//*  ======= *//*  ZGGBAL balances a pair of general complex matrices (A,B).  This *//*  involves, first, permuting A and B by similarity transformations to *//*  isolate eigenvalues in the first 1 to ILO$-$1 and last IHI+1 to N *//*  elements on the diagonal; and second, applying a diagonal similarity *//*  transformation to rows and columns ILO to IHI to make the rows *//*  and columns as close in norm as possible. Both steps are optional. *//*  Balancing may reduce the 1-norm of the matrices, and improve the *//*  accuracy of the computed eigenvalues and/or eigenvectors in the *//*  generalized eigenvalue problem A*x = lambda*B*x. *//*  Arguments *//*  ========= *//*  JOB     (input) CHARACTER*1 *//*          Specifies the operations to be performed on A and B: *//*          = 'N':  none:  simply set ILO = 1, IHI = N, LSCALE(I) = 1.0 *//*                  and RSCALE(I) = 1.0 for i=1,...,N; *//*          = 'P':  permute only; *//*          = 'S':  scale only; *//*          = 'B':  both permute and scale. *//*  N       (input) INTEGER *//*          The order of the matrices A and B.  N >= 0. *//*  A       (input/output) COMPLEX*16 array, dimension (LDA,N) *//*          On entry, the input matrix A. *//*          On exit, A is overwritten by the balanced matrix. *//*          If JOB = 'N', A is not referenced. *//*  LDA     (input) INTEGER *//*          The leading dimension of the array A. LDA >= max(1,N). *//*  B       (input/output) COMPLEX*16 array, dimension (LDB,N) *//*          On entry, the input matrix B. *//*          On exit, B is overwritten by the balanced matrix. *//*          If JOB = 'N', B is not referenced. *//*  LDB     (input) INTEGER *///.........这里部分代码省略.........
开发者ID:0u812,项目名称:roadrunner-backup,代码行数:101,


示例29: z_div

/* Subroutine */ int zhptrs_(char *uplo, integer *n, integer *nrhs, 	doublecomplex *ap, integer *ipiv, doublecomplex *b, integer *ldb, 	integer *info){    /* System generated locals */    integer b_dim1, b_offset, i__1, i__2;    doublecomplex z__1, z__2, z__3;    /* Builtin functions */    void z_div(doublecomplex *, doublecomplex *, doublecomplex *), d_cnjg(	    doublecomplex *, doublecomplex *);    /* Local variables */    integer j, k;    doublereal s;    doublecomplex ak, bk;    integer kc, kp;    doublecomplex akm1, bkm1, akm1k;    extern logical lsame_(char *, char *);    doublecomplex denom;    extern /* Subroutine */ int zgemv_(char *, integer *, integer *, 	    doublecomplex *, doublecomplex *, integer *, doublecomplex *, 	    integer *, doublecomplex *, doublecomplex *, integer *);    logical upper;    extern /* Subroutine */ int zgeru_(integer *, integer *, doublecomplex *, 	    doublecomplex *, integer *, doublecomplex *, integer *, 	    doublecomplex *, integer *), zswap_(integer *, doublecomplex *, 	    integer *, doublecomplex *, integer *), xerbla_(char *, integer *), zdscal_(integer *, doublereal *, doublecomplex *, 	    integer *), zlacgv_(integer *, doublecomplex *, integer *);/*  -- LAPACK routine (version 3.1) -- *//*     Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. *//*     November 2006 *//*     .. Scalar Arguments .. *//*     .. *//*     .. Array Arguments .. *//*     .. *//*  Purpose *//*  ======= *//*  ZHPTRS solves a system of linear equations A*X = B with a complex *//*  Hermitian matrix A stored in packed format using the factorization *//*  A = U*D*U**H or A = L*D*L**H computed by ZHPTRF. *//*  Arguments *//*  ========= *//*  UPLO    (input) CHARACTER*1 *//*          Specifies whether the details of the factorization are stored *//*          as an upper or lower triangular matrix. *//*          = 'U':  Upper triangular, form is A = U*D*U**H; *//*          = 'L':  Lower triangular, form is A = L*D*L**H. *//*  N       (input) INTEGER *//*          The order of the matrix A.  N >= 0. *//*  NRHS    (input) INTEGER *//*          The number of right hand sides, i.e., the number of columns *//*          of the matrix B.  NRHS >= 0. *//*  AP      (input) COMPLEX*16 array, dimension (N*(N+1)/2) *//*          The block diagonal matrix D and the multipliers used to *//*          obtain the factor U or L as computed by ZHPTRF, stored as a *//*          packed triangular matrix. *//*  IPIV    (input) INTEGER array, dimension (N) *//*          Details of the interchanges and the block structure of D *//*          as determined by ZHPTRF. *//*  B       (input/output) COMPLEX*16 array, dimension (LDB,NRHS) *//*          On entry, the right hand side matrix B. *//*          On exit, the solution matrix X. *//*  LDB     (input) INTEGER *//*          The leading dimension of the array B.  LDB >= max(1,N). *//*  INFO    (output) INTEGER *//*          = 0:  successful exit *//*          < 0: if INFO = -i, the i-th argument had an illegal value *//*  ===================================================================== *//*     .. Parameters .. *//*     .. *//*     .. Local Scalars .. *//*     .. *//*     .. External Functions .. *//*     .. *//*     .. External Subroutines .. *//*     .. *//*     .. Intrinsic Functions .. *//*     .. *//*     .. Executable Statements .. */    /* Parameter adjustments */    --ap;    --ipiv;//.........这里部分代码省略.........
开发者ID:dacap,项目名称:loseface,代码行数:101,


示例30: JOBZ

/* Subroutine */ int zhpev_(char *jobz, char *uplo, integer *n, doublecomplex 	*ap, doublereal *w, doublecomplex *z__, integer *ldz, doublecomplex *	work, doublereal *rwork, integer *info){/*  -- LAPACK driver routine (version 3.0) --          Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd.,          Courant Institute, Argonne National Lab, and Rice University          March 31, 1993       Purpose       =======       ZHPEV computes all the eigenvalues and, optionally, eigenvectors of a       complex Hermitian matrix in packed storage.       Arguments       =========       JOBZ    (input) CHARACTER*1               = 'N':  Compute eigenvalues only;               = 'V':  Compute eigenvalues and eigenvectors.       UPLO    (input) CHARACTER*1               = 'U':  Upper triangle of A is stored;               = 'L':  Lower triangle of A is stored.       N       (input) INTEGER               The order of the matrix A.  N >= 0.       AP      (input/output) COMPLEX*16 array, dimension (N*(N+1)/2)               On entry, the upper or lower triangle of the Hermitian matrix               A, packed columnwise in a linear array.  The j-th column of A               is stored in the array AP as follows:               if UPLO = 'U', AP(i + (j-1)*j/2) = A(i,j) for 1<=i<=j;               if UPLO = 'L', AP(i + (j-1)*(2*n-j)/2) = A(i,j) for j<=i<=n.               On exit, AP is overwritten by values generated during the               reduction to tridiagonal form.  If UPLO = 'U', the diagonal               and first superdiagonal of the tridiagonal matrix T overwrite               the corresponding elements of A, and if UPLO = 'L', the               diagonal and first subdiagonal of T overwrite the               corresponding elements of A.       W       (output) DOUBLE PRECISION array, dimension (N)               If INFO = 0, the eigenvalues in ascending order.       Z       (output) COMPLEX*16 array, dimension (LDZ, N)               If JOBZ = 'V', then if INFO = 0, Z contains the orthonormal               eigenvectors of the matrix A, with the i-th column of Z               holding the eigenvector associated with W(i).               If JOBZ = 'N', then Z is not referenced.       LDZ     (input) INTEGER               The leading dimension of the array Z.  LDZ >= 1, and if               JOBZ = 'V', LDZ >= max(1,N).       WORK    (workspace) COMPLEX*16 array, dimension (max(1, 2*N-1))       RWORK   (workspace) DOUBLE PRECISION array, dimension (max(1, 3*N-2))       INFO    (output) INTEGER               = 0:  successful exit.               < 0:  if INFO = -i, the i-th argument had an illegal value.               > 0:  if INFO = i, the algorithm failed to converge; i                     off-diagonal elements of an intermediate tridiagonal                     form did not converge to zero.       =====================================================================          Test the input parameters.          Parameter adjustments */    /* Table of constant values */    static integer c__1 = 1;        /* System generated locals */    integer z_dim1, z_offset, i__1;    doublereal d__1;    /* Builtin functions */    double sqrt(doublereal);    /* Local variables */    static integer inde;    static doublereal anrm;    static integer imax;    static doublereal rmin, rmax;    extern /* Subroutine */ int dscal_(integer *, doublereal *, doublereal *, 	    integer *);    static doublereal sigma;    extern logical lsame_(char *, char *);    static integer iinfo;    static logical wantz;    extern doublereal dlamch_(char *);    static integer iscale;    static doublereal safmin;    extern /* Subroutine */ int xerbla_(char *, integer *), zdscal_(	    integer *, doublereal *, doublecomplex *, integer *);    static doublereal bignum;    static integer indtau;//.........这里部分代码省略.........
开发者ID:EugeneGalipchak,项目名称:antelope_contrib,代码行数:101,



注:本文中的zdscal_函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ zedTrace函数代码示例
C++ zdp_dump_excess函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。