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

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

?? asa_cg.cpp

?? 數(shù)學(xué)計(jì)算程序
?? CPP
?? 第 1 頁(yè) / 共 5 頁(yè)
字號(hào):
            beta = (ykgk - TWO*dphi*ykyk/dkyk)/dkyk ;/*    faster: initialize dnorm2 = gnorm2 at start, then            dnorm2 = gnorm2 + beta**2*dnorm2 - 2.*beta*dphi            gnorm2 = ||g_{k+1}||^2            dnorm2 = ||d_{k+1}||^2            dpi = g_{k+1}' d_k */            t = -ONE/sqrt (dnorm2*MIN (eta_sq, gnorm2)) ;            beta = MAX (beta, t) ;/*    update search direction d = -g + beta*dold */            gnorm2 = ZERO ;            for (i = 0; i < n5; i++)            {                t = g [i] ;                d [i] = -t + beta*d [i] ;                gnorm2 += t*t ;            }            for (; i < nfree; )            {                t1 = g [i] ;                d [i] = -t1 + beta*d [i] ;                i++ ;                t2 = g [i] ;                d [i] = -t2 + beta*d [i] ;                i++ ;                t3 = g [i] ;                d [i] = -t3 + beta*d [i] ;                i++ ;                t4 = g [i] ;                d [i] = -t4 + beta*d [i] ;                i++ ;                t5 = g [i] ;                d [i] = -t5 + beta*d [i] ;                i++ ;                gnorm2 += t1*t1 + t2*t2 + t3*t3 + t4*t4 + t5*t5 ;            }            dphi0 = -gnorm2 + beta*dphi ;            if ( Parm->debug ) /* Check the dphi0 = d'g */            {                t = ZERO ;                for (j=0; j<nfree; j++)  t = t + d[j]*g[j] ;                if ( fabs(t-dphi0) > Parm->debugtol*fabs(dphi0) )                {                    printf("Warning, dphi0 != d'g!\n");                    printf("dphi0:%14.6e, d'g:%14.6e\n",dphi0, t) ;                }            }        }        else        {            /* search direction d = -g */            if ( Parm->PrintLevel >= 3 ) printf ("RESTART CG\n") ;            ginorm = ZERO ;            pgnorm = ZERO ;            gnorm2 = ZERO ;            for (j = 0; j < nfree; j++)            {                xj = xtemp [j] ;                gj = gtemp [j] ;                d [j] = -gj ;                ginorm = MAX (ginorm, fabs (gj)) ;                gnorm2 += gj*gj ;                xg = xj - gj ;                if      ( xg > hi [j] ) xp = hi [j] - xj ;                else if ( xg < lo [j] ) xp = xj - lo [j] ;                else                    xp = fabs (gj) ;                pgnorm = MAX (pgnorm, xp) ;            }            for (; j < n; j++)            {                xj = x [j] ;                gj = gtemp [j] ;                xg = xj - gj ;                if      ( xg > hi [j] ) xp = hi [j] - xj ;                else if ( xg < lo [j] ) xp = xj - lo [j] ;                else                    xp = fabs (gj) ;                pgnorm = MAX (pgnorm, xp) ;            }            if ( asa_tol (pgnorm, Com) )            {                status = 0 ;                for (j = 0; j < nfree; j++)                {                    xj = xtemp [j] ;                    x [j] = xj ;                    gj = gtemp [j] ;                    xg = xj - gj ;                    g [j] = gj ;                    if      ( xg > hi [j] ) pg [j] = hi [j] - xj ;                    else if ( xg < lo [j] ) pg [j] = lo [j] - xj ;                    else                    pg [j] = -gj ;                }                for (; j < n; j++)                {                    xj = x [j] ;                    gj = gtemp [j] ;                    xg = xj - gj ;                    g [j] = gj ;                    if      ( xg > hi [j] ) pg [j] = hi [j] - xj ;                    else if ( xg < lo [j] ) pg [j] = lo [j] - xj ;                    else                    pg [j] = -gj ;                }                goto Exit1 ;            }            if ( ginorm < pgnorm*Com->tau2 ) status = -5 ;            if ( status < -2 )            {                sts = ZERO ;                sty = ZERO ;                for (j = 0; j < nfree; j++)                {                    t = xtemp[j] ;                    sk = t - x [j] ;                    x [j] = t ;                    sts += sk*sk ;                    t = gtemp [j] ;                    sty += sk*(t-g [j]) ;                    g [j] = t ;                }                Com->sts = sts ;                Com->sty = sty ;                goto Exit ;            }            dphi0 = -gnorm2 ;            asa_copy (x, xtemp, nfree) ;            asa_copy (g, gtemp, nfree) ;        }        if ( !Com->AWolfe )        {            if ( fabs (f-Com->f0) <= Parm->AWolfeFac*Ck ) Com->AWolfe = TRUE ;        }        if ( Parm->PrintLevel >= 2 )        {            printf ("iter: %5i f = %14.6e pgnorm = %14.6e ginorm = %14.6e\n\n",              (int) iter, f, pgnorm, ginorm) ;        }        if ( Parm->debug )        {            if ( f > Com->f0 + Ck*Parm->debugtol )            {                status = 9 ;                goto Exit ;            }        }        if ( dphi0 > ZERO )        {           status = 5 ;           goto Exit ;        }    }    status = 2 ;Exit:    if ( status < -2 )    {        for (j = nfree; j < n; j++) g [j] = gtemp [j] ;    }    else    {        pgnorm = ZERO ;        for (j = 0; j < n; j++)        {            xj = xtemp [j] ;            x [j] = xj ;            gj = gtemp [j] ;            g [j] = gj ;            xg = xj - gj ;            if      ( xg > hi [j] ) xp = hi [j] - xj ;            else if ( xg < lo [j] ) xp = lo [j] - xj ;            else                    xp = -gj ;            pgnorm = MAX (pgnorm, fabs (xp)) ;            pg [j] = xp ;        }    }Exit1:    Com->pgnorm = pgnorm ;    Com->ginorm = ginorm ;    Com->f = f ;    Com->f_debug = f ;    Com->cgfunc += Com->nf - nf ;    Com->cggrad += Com->ng - ng ;    Com->cgiter += iter ;    if ( Parm->PrintLevel >= 2 )    {        printf ("iter: %5i f = %14.6e pgnorm = %14.6e ginorm = %14.6e\n\n",                (int) iter, f, pgnorm, ginorm) ;    }    if ( Parm->PrintLevel >= 1 )    {        printf ("\nCG Termination status: %i\n", status) ;        if ( status == -5 )        {            printf ("ginorm < tau2*pgnorm without hitting boundary\n") ;        }        if ( status == -4 )        {            printf ("ginorm >= tau2*pgnorm, many x components hit boundary\n") ;        }        else if ( status == -3 )        {            printf ("ginorm >= tau2*pgnorm, one x component hits boundary\n") ;        }        printf ("proj gradient max norm: %13.6e\n", pgnorm) ;        printf ("function value:         %13.6e\n", f) ;        printf ("cg iterations:          %13.6e\n", (double) iter) ;        printf ("function evaluations:   %13.6e\n", (double) Com->nf - nf) ;        printf ("gradient evaluations:   %13.6e\n", (double) Com->ng - ng) ;    }    return (status) ;}/* =========================================================================   === asa_Wolfe ===========================================================   =========================================================================   Check whether the Wolfe or the approximate Wolfe conditions are satisfied   ========================================================================= */int asa_Wolfe(    double       alpha , /* stepsize */    double           f , /* function value associated with stepsize alpha */    double        dphi , /* derivative value associated with stepsize alpha */    asa_com        *Com  /* cg com */){    if ( dphi >= Com->wolfe_lo )    {        /* test original Wolfe conditions */        if ( f - Com->f0 <= alpha*Com->wolfe_hi )        {            if ( Com->cgParm->PrintLevel >= 4 )            {                printf ("wolfe f: %14.6e f0: %14.6e dphi: %14.6e\n",                         f, Com->f0, dphi) ;            }            return (1) ;        }        /* test approximate Wolfe conditions */        else if ( Com->AWolfe )        {            if ( (f <= Com->fpert) && (dphi <= Com->awolfe_hi) )            {                if ( Com->cgParm->PrintLevel >= 4 )                {                    printf ("f: %14.6e fpert: %14.6e dphi: %14.6e awolf_hi: "                            "%14.6e\n", f, Com->fpert, dphi, Com->awolfe_hi) ;                }                return (1) ;            }        }    }    return (0) ;}/* =========================================================================   === asa_tol =============================================================   =========================================================================   Check for convergence   ========================================================================= */int asa_tol(    double      pgnorm, /* projected gradient sup-norm */    asa_com       *Com){    /*StopRule = T => |grad|_infty <=max (tol, |grad|_infty*StopFact)                 F => |grad|_infty <= tol*(1+|f|)) */    if ( Com->asaParm->StopRule )    {        if ( pgnorm <= Com->tol ) return (1) ;    }    else if ( pgnorm <= Com->tol*(ONE + fabs (Com->f)) ) return (1) ;    return (0) ;}/* =========================================================================   === asa_step ============================================================   =========================================================================   Compute xtemp = x + alpha d   ========================================================================= */void asa_step(    double *xtemp , /*output vector */    double     *x , /* initial vector */    double     *d , /* search direction */    double  alpha , /* stepsize */    INT32         n   /* length of the vectors */){    INT32 n5, i ;    n5 = n % 5 ;    for (i = 0; i < n5; i++) xtemp [i] = x[i] + alpha*d[i] ;    for (; i < n; i += 5)    {        xtemp [i]   = x [i]   + alpha*d [i] ;        xtemp [i+1] = x [i+1] + alpha*d [i+1] ;        xtemp [i+2] = x [i+2] + alpha*d [i+2] ;        xtemp [i+3] = x [i+3] + alpha*d [i+3] ;        xtemp [i+4] = x [i+4] + alpha*d [i+4] ;    }}/* =========================================================================   === asa_line ============================================================   =========================================================================   Approximate Wolfe line search routine   ========================================================================= */int asa_line(    double       dphi0, /* function derivative at starting point (alpha = 0) */    asa_com       *Com  /* cg com structure */){    int i, iter, nfree, nsecant, nshrink, ngrow, status ;    double a, dphia, b, dphib, c, alpha, phi, dphi, alphaold, phiold,           a0, da0, b0, db0, width, fquad, rho, minstep, maxstep,           *x, *xtemp, *d, *gtemp ;    asacg_parm *Parm ;    nfree = Com->nfree ;    x = Com->x ;         /* current iterate */    d = Com->d ;         /* current search direction */    xtemp = Com->xtemp ; /* x + alpha*d */    gtemp = Com->gtemp ; /* gradient at x + alpha*d */    minstep = Com->minstep ;    maxstep = Com->maxstep ;    alpha = Com->alpha ;    if ( alpha > minstep )    {        alpha = minstep ;        Com->QuadOK = FALSE ;    }    phi = Com->f ;    Parm = Com->cgParm ;    rho = Parm->rho ;    asa_step (xtemp, x, d, alpha, nfree) ;    asa_g (gtemp, xtemp, Com) ;    dphi = asa_dot (gtemp, d, nfree) ;    /* check if gradient is nan; if so, reduce stepsize */    if ( dphi != dphi )    {        for (i = 0; i < Parm->nexpand; i++)        {            alpha /= rho ;            asa_step (xtemp, x, d, alpha, nfree) ;            asa_g (gtemp, xtemp, Com) ;            dphi = asa_dot (gtemp, d, nfree) ;            if ( dphi == dphi ) break ;        }        if ( i == Parm->nexpand )        {            status = -2 ;            goto Exit ;        }        Com->QuadOK = FALSE ;        rho = Parm->nan_rho ;    }/*Find initial interval [a,b] such that dphia < 0, dphib >= 0,         and phia <= phi0 + feps*Ck */    a = ZERO ;    dphia = dphi0  ;    ngrow = 0 ;    nshrink = 0 ;    while ( dphi < ZERO )    {        phi = asa_f (xtemp, Com) ;/* if quadstep in effect and quadratic conditions hold, check wolfe condition*/        if ( Com->QuadOK )        {            if ( ngrow == 0 ) fquad = MIN (phi, Com->f0) ;

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久99精品国产91久久来源| 欧美一卡二卡在线| 大美女一区二区三区| 久久国产免费看| 日韩精品欧美成人高清一区二区| 亚洲午夜一区二区| 五月婷婷久久综合| 强制捆绑调教一区二区| 美腿丝袜亚洲色图| 国产综合色产在线精品| 国内精品久久久久影院色| 国产乱子轮精品视频| 国产精品99久久久| 日本乱码高清不卡字幕| 99精品欧美一区二区三区综合在线| voyeur盗摄精品| 欧洲生活片亚洲生活在线观看| 欧美日韩一区二区在线观看| 欧美年轻男男videosbes| 日韩一区二区在线观看视频 | 欧美日韩高清在线播放| 欧美麻豆精品久久久久久| 91精品国产综合久久久蜜臀粉嫩| 日韩免费一区二区| 日本一区二区久久| 一个色在线综合| 久久激情综合网| www.亚洲国产| 欧美剧在线免费观看网站 | 亚洲欧洲av一区二区三区久久| 亚洲理论在线观看| 日韩av一区二区三区| 国产精品一品二品| 在线观看欧美日本| 日韩精品一区二区在线| 欧美韩日一区二区三区四区| 亚洲尤物视频在线| 久久国产成人午夜av影院| 成人晚上爱看视频| 精品视频一区二区三区免费| 欧美成人精品二区三区99精品| 久久人人爽人人爽| 亚洲午夜免费电影| 国产精品一区二区久久不卡 | 1024成人网色www| 丝袜亚洲另类欧美| 成人久久视频在线观看| 欧美色男人天堂| 久久久久久久久久久久久久久99 | 日韩和欧美一区二区| 国产黄色精品网站| 欧美午夜不卡视频| 久久久久国产精品人| 午夜av一区二区三区| 成人精品国产福利| 欧美一二三四在线| 亚洲激情校园春色| 国产精品资源站在线| 欧美剧情片在线观看| 国产精品久久久久久久浪潮网站| 日本中文字幕一区二区有限公司| 成人av集中营| 亚洲精品在线电影| 午夜电影一区二区| 色哟哟亚洲精品| 国产日本一区二区| 日本午夜精品视频在线观看 | 国产亚洲精品aa| 亚洲123区在线观看| 99精品欧美一区二区蜜桃免费 | 卡一卡二国产精品| 欧美中文字幕一二三区视频| 中日韩av电影| 久久综合综合久久综合| 欧美色视频在线| 亚洲人成网站在线| 成人天堂资源www在线| wwwwxxxxx欧美| 欧美aaaaaa午夜精品| 欧美老女人第四色| 亚洲精品免费在线播放| 成人av在线看| 国产日韩精品一区| 国产精华液一区二区三区| 日韩美女视频一区二区在线观看| 亚洲第一主播视频| 欧美自拍偷拍一区| 亚洲中国最大av网站| 91视频在线观看免费| 亚洲欧洲精品一区二区三区 | 91日韩在线专区| 国产精品每日更新| 国产成人精品一区二区三区四区 | 日韩免费一区二区| 图片区小说区国产精品视频| 欧美午夜一区二区三区免费大片| 亚洲精品福利视频网站| 色综合久久综合| 亚洲精选视频在线| 一本色道久久综合狠狠躁的推荐| 亚洲人吸女人奶水| 色综合色综合色综合 | 97se亚洲国产综合自在线观| 国产精品久久久久毛片软件| 成人av网站在线| 亚洲人一二三区| 欧美中文字幕一区二区三区| 亚洲高清免费一级二级三级| 欧美欧美欧美欧美| 奇米精品一区二区三区在线观看 | 毛片av一区二区| 26uuu久久综合| 国产一区二区0| 久久久国产精品麻豆| 成人天堂资源www在线| 亚洲人成电影网站色mp4| 欧美综合亚洲图片综合区| 日韩精品亚洲专区| 久久这里只有精品6| 懂色av中文一区二区三区 | 国产精品一区二区在线看| 国产片一区二区| 91日韩在线专区| 三级亚洲高清视频| 欧美精品一区二区高清在线观看| 国产成人综合精品三级| 亚洲三级理论片| 欧美精品99久久久**| 九一久久久久久| 中文字幕一区二区三区视频| 欧美写真视频网站| 精品在线视频一区| 国产精品免费av| 欧美日韩一级二级| 狠狠狠色丁香婷婷综合久久五月| 欧美国产欧美综合| 欧美美女激情18p| 粉嫩绯色av一区二区在线观看| 亚洲黄一区二区三区| 欧美一区中文字幕| 成人国产免费视频| 日韩高清一区在线| 欧美国产日韩a欧美在线观看| 欧美亚洲综合另类| 国产一区二区三区香蕉| 亚洲精品免费电影| 久久伊人中文字幕| 欧美亚洲高清一区| 国产一区二区精品久久99| 亚洲欧美一区二区不卡| 日韩美女一区二区三区| 色婷婷国产精品综合在线观看| 久久国产精品第一页| 亚洲视频在线观看一区| 欧美mv日韩mv| 欧美性猛交一区二区三区精品| 国产一区二区精品在线观看| 亚洲国产sm捆绑调教视频 | 日本午夜精品视频在线观看| 国产精品日韩成人| 日韩欧美中文一区二区| 一本久久a久久精品亚洲| 国产麻豆视频一区| 日韩精品电影在线| 一区二区三区欧美日| 国产亚洲综合性久久久影院| 欧美久久一二三四区| 99久久国产免费看| 国产成人在线看| 老司机一区二区| 日韩电影免费在线| 亚洲午夜电影网| 亚洲免费观看视频| 国产无一区二区| 精品国产在天天线2019| 欧美日韩久久不卡| 欧美在线观看禁18| 一本大道久久精品懂色aⅴ| 国产福利精品导航| 精品写真视频在线观看| 日本麻豆一区二区三区视频| 亚洲一区二区三区四区在线| 亚洲欧洲另类国产综合| 国产调教视频一区| 久久久久亚洲蜜桃| 欧美一卡二卡三卡四卡| 在线播放中文一区| 欧美日本在线看| 精品视频色一区| 91麻豆国产在线观看| 成人国产电影网| 福利一区二区在线| 国产成人综合精品三级| 国产激情一区二区三区四区| 国产在线一区二区| 激情综合色丁香一区二区| 蜜桃久久久久久久| 琪琪久久久久日韩精品| 蜜臀av性久久久久蜜臀aⅴ流畅| 午夜不卡在线视频|