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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? slaed6.f

?? famous linear algebra library (LAPACK) ports to windows
?? F
字號:
      SUBROUTINE SLAED6( KNITER, ORGATI, RHO, D, Z, FINIT, TAU, INFO )
*
*  -- LAPACK routine (version 3.1.1) --
*     Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd..
*     February 2007
*
*     .. Scalar Arguments ..
      LOGICAL            ORGATI
      INTEGER            INFO, KNITER
      REAL               FINIT, RHO, TAU
*     ..
*     .. Array Arguments ..
      REAL               D( 3 ), Z( 3 )
*     ..
*
*  Purpose
*  =======
*
*  SLAED6 computes the positive or negative root (closest to the origin)
*  of
*                   z(1)        z(2)        z(3)
*  f(x) =   rho + --------- + ---------- + ---------
*                  d(1)-x      d(2)-x      d(3)-x
*
*  It is assumed that
*
*        if ORGATI = .true. the root is between d(2) and d(3);
*        otherwise it is between d(1) and d(2)
*
*  This routine will be called by SLAED4 when necessary. In most cases,
*  the root sought is the smallest in magnitude, though it might not be
*  in some extremely rare situations.
*
*  Arguments
*  =========
*
*  KNITER       (input) INTEGER
*               Refer to SLAED4 for its significance.
*
*  ORGATI       (input) LOGICAL
*               If ORGATI is true, the needed root is between d(2) and
*               d(3); otherwise it is between d(1) and d(2).  See
*               SLAED4 for further details.
*
*  RHO          (input) REAL            
*               Refer to the equation f(x) above.
*
*  D            (input) REAL array, dimension (3)
*               D satisfies d(1) < d(2) < d(3).
*
*  Z            (input) REAL array, dimension (3)
*               Each of the elements in z must be positive.
*
*  FINIT        (input) REAL            
*               The value of f at 0. It is more accurate than the one
*               evaluated inside this routine (if someone wants to do
*               so).
*
*  TAU          (output) REAL            
*               The root of the equation f(x).
*
*  INFO         (output) INTEGER
*               = 0: successful exit
*               > 0: if INFO = 1, failure to converge
*
*  Further Details
*  ===============
*
*  30/06/99: Based on contributions by
*     Ren-Cang Li, Computer Science Division, University of California
*     at Berkeley, USA
*
*  10/02/03: This version has a few statements commented out for thread safety
*     (machine parameters are computed on each entry). SJH.
*
*  05/10/06: Modified from a new version of Ren-Cang Li, use
*     Gragg-Thornton-Warner cubic convergent scheme for better stability.
*
*  =====================================================================
*
*     .. Parameters ..
      INTEGER            MAXIT
      PARAMETER          ( MAXIT = 40 )
      REAL               ZERO, ONE, TWO, THREE, FOUR, EIGHT
      PARAMETER          ( ZERO = 0.0E0, ONE = 1.0E0, TWO = 2.0E0,
     $                   THREE = 3.0E0, FOUR = 4.0E0, EIGHT = 8.0E0 )
*     ..
*     .. External Functions ..
      REAL               SLAMCH
      EXTERNAL           SLAMCH
*     ..
*     .. Local Arrays ..
      REAL               DSCALE( 3 ), ZSCALE( 3 )
*     ..
*     .. Local Scalars ..
      LOGICAL            SCALE
      INTEGER            I, ITER, NITER
      REAL               A, B, BASE, C, DDF, DF, EPS, ERRETM, ETA, F,
     $                   FC, SCLFAC, SCLINV, SMALL1, SMALL2, SMINV1,
     $                   SMINV2, TEMP, TEMP1, TEMP2, TEMP3, TEMP4, 
     $                   LBD, UBD
*     ..
*     .. Intrinsic Functions ..
      INTRINSIC          ABS, INT, LOG, MAX, MIN, SQRT
*     ..
*     .. Executable Statements ..
*
      INFO = 0
*
      IF( ORGATI ) THEN
         LBD = D(2)
         UBD = D(3)
      ELSE
         LBD = D(1)
         UBD = D(2)
      END IF
      IF( FINIT .LT. ZERO )THEN
         LBD = ZERO
      ELSE
         UBD = ZERO 
      END IF
