亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? ssteqr.c

?? NIST Handwriting OCR Testbed
?? C
字號:
/** ======================================================================* NIST Guide to Available Math Software.* Fullsource for module SSYEVX.C from package CLAPACK.* Retrieved from NETLIB on Fri Mar 10 14:23:44 2000.* ======================================================================*/#include <f2c.h>/* Subroutine */ int ssteqr_(char *compz, integer *n, real *d, real *e, real *	z, integer *ldz, real *work, integer *info){/*  -- LAPACK routine (version 2.0) --          Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd.,          Courant Institute, Argonne National Lab, and Rice University          September 30, 1994       Purpose       =======       SSTEQR computes all eigenvalues and, optionally, eigenvectors of a       symmetric tridiagonal matrix using the implicit QL or QR method.       The eigenvectors of a full or band symmetric matrix can also be found       if SSYTRD or SSPTRD or SSBTRD has been used to reduce this matrix to       tridiagonal form.       Arguments       =========       COMPZ   (input) CHARACTER*1               = 'N':  Compute eigenvalues only.               = 'V':  Compute eigenvalues and eigenvectors of the original                       symmetric matrix.  On entry, Z must contain the                       orthogonal matrix used to reduce the original matrix                       to tridiagonal form.               = 'I':  Compute eigenvalues and eigenvectors of the                       tridiagonal matrix.  Z is initialized to the identity                       matrix.       N       (input) INTEGER               The order of the matrix.  N >= 0.       D       (input/output) REAL array, dimension (N)               On entry, the diagonal elements of the tridiagonal matrix.               On exit, if INFO = 0, the eigenvalues in ascending order.       E       (input/output) REAL array, dimension (N-1)               On entry, the (n-1) subdiagonal elements of the tridiagonal               matrix.               On exit, E has been destroyed.       Z       (input/output) REAL array, dimension (LDZ, N)               On entry, if  COMPZ = 'V', then Z contains the orthogonal               matrix used in the reduction to tridiagonal form.               On exit, if INFO = 0, then if  COMPZ = 'V', Z contains the               orthonormal eigenvectors of the original symmetric matrix,               and if COMPZ = 'I', Z contains the orthonormal eigenvectors               of the symmetric tridiagonal matrix.               If COMPZ = 'N', then Z is not referenced.       LDZ     (input) INTEGER               The leading dimension of the array Z.  LDZ >= 1, and if               eigenvectors are desired, then  LDZ >= max(1,N).       WORK    (workspace) REAL array, dimension (max(1,2*N-2))               If COMPZ = 'N', then WORK is not referenced.       INFO    (output) INTEGER               = 0:  successful exit               < 0:  if INFO = -i, the i-th argument had an illegal value               > 0:  the algorithm has failed to find all the eigenvalues in                     a total of 30*N iterations; if INFO = i, then i                     elements of E have not converged to zero; on exit, D                     and E contain the elements of a symmetric tridiagonal                     matrix which is orthogonally similar to the original                     matrix.       =====================================================================          Test the input parameters.          Parameter adjustments          Function Body */    /* Table of constant values */    static real c_b9 = 0.f;    static real c_b10 = 1.f;    static integer c__0 = 0;    static integer c__1 = 1;    static integer c__2 = 2;        /* System generated locals */    integer z_dim1, z_offset, i__1, i__2;    real r__1, r__2;    /* Builtin functions */    double sqrt(doublereal), r_sign(real *, real *);    /* Local variables */    static integer lend, jtot;    extern /* Subroutine */ int slae2_(real *, real *, real *, real *, real *)	    ;    static real b, c, f, g;    static integer i, j, k, l, m;    static real p, r, s;    extern logical lsame_(char *, char *);    static real anorm;    extern /* Subroutine */ int slasr_(char *, char *, char *, integer *, 	    integer *, real *, real *, real *, integer *);    static integer l1;    extern /* Subroutine */ int sswap_(integer *, real *, integer *, real *, 	    integer *);    static integer lendm1, lendp1;    extern /* Subroutine */ int slaev2_(real *, real *, real *, real *, real *	    , real *, real *);    extern doublereal slapy2_(real *, real *);    static integer ii, mm, iscale;    extern doublereal slamch_(char *);    static real safmin;    extern /* Subroutine */ int xerbla_(char *, integer *);    static real safmax;    extern /* Subroutine */ int slascl_(char *, integer *, integer *, real *, 	    real *, integer *, integer *, real *, integer *, integer *);    static integer lendsv;    extern /* Subroutine */ int slartg_(real *, real *, real *, real *, real *	    ), slaset_(char *, integer *, integer *, real *, real *, real *, 	    integer *);    static real ssfmin;    static integer nmaxit, icompz;    static real ssfmax;    extern doublereal slanst_(char *, integer *, real *, real *);    extern /* Subroutine */ int slasrt_(char *, integer *, real *, integer *);    static integer lm1, mm1, nm1;    static real rt1, rt2, eps;    static integer lsv;    static real tst, eps2;#define D(I) d[(I)-1]#define E(I) e[(I)-1]#define WORK(I) work[(I)-1]#define Z(I,J) z[(I)-1 + ((J)-1)* ( *ldz)]    *info = 0;    if (lsame_(compz, "N")) {	icompz = 0;    } else if (lsame_(compz, "V")) {	icompz = 1;    } else if (lsame_(compz, "I")) {	icompz = 2;    } else {	icompz = -1;    }    if (icompz < 0) {	*info = -1;    } else if (*n < 0) {	*info = -2;    } else if (*ldz < 1 || icompz > 0 && *ldz < max(1,*n)) {	*info = -6;    }    if (*info != 0) {	i__1 = -(*info);	xerbla_("SSTEQR", &i__1);	return 0;    }/*     Quick return if possible */    if (*n == 0) {	return 0;    }    if (*n == 1) {	if (icompz == 2) {	    Z(1,1) = 1.f;	}	return 0;    }/*     Determine the unit roundoff and over/underflow thresholds. */    eps = slamch_("E");/* Computing 2nd power */    r__1 = eps;    eps2 = r__1 * r__1;    safmin = slamch_("S");    safmax = 1.f / safmin;    ssfmax = sqrt(safmax) / 3.f;    ssfmin = sqrt(safmin) / eps2;/*     Compute the eigenvalues and eigenvectors of the tridiagonal          matrix. */    if (icompz == 2) {	slaset_("Full", n, n, &c_b9, &c_b10, &Z(1,1), ldz);    }    nmaxit = *n * 30;    jtot = 0;/*     Determine where the matrix splits and choose QL or QR iteration          for each block, according to whether top or bottom diagonal          element is smaller. */    l1 = 1;    nm1 = *n - 1;L10:    if (l1 > *n) {	goto L160;    }    if (l1 > 1) {	E(l1 - 1) = 0.f;    }    if (l1 <= nm1) {	i__1 = nm1;	for (m = l1; m <= nm1; ++m) {	    tst = (r__1 = E(m), dabs(r__1));	    if (tst == 0.f) {		goto L30;	    }	    if (tst <= sqrt((r__1 = D(m), dabs(r__1))) * sqrt((r__2 = D(m + 1)		    , dabs(r__2))) * eps) {		E(m) = 0.f;		goto L30;	    }/* L20: */	}    }    m = *n;L30:    l = l1;    lsv = l;    lend = m;    lendsv = lend;    l1 = m + 1;    if (lend == l) {	goto L10;    }/*     Scale submatrix in rows and columns L to LEND */    i__1 = lend - l + 1;    anorm = slanst_("I", &i__1, &D(l), &E(l));    iscale = 0;    if (anorm == 0.f) {	goto L10;    }    if (anorm > ssfmax) {	iscale = 1;	i__1 = lend - l + 1;	slascl_("G", &c__0, &c__0, &anorm, &ssfmax, &i__1, &c__1, &D(l), n, 		info);	i__1 = lend - l;	slascl_("G", &c__0, &c__0, &anorm, &ssfmax, &i__1, &c__1, &E(l), n, 		info);    } else if (anorm < ssfmin) {	iscale = 2;	i__1 = lend - l + 1;	slascl_("G", &c__0, &c__0, &anorm, &ssfmin, &i__1, &c__1, &D(l), n, 		info);	i__1 = lend - l;	slascl_("G", &c__0, &c__0, &anorm, &ssfmin, &i__1, &c__1, &E(l), n, 		info);    }/*     Choose between QL and QR iteration */    if ((r__1 = D(lend), dabs(r__1)) < (r__2 = D(l), dabs(r__2))) {	lend = lsv;	l = lendsv;    }    if (lend > l) {/*        QL Iteration             Look for small subdiagonal element. */L40:	if (l != lend) {	    lendm1 = lend - 1;	    i__1 = lendm1;	    for (m = l; m <= lendm1; ++m) {/* Computing 2nd power */		r__2 = (r__1 = E(m), dabs(r__1));		tst = r__2 * r__2;		if (tst <= eps2 * (r__1 = D(m), dabs(r__1)) * (r__2 = D(m + 1)			, dabs(r__2)) + safmin) {		    goto L60;		}/* L50: */	    }	}	m = lend;L60:	if (m < lend) {	    E(m) = 0.f;	}	p = D(l);	if (m == l) {	    goto L80;	}/*        If remaining matrix is 2-by-2, use SLAE2 or SLAEV2             to compute its eigensystem. */	if (m == l + 1) {	    if (icompz > 0) {		slaev2_(&D(l), &E(l), &D(l + 1), &rt1, &rt2, &c, &s);		WORK(l) = c;		WORK(*n - 1 + l) = s;		slasr_("R", "V", "B", n, &c__2, &WORK(l), &WORK(*n - 1 + l), &			Z(1,l), ldz);	    } else {		slae2_(&D(l), &E(l), &D(l + 1), &rt1, &rt2);	    }	    D(l) = rt1;	    D(l + 1) = rt2;	    E(l) = 0.f;	    l += 2;	    if (l <= lend) {		goto L40;	    }	    goto L140;	}	if (jtot == nmaxit) {	    goto L140;	}	++jtot;/*        Form shift. */	g = (D(l + 1) - p) / (E(l) * 2.f);	r = slapy2_(&g, &c_b10);	g = D(m) - p + E(l) / (g + r_sign(&r, &g));	s = 1.f;	c = 1.f;	p = 0.f;/*        Inner loop */	mm1 = m - 1;	i__1 = l;	for (i = mm1; i >= l; --i) {	    f = s * E(i);	    b = c * E(i);	    slartg_(&g, &f, &c, &s, &r);	    if (i != m - 1) {		E(i + 1) = r;	    }	    g = D(i + 1) - p;	    r = (D(i) - g) * s + c * 2.f * b;	    p = s * r;	    D(i + 1) = g + p;	    g = c * r - b;/*           If eigenvectors are desired, then save rotations. */	    if (icompz > 0) {		WORK(i) = c;		WORK(*n - 1 + i) = -(doublereal)s;	    }/* L70: */	}/*        If eigenvectors are desired, then apply saved rotations. */	if (icompz > 0) {	    mm = m - l + 1;	    slasr_("R", "V", "B", n, &mm, &WORK(l), &WORK(*n - 1 + l), &Z(1,l), ldz);	}	D(l) -= p;	E(l) = g;	goto L40;/*        Eigenvalue found. */L80:	D(l) = p;	++l;	if (l <= lend) {	    goto L40;	}	goto L140;    } else {/*        QR Iteration             Look for small superdiagonal element. */L90:	if (l != lend) {	    lendp1 = lend + 1;	    i__1 = lendp1;	    for (m = l; m >= lendp1; --m) {/* Computing 2nd power */		r__2 = (r__1 = E(m - 1), dabs(r__1));		tst = r__2 * r__2;		if (tst <= eps2 * (r__1 = D(m), dabs(r__1)) * (r__2 = D(m - 1)			, dabs(r__2)) + safmin) {		    goto L110;		}/* L100: */	    }	}	m = lend;L110:	if (m > lend) {	    E(m - 1) = 0.f;	}	p = D(l);	if (m == l) {	    goto L130;	}/*        If remaining matrix is 2-by-2, use SLAE2 or SLAEV2             to compute its eigensystem. */	if (m == l - 1) {	    if (icompz > 0) {		slaev2_(&D(l - 1), &E(l - 1), &D(l), &rt1, &rt2, &c, &s);		WORK(m) = c;		WORK(*n - 1 + m) = s;		slasr_("R", "V", "F", n, &c__2, &WORK(m), &WORK(*n - 1 + m), &			Z(1,l-1), ldz);	    } else {		slae2_(&D(l - 1), &E(l - 1), &D(l), &rt1, &rt2);	    }	    D(l - 1) = rt1;	    D(l) = rt2;	    E(l - 1) = 0.f;	    l += -2;	    if (l >= lend) {		goto L90;	    }	    goto L140;	}	if (jtot == nmaxit) {	    goto L140;	}	++jtot;/*        Form shift. */	g = (D(l - 1) - p) / (E(l - 1) * 2.f);	r = slapy2_(&g, &c_b10);	g = D(m) - p + E(l - 1) / (g + r_sign(&r, &g));	s = 1.f;	c = 1.f;	p = 0.f;/*        Inner loop */	lm1 = l - 1;	i__1 = lm1;	for (i = m; i <= lm1; ++i) {	    f = s * E(i);	    b = c * E(i);	    slartg_(&g, &f, &c, &s, &r);	    if (i != m) {		E(i - 1) = r;	    }	    g = D(i) - p;	    r = (D(i + 1) - g) * s + c * 2.f * b;	    p = s * r;	    D(i) = g + p;	    g = c * r - b;/*           If eigenvectors are desired, then save rotations. */	    if (icompz > 0) {		WORK(i) = c;		WORK(*n - 1 + i) = s;	    }/* L120: */	}/*        If eigenvectors are desired, then apply saved rotations. */	if (icompz > 0) {	    mm = l - m + 1;	    slasr_("R", "V", "F", n, &mm, &WORK(m), &WORK(*n - 1 + m), &Z(1,m), ldz);	}	D(l) -= p;	E(lm1) = g;	goto L90;/*        Eigenvalue found. */L130:	D(l) = p;	--l;	if (l >= lend) {	    goto L90;	}	goto L140;    }/*     Undo scaling if necessary */L140:    if (iscale == 1) {	i__1 = lendsv - lsv + 1;	slascl_("G", &c__0, &c__0, &ssfmax, &anorm, &i__1, &c__1, &D(lsv), n, 		info);	i__1 = lendsv - lsv;	slascl_("G", &c__0, &c__0, &ssfmax, &anorm, &i__1, &c__1, &E(lsv), n, 		info);    } else if (iscale == 2) {	i__1 = lendsv - lsv + 1;	slascl_("G", &c__0, &c__0, &ssfmin, &anorm, &i__1, &c__1, &D(lsv), n, 		info);	i__1 = lendsv - lsv;	slascl_("G", &c__0, &c__0, &ssfmin, &anorm, &i__1, &c__1, &E(lsv), n, 		info);    }/*     Check for no convergence to an eigenvalue after a total          of N*MAXIT iterations. */    if (jtot < nmaxit) {	goto L10;    }    i__1 = *n - 1;    for (i = 1; i <= *n-1; ++i) {	if (E(i) != 0.f) {	    ++(*info);	}/* L150: */    }    goto L190;/*     Order eigenvalues and eigenvectors. */L160:    if (icompz == 0) {/*        Use Quick Sort */	slasrt_("I", n, &D(1), info);    } else {/*        Use Selection Sort to minimize swaps of eigenvectors */	i__1 = *n;	for (ii = 2; ii <= *n; ++ii) {	    i = ii - 1;	    k = i;	    p = D(i);	    i__2 = *n;	    for (j = ii; j <= *n; ++j) {		if (D(j) < p) {		    k = j;		    p = D(j);		}/* L170: */	    }	    if (k != i) {		D(k) = D(i);		D(i) = p;		sswap_(n, &Z(1,i), &c__1, &Z(1,k), &			c__1);	    }/* L180: */	}    }L190:    return 0;/*     End of SSTEQR */} /* ssteqr_ */

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日日骚欧美日韩| 欧美日韩亚洲丝袜制服| 久久 天天综合| 精品一区二区三区免费| 美女看a上一区| 日本欧美一区二区在线观看| 一区二区三区电影在线播| 亚洲精品国产一区二区三区四区在线 | 成人小视频在线| 色综合久久久久| 日韩欧美成人一区| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 国内外成人在线视频| 在线精品视频免费观看| 久久久电影一区二区三区| 欧美精彩视频一区二区三区| 国产精品三级av在线播放| 一区二区三区中文字幕| 国模娜娜一区二区三区| 91啪九色porn原创视频在线观看| 色综合久久久久综合| 精品国产区一区| 亚洲线精品一区二区三区| 日韩av在线免费观看不卡| 国产米奇在线777精品观看| 色婷婷亚洲精品| 久久欧美中文字幕| 日本成人中文字幕| 欧美日韩日本视频| 中文一区在线播放| 国产在线视频一区二区三区| 欧美精品在线观看播放| 国产精品二三区| 国产99精品国产| 26uuu欧美日本| 精品一二线国产| 久久久久久久久久电影| 免费成人小视频| 久久综合视频网| 国产精品一区不卡| 国产精品久久久久永久免费观看| 激情综合五月天| 亚洲精品成人悠悠色影视| 久久久久一区二区三区四区| 秋霞国产午夜精品免费视频| 欧美一区二区久久| 国产精品1区2区3区在线观看| 久久―日本道色综合久久| 国产成人a级片| 亚洲九九爱视频| 4438x亚洲最大成人网| 狠狠色丁香久久婷婷综合_中 | 午夜精品aaa| 久久久777精品电影网影网 | 亚洲精品一二三区| 国产精品久久久爽爽爽麻豆色哟哟| 精品亚洲porn| 欧美不卡一区二区三区| 国产精品自在在线| 亚洲一区二区三区精品在线| 欧美一区二区性放荡片| av电影在线观看不卡| 久久精品99久久久| 亚洲人成精品久久久久| 中文字幕欧美区| 国产精品三级久久久久三级| 久久久久久免费网| 欧美精品丝袜久久久中文字幕| 丁香桃色午夜亚洲一区二区三区| 日韩精品乱码av一区二区| 一区二区三区日韩精品视频| |精品福利一区二区三区| 国产日韩欧美亚洲| 国产欧美一区二区三区鸳鸯浴| 久久精品欧美日韩| 中文字幕综合网| 国产精品不卡视频| 亚洲女同ⅹxx女同tv| 亚洲色图欧洲色图婷婷| 一区二区三区四区乱视频| 一区二区三区欧美视频| 蜜臂av日日欢夜夜爽一区| 国产在线精品一区二区夜色| 国v精品久久久网| 欧美性大战久久久久久久蜜臀 | 成人午夜电影小说| 成人福利在线看| 91浏览器在线视频| 欧美日韩夫妻久久| 精品国产1区二区| 精品国产百合女同互慰| 中文字幕日韩欧美一区二区三区| 丝袜亚洲另类欧美| 99精品一区二区三区| 日本高清成人免费播放| 欧美性色黄大片| 久久女同精品一区二区| 亚洲h精品动漫在线观看| 高清不卡在线观看| 日韩免费在线观看| 天堂va蜜桃一区二区三区漫画版| 加勒比av一区二区| 91极品视觉盛宴| 久久久精品日韩欧美| 亚洲男人天堂av网| 国产精品综合网| 国产欧美一区二区精品婷婷| 日韩成人免费电影| 欧美三级在线看| 亚洲日本在线a| www.亚洲色图| 一区二区三区在线播放| 在线免费观看日本欧美| 中文字幕永久在线不卡| 另类小说图片综合网| 欧美日韩激情一区二区三区| 中文字幕一区三区| 日本精品免费观看高清观看| 日韩激情中文字幕| 精品国产乱码久久久久久久| 男女男精品视频| 精品国产一区二区三区久久影院| 激情av综合网| 亚洲男人的天堂在线aⅴ视频| 欧美在线影院一区二区| 亚洲国产毛片aaaaa无费看| 欧美无乱码久久久免费午夜一区| 亚洲va国产天堂va久久en| 欧美一区二区三区精品| 成人av免费在线观看| 毛片基地黄久久久久久天堂| 亚洲精品乱码久久久久久| 欧美成人激情免费网| 日本精品一区二区三区四区的功能| 麻豆成人综合网| 亚洲视频香蕉人妖| 国产精品乱人伦一区二区| 欧美精品tushy高清| 色综合久久久久| 国产成人亚洲综合a∨猫咪| 亚洲成人自拍网| 亚洲午夜久久久久| 亚洲成人第一页| 亚洲一区在线观看免费观看电影高清| 国产亚洲人成网站| 久久精品人人做| 久久久精品人体av艺术| 欧美精品18+| 欧美videos中文字幕| 久久综合一区二区| 国产乱一区二区| 欧美a一区二区| 国产精品久久久久婷婷二区次| 色拍拍在线精品视频8848| 国产一区二区三区在线观看免费 | 国产精品77777| 国产成人精品www牛牛影视| 国产成人精品www牛牛影视| 国产精品自在欧美一区| 久久99精品国产91久久来源| 人人精品人人爱| 午夜精品久久久久久久久久| 亚洲国产成人高清精品| 麻豆91在线播放免费| 天堂成人国产精品一区| 午夜欧美电影在线观看| 精品一区二区三区视频| 成人在线一区二区三区| 欧美日韩在线综合| 久久久精品综合| 亚洲a一区二区| 色综合夜色一区| 久久久久久亚洲综合| 国产精品不卡一区| 久久电影国产免费久久电影 | 伊人夜夜躁av伊人久久| 视频在线观看一区| 99久久99久久久精品齐齐| 日韩欧美一级在线播放| 国产日韩欧美综合在线| 日韩中文字幕91| 欧美三级视频在线观看| 亚洲免费看黄网站| 一本到三区不卡视频| 国产午夜一区二区三区| 麻豆精品视频在线观看免费| 欧美三级日韩三级| 亚洲va中文字幕| 欧美精品久久一区二区三区| 亚洲大片一区二区三区| 91成人免费网站| 一级中文字幕一区二区| 在线观看日产精品| 亚洲视频狠狠干| 欧美日韩一区中文字幕| 久久超碰97中文字幕| 国产亚洲欧美日韩在线一区| 福利91精品一区二区三区| 一区av在线播放| 久久精品在线观看|