*
      NITER = 1
      TAU = ZERO
      IF( KNITER.EQ.2 ) THEN
         IF( ORGATI ) THEN
            TEMP = ( D( 3 )-D( 2 ) ) / TWO
            C = RHO + Z( 1 ) / ( ( D( 1 )-D( 2 ) )-TEMP )
            A = C*( D( 2 )+D( 3 ) ) + Z( 2 ) + Z( 3 )
            B = C*D( 2 )*D( 3 ) + Z( 2 )*D( 3 ) + Z( 3 )*D( 2 )
         ELSE
            TEMP = ( D( 1 )-D( 2 ) ) / TWO
            C = RHO + Z( 3 ) / ( ( D( 3 )-D( 2 ) )-TEMP )
            A = C*( D( 1 )+D( 2 ) ) + Z( 1 ) + Z( 2 )
            B = C*D( 1 )*D( 2 ) + Z( 1 )*D( 2 ) + Z( 2 )*D( 1 )
         END IF
         TEMP = MAX( ABS( A ), ABS( B ), ABS( C ) )
         A = A / TEMP
         B = B / TEMP
         C = C / TEMP
         IF( C.EQ.ZERO ) THEN
            TAU = B / A
         ELSE IF( A.LE.ZERO ) THEN
            TAU = ( A-SQRT( ABS( A*A-FOUR*B*C ) ) ) / ( TWO*C )
         ELSE
            TAU = TWO*B / ( A+SQRT( ABS( A*A-FOUR*B*C ) ) )
         END IF
         IF( TAU .LT. LBD .OR. TAU .GT. UBD )
     $      TAU = ( LBD+UBD )/TWO
         IF( D(1).EQ.TAU .OR. D(2).EQ.TAU .OR. D(3).EQ.TAU ) THEN
            TAU = ZERO
         ELSE
            TEMP = FINIT + TAU*Z(1)/( D(1)*( D( 1 )-TAU ) ) +
     $                     TAU*Z(2)/( D(2)*( D( 2 )-TAU ) ) +
     $                     TAU*Z(3)/( D(3)*( D( 3 )-TAU ) )
            IF( TEMP .LE. ZERO )THEN
               LBD = TAU
            ELSE
               UBD = TAU
            END IF
            IF( ABS( FINIT ).LE.ABS( TEMP ) )
     $         TAU = ZERO
         END IF
      END IF
*
*     get machine parameters for possible scaling to avoid overflow
*
*     modified by Sven: parameters SMALL1, SMINV1, SMALL2,
*     SMINV2, EPS are not SAVEd anymore between one call to the
*     others but recomputed at each call
*
      EPS = SLAMCH( 'Epsilon' )
      BASE = SLAMCH( 'Base' )
      SMALL1 = BASE**( INT( LOG( SLAMCH( 'SafMin' ) ) / LOG( BASE ) /
     $         THREE ) )
      SMINV1 = ONE / SMALL1
      SMALL2 = SMALL1*SMALL1
      SMINV2 = SMINV1*SMINV1
*
*     Determine if scaling of inputs necessary to avoid overflow
*     when computing 1/TEMP**3
*
      IF( ORGATI ) THEN
         TEMP = MIN( ABS( D( 2 )-TAU ), ABS( D( 3 )-TAU ) )
      ELSE
         TEMP = MIN( ABS( D( 1 )-TAU ), ABS( D( 2 )-TAU ) )
      END IF
      SCALE = .FALSE.
      IF( TEMP.LE.SMALL1 ) THEN
         SCALE = .TRUE.
         IF( TEMP.LE.SMALL2 ) THEN
*
*        Scale up by power of radix nearest 1/SAFMIN**(2/3)
*
            SCLFAC = SMINV2
            SCLINV = SMALL2
         ELSE
*
*        Scale up by power of radix nearest 1/SAFMIN**(1/3)
*
            SCLFAC = SMINV1
            SCLINV = SMALL1
         END IF
*
*        Scaling up safe because D, Z, TAU scaled elsewhere to be O(1)
*
         DO 10 I = 1, 3
            DSCALE( I ) = D( I )*SCLFAC
            ZSCALE( I ) = Z( I )*SCLFAC
   10    CONTINUE
         TAU = TAU*SCLFAC
         LBD = LBD*SCLFAC
         UBD = UBD*SCLFAC
      ELSE
*
*        Copy D and Z to DSCALE and ZSCALE
*
         DO 20 I = 1, 3
            DSCALE( I ) = D( I )
            ZSCALE( I ) = Z( I )
   20    CONTINUE
      END IF
*
      FC = ZERO
      DF = ZERO
      DDF = ZERO
      DO 30 I = 1, 3
         TEMP = ONE / ( DSCALE( I )-TAU )
         TEMP1 = ZSCALE( I )*TEMP
         TEMP2 = TEMP1*TEMP
         TEMP3 = TEMP2*TEMP
         FC = FC + TEMP1 / DSCALE( I )
         DF = DF + TEMP2
         DDF = DDF + TEMP3
   30 CONTINUE
      F = FINIT + TAU*FC
*
      IF( ABS( F ).LE.ZERO )
     $   GO TO 60
      IF( F .LE. ZERO )THEN
         LBD = TAU
      ELSE
         UBD = TAU
      END IF
*
*        Iteration begins -- Use Gragg-Thornton-Warner cubic convergent
*                            scheme
*
*     It is not hard to see that
*
*           1) Iterations will go up monotonically
*              if FINIT < 0;
*
*           2) Iterations will go down monotonically
*              if FINIT > 0.
*
      ITER = NITER + 1
*
      DO 50 NITER = ITER, MAXIT
*
         IF( ORGATI ) THEN
            TEMP1 = DSCALE( 2 ) - TAU
            TEMP2 = DSCALE( 3 ) - TAU
         ELSE
            TEMP1 = DSCALE( 1 ) - TAU
            TEMP2 = DSCALE( 2 ) - TAU
         END IF
         A = ( TEMP1+TEMP2 )*F - TEMP1*TEMP2*DF
         B = TEMP1*TEMP2*F
         C = F - ( TEMP1+TEMP2 )*DF + TEMP1*TEMP2*DDF
         TEMP = MAX( ABS( A ), ABS( B ), ABS( C ) )
         A = A / TEMP
         B = B / TEMP
         C = C / TEMP
         IF( C.EQ.ZERO ) THEN
            ETA = B / A
         ELSE IF( A.LE.ZERO ) THEN
            ETA = ( A-SQRT( ABS( A*A-FOUR*B*C ) ) ) / ( TWO*C )
         ELSE
            ETA = TWO*B / ( A+SQRT( ABS( A*A-FOUR*B*C ) ) )
         END IF
         IF( F*ETA.GE.ZERO ) THEN
            ETA = -F / DF
         END IF
*
         TAU = TAU + ETA
         IF( TAU .LT. LBD .OR. TAU .GT. UBD )
     $      TAU = ( LBD + UBD )/TWO 
*
         FC = ZERO
         ERRETM = ZERO
         DF = ZERO
         DDF = ZERO
         DO 40 I = 1, 3
            TEMP = ONE / ( DSCALE( I )-TAU )
            TEMP1 = ZSCALE( I )*TEMP
            TEMP2 = TEMP1*TEMP
            TEMP3 = TEMP2*TEMP
            TEMP4 = TEMP1 / DSCALE( I )
            FC = FC + TEMP4
            ERRETM = ERRETM + ABS( TEMP4 )
            DF = DF + TEMP2
            DDF = DDF + TEMP3
   40    CONTINUE
         F = FINIT + TAU*FC
         ERRETM = EIGHT*( ABS( FINIT )+ABS( TAU )*ERRETM ) +
     $            ABS( TAU )*DF
         IF( ABS( F ).LE.EPS*ERRETM )
     $      GO TO 60
         IF( F .LE. ZERO )THEN
            LBD = TAU
         ELSE
            UBD = TAU
         END IF
   50 CONTINUE
      INFO = 1
   60 CONTINUE
*
*     Undo scaling
*
      IF( SCALE )
     $   TAU = TAU*SCLINV
      RETURN
*
*     End of SLAED6
*
      END

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
制服视频三区第一页精品| 亚洲精品一区二区三区蜜桃下载 | 欧美性生活影院| 91精品国产综合久久婷婷香蕉| 国产亚洲精品免费| 亚洲第一av色| av动漫一区二区| 久久综合久久综合九色| 婷婷亚洲久悠悠色悠在线播放| av资源站一区| 国产欧美一区二区三区在线看蜜臀| 亚洲最大成人综合| 国产视频一区不卡| 一区二区欧美视频| 国产精品538一区二区在线| 欧美亚洲尤物久久| 国产精品国产馆在线真实露脸| 免费成人av在线播放| 欧美色倩网站大全免费| 亚洲欧美日韩电影| gogo大胆日本视频一区| 国产日产欧美一区| 国产伦精品一区二区三区免费迷| 欧美伦理视频网站| 亚洲高清在线视频| 欧美在线一区二区三区| 亚洲精品乱码久久久久久久久| 99久久久免费精品国产一区二区 | 日韩精品每日更新| 欧美亚洲日本一区| 综合欧美亚洲日本| 91老师国产黑色丝袜在线| 国产精品久久久久天堂| 成人av在线播放网址| 国产精品人人做人人爽人人添 | 欧美日韩国产电影| 精品久久久久一区二区国产| 日韩高清欧美激情| 欧美一区二区久久久| 婷婷开心激情综合| 欧美大黄免费观看| 国内外成人在线视频| 国产日韩欧美制服另类| 成人黄色综合网站| 亚洲精品菠萝久久久久久久| 欧美日韩在线不卡| 蜜桃传媒麻豆第一区在线观看| 欧美一区二区在线不卡| 国产一区二区久久| 国产精品久久精品日日| 欧美中文字幕亚洲一区二区va在线| 亚洲 欧美综合在线网络| 色综合久久久久久久久| 精品国产1区2区3区| 国产成人亚洲综合色影视| 国产三级一区二区| 日本韩国欧美在线| 日韩和欧美的一区| 欧美经典三级视频一区二区三区| www.色精品| 日韩精品久久久久久| 久久久久久久综合日本| 成人黄色软件下载| 午夜欧美电影在线观看| 欧美xxxxxxxxx| 色综合久久综合网97色综合| 日韩av中文字幕一区二区三区| 久久精品日韩一区二区三区| 色婷婷精品大视频在线蜜桃视频| 免费成人av资源网| 亚洲欧美中日韩| 日韩亚洲欧美一区二区三区| aaa亚洲精品一二三区| 免费高清视频精品| 亚洲另类春色校园小说| 久久网这里都是精品| 在线精品视频免费播放| 国产乱码一区二区三区| 亚洲一区二区在线观看视频| 国产欧美一区二区三区网站| 欧美浪妇xxxx高跟鞋交| 99视频精品全部免费在线| 麻豆91在线看| 亚洲电影在线播放| 最新不卡av在线| 久久久久国产精品麻豆| 日韩三级精品电影久久久| 色婷婷亚洲综合| 99久久久免费精品国产一区二区 | 欧美日韩一区二区在线观看视频| 国产在线视视频有精品| 日日骚欧美日韩| 一区二区三区四区五区视频在线观看| 久久久亚洲国产美女国产盗摄 | 一区二区在线电影| 国产亚洲欧洲997久久综合| 欧美一区日韩一区| 欧美性猛交xxxx乱大交退制版 | 久久久久综合网| 日韩亚洲欧美中文三级| 91超碰这里只有精品国产| 91国内精品野花午夜精品| av高清久久久| 99re视频这里只有精品| 成人午夜视频免费看| 国产盗摄一区二区| 国产精品资源站在线| 久久精品国产99| 精品在线视频一区| 精品一区二区三区在线观看国产| 蜜乳av一区二区| 麻豆成人综合网| 国内精品国产成人国产三级粉色| 久久国产成人午夜av影院| 免费在线观看日韩欧美| 麻豆国产一区二区| 国产在线播精品第三| 国产黑丝在线一区二区三区| 国产suv一区二区三区88区| 国产福利不卡视频| 岛国一区二区在线观看| 成人免费高清视频在线观看| youjizz久久| 欧美在线观看18| 91精品国产麻豆| 久久午夜色播影院免费高清| 国产精品美女久久久久高潮| 自拍偷拍亚洲综合| 亚洲一区二区美女| 日本欧美一区二区三区乱码| 国产综合成人久久大片91| 成人激情黄色小说| 欧美日韩精品一区二区三区| 日韩女优毛片在线| 国产精品网友自拍| 亚洲一区二区三区四区中文字幕| 日韩精品五月天| 成人激情免费电影网址| 欧美日韩一区中文字幕| 日韩欧美黄色影院| 国产精品成人一区二区三区夜夜夜 | 日韩欧美国产综合| 日本怡春院一区二区| 奇米精品一区二区三区在线观看| 日韩va亚洲va欧美va久久| 国产馆精品极品| 欧美在线色视频| 久久久91精品国产一区二区精品 | 91精品国产综合久久久久久漫画| 91精品国产福利在线观看| 欧美亚一区二区| 91精品国产综合久久福利| 久久奇米777| 亚洲午夜在线电影| 激情五月播播久久久精品| 99精品久久免费看蜜臀剧情介绍| 欧美精品一级二级三级| 国产欧美日韩麻豆91| 午夜在线电影亚洲一区| 成人黄色在线看| 精品播放一区二区| 亚洲综合色丁香婷婷六月图片| 国产原创一区二区三区| 欧美日韩精品一区二区| 国产精品人妖ts系列视频| 日本伊人午夜精品| 色久优优欧美色久优优| 国产三级欧美三级| 美女诱惑一区二区| 色婷婷亚洲综合| 中文一区二区完整视频在线观看| 日韩福利电影在线观看| 色欧美片视频在线观看在线视频| 久久久精品欧美丰满| 青青草精品视频| 欧美色视频在线| 国产精品一区二区免费不卡| 国产精品影视在线| 欧美日韩日日骚| 亚洲人成亚洲人成在线观看图片 | 蜜臀国产一区二区三区在线播放| 99精品久久久久久| 久久久99精品久久| 国产一区二区三区av电影| 欧美顶级少妇做爰| 午夜久久福利影院| 欧美亚洲综合一区| 一区二区三区欧美久久| 91美女福利视频| 国产精品国产三级国产三级人妇 | 欧美欧美午夜aⅴ在线观看| 一区二区三区中文字幕电影| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 成人福利视频网站| 国产精品青草久久| 丁香婷婷综合五月| 日韩精品欧美成人高清一区二区| 精品国产一区二区三区不卡 | 国产日韩欧美麻豆| 麻豆91精品91久久久的内涵|