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

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

?? asa_cg.cpp

?? 數學計算程序
?? CPP
?? 第 1 頁 / 共 5 頁
字號:
            if ( phi <= fquad )            {                if ( Parm->PrintLevel >= 4 )                {                    printf ("alpha: %14.6e phi: %14.6e fquad: %14.6e\n",                            alpha, phi, fquad) ;                }                if ( asa_Wolfe (alpha, phi, dphi, Com) )                {                    status = 0 ;                    goto Exit ;                }            }        }        if ( phi <= Com->fpert )        {            a = alpha ;            dphia = dphi ;        }        else        {            /* contraction phase, only break at termination or Secant step */            b = alpha ;            while ( TRUE )            {                alpha = .5*(a+b) ;                nshrink++ ;                if ( nshrink > Parm->nexpand )                {                    status = 6 ;                    goto Exit ;                }                asa_step (xtemp, x, d, alpha, nfree) ;                asa_g (gtemp, xtemp, Com) ;                dphi = asa_dot (gtemp, d, nfree) ;                if ( dphi >= ZERO ) goto Secant ;                phi = asa_f (xtemp, Com) ;                if ( Parm->PrintLevel >= 4 )                {                    printf ("contract, a: %14.6e b: %14.6e alpha: %14.6e phi: "                            "%14.6e dphi: %14.6e\n", a, b, alpha, phi, dphi) ;                }                if ( Com->QuadOK && (phi <= fquad) )                {                    if ( asa_Wolfe (alpha, phi, dphi, Com) )                    {                        status = 0 ;                        goto Exit ;                    }                }                if ( phi <= Com->fpert )                {                    a = alpha ;                    dphia = dphi ;                }                else                {                    b = alpha ;                }            }        }/* expansion phase */        ngrow++ ;        if ( ngrow > Parm->nexpand )        {            status = 3 ;            goto Exit ;        }        alphaold = alpha ;        alpha = MIN (rho*alpha, minstep) ;        if ( alpha != alphaold )        {            asa_step (xtemp, x, d, alpha, nfree) ;            asa_g (gtemp, xtemp, Com) ;            dphi = asa_dot (gtemp, d, nfree) ;            if ( Parm->PrintLevel >= 4 )            {                printf ("expand,   a: %14.6e alpha: %14.6e phi: "                         "%14.6e dphi: %14.6e\n", a, alpha, phi, dphi) ;            }        }        else /* a new constraint is active */        {            do /* while statement */            {                alphaold = alpha ;                phiold = phi ;                if ( alpha < maxstep )                {                    alpha = rho*alphaold ;                    asa_project (xtemp, x, d, alpha, Com) ;                    phi = asa_f (xtemp, Com) ;                }            } while ( phi < phiold ) ;            if ( alphaold == minstep )            {                asa_step (xtemp, x, d, minstep, nfree) ;                status = -3 ;            }            else            {                asa_project (xtemp, x, d, alphaold, Com) ;                asa_g (gtemp, xtemp, Com) ;                status = -4 ;            }            phi = phiold ;            goto Exit ;        }    }Secant:    b = alpha ;    dphib = dphi ;    if ( Com->QuadOK )    {        phi = asa_f (xtemp, Com) ;        if ( ngrow + nshrink == 0 ) fquad = MIN (phi, Com->f0) ;        if ( phi <= fquad )        {            if ( asa_Wolfe (alpha, phi, dphi, Com) )            {                status = 0 ;                goto Exit ;            }        }    }    nsecant = Parm->nsecant ;    for (iter = 1; iter <= nsecant; iter++)    {        if ( Parm->PrintLevel >= 4 )        {            printf ("secant, a: %14.6e b: %14.6e da: %14.6e db: %14.6e\n",                     a, b, dphia, dphib) ;        }        width = Parm->gamma*(b - a) ;        if ( -dphia <= dphib ) alpha = a - (a-b)*(dphia/(dphia-dphib)) ;        else                   alpha = b - (a-b)*(dphib/(dphia-dphib)) ;        c = alpha ;        a0 = a ;        b0 = b ;        da0 = dphia ;        db0 = dphib ;        status = asa_update (&a, &dphia, &b, &dphib, &alpha, &phi,                    &dphi, Com) ;        if ( status >= 0 ) goto Exit ;        else if ( status == -2 )        {            if ( c == a )            {                if ( dphi > da0 ) alpha = c - (c-a0)*(dphi/(dphi-da0)) ;                else              alpha = a ;            }            else            {                if ( dphi < db0 ) alpha = c - (c-b0)*(dphi/(dphi-db0)) ;                else              alpha = b ;            }            if ( (alpha > a) && (alpha < b) )            {                if ( Parm->PrintLevel >= 4 ) printf ("2nd secant\n") ;                status = asa_update (&a, &dphia, &b, &dphib, &alpha, &phi,                          &dphi, Com) ;                if ( status >= 0 ) goto Exit ;            }        }/* bisection iteration */        if ( b-a >= width )        {            alpha = .5*(b+a) ;            if ( Parm->PrintLevel >= 4 ) printf ("bisection\n") ;            status = asa_update (&a, &dphia, &b, &dphib, &alpha, &phi,                        &dphi, Com) ;            if ( status >= 0 ) goto Exit ;        }        else if ( b <= a )        {            status = 7 ;            goto Exit ;        }    }    status = 4 ;Exit:    Com->alpha = alpha ;    Com->f = phi ;    Com->df = dphi ;    return (status) ;}/* =========================================================================   === asa_lineW ===========================================================   =========================================================================   Ordinary Wolfe line search routine.   This routine is identical to asa_line except that the function   psi [a] = phi [a] - phi [0] - a*delta*dphi [0] is minimized instead of   the function phi   ========================================================================= */int asa_lineW(    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, dpsia, b, dpsib, c, alpha, phi, dphi, alphaold, phiold,           a0, da0, b0, db0, width, fquad, rho, psi, dpsi, minstep, maxstep,           *x, *d, *xtemp, *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 ;    }    dpsi = dphi - Com->wolfe_hi ;    /*Find initial interval [a,b] such that dphia < 0, dphib >= 0,         and phia <= phi0 + feps*Ck */    a = ZERO ;    dpsia = dphi0 - Com->wolfe_hi ;    ngrow = 0 ;    nshrink = 0 ;    while ( dpsi < ZERO )    {        phi = asa_f (xtemp, Com) ;        psi = phi - alpha*Com->wolfe_hi ;        /* if quadstep in effect and quadratic conditions hold,           check Wolfe condition*/        if ( Com->QuadOK )        {            if ( ngrow == 0 ) fquad = MIN (phi, Com->f0) ;            if ( phi <= fquad )            {                if ( Parm->PrintLevel >= 4 )                {                    printf ("alpha: %14.6e phi: %14.6e fquad: %14.6e\n",                            alpha, phi, fquad) ;                }                if ( asa_Wolfe (alpha, phi, dphi, Com) )                {                    status = 0 ;                    goto Exit ;                }            }        }        if ( psi <= Com->fpert )        {            a = alpha ;            dpsia = dphi ;        }        else        {            /* contraction phase, only break at termination or Secant step */            b = alpha ;            while ( TRUE )            {                alpha = .5*(a+b) ;                nshrink++ ;                if ( nshrink > Parm->nexpand )                {                    status = 6 ;                    goto Exit ;                }                asa_step (xtemp, x, d, alpha, nfree) ;                asa_g (gtemp, xtemp, Com) ;                dphi = asa_dot (gtemp, d, nfree) ;                dpsi = dphi - Com->wolfe_hi ;                if ( dpsi >= ZERO ) goto Secant ;                phi = asa_f (xtemp, Com) ;                psi = phi - alpha*Com->wolfe_hi ;                if ( Parm->PrintLevel >= 4 )                {                    printf ("contract, a: %14.6e b: %14.6e alpha: %14.6e phi: "                            "%14.6e dphi: %14.6e\n", a, b, alpha, phi, dphi) ;                }                if ( Com->QuadOK && (phi <= fquad) )                {                    if ( asa_Wolfe (alpha, phi, dphi, Com) )                    {                        status = 0 ;                        goto Exit ;                    }                }                if ( psi <= Com->fpert )                {                    a = alpha ;                    dpsia = dpsi ;                }                else                {                    b = alpha ;                }            }        }/* expansion phase */        ngrow++ ;        if ( ngrow > Parm->nexpand )        {            status = 3 ;            goto Exit ;        }        alphaold = alpha ;        alpha = MIN (rho*alpha, minstep) ;        if ( alpha != alphaold )        {            asa_step (xtemp, x, d, alpha, nfree) ;            asa_g (gtemp, xtemp, Com) ;            dphi = asa_dot (gtemp, d, nfree) ;            dpsi = dphi - Com->wolfe_hi ;            if ( Parm->PrintLevel >= 4 )            {                printf ("expand,   a: %14.6e alpha: %14.6e phi: "                         "%14.6e dphi: %14.6e\n", a, alpha, phi, dphi) ;            }        }        else /* a new constraint is active */        {            do /* while statement */            {                alphaold = alpha ;                phiold = phi ;                if ( alpha < maxstep )                {                    alpha = rho*alphaold ;                    asa_project (xtemp, x, d, alpha, Com) ;                    phi = asa_f (xtemp, Com) ;                }            } while ( phi < phiold ) ;            if ( alphaold == minstep )            {                asa_step (xtemp, x, d, minstep, nfree) ;                status = -3 ;            }            else            {                asa_project (xtemp, x, d, alphaold, Com) ;                asa_g (gtemp, xtemp, Com) ;                status = -4 ;            }            phi = phiold ;            goto Exit ;       

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩精品视频网站| 国产丝袜欧美中文另类| 综合久久国产九一剧情麻豆| 狠狠色综合播放一区二区| 日韩精品中文字幕一区二区三区| 日韩精彩视频在线观看| 久久综合九色欧美综合狠狠| 国产精品123| 亚洲欧美日韩综合aⅴ视频| 色噜噜狠狠色综合中国| 午夜激情一区二区| 精品国产伦一区二区三区观看体验 | 日本一区二区三区久久久久久久久不| 国产大片一区二区| 亚洲三级在线免费| 欧美电影在线免费观看| 国产一区二区三区在线观看精品| 国产精品免费人成网站| 欧美日韩日日骚| 国产自产高清不卡| 亚洲精选免费视频| 欧美精品 日韩| 亚洲视频一区二区在线观看| 在线91免费看| 精品影视av免费| 中文在线一区二区| 日本乱码高清不卡字幕| 亚洲成人一区二区在线观看| 精品久久国产老人久久综合| 丁香婷婷综合网| 一区2区3区在线看| 欧美电影免费观看高清完整版在 | 蜜臀精品一区二区三区在线观看| 欧美www视频| 99久久精品免费看国产免费软件| 一区二区三区高清| 日韩欧美一区电影| 94-欧美-setu| 亚洲国产精品自拍| 日本一区二区视频在线观看| 在线欧美小视频| 国产精品中文有码| 夜夜嗨av一区二区三区网页 | 日韩一区二区中文字幕| 国产91高潮流白浆在线麻豆| 一区二区三区加勒比av| 精品国产一二三区| 在线免费不卡视频| 国产成人在线观看| 天堂在线一区二区| 国产精品第一页第二页第三页| 欧美一a一片一级一片| 精品一区二区三区欧美| 亚洲人成精品久久久久| 日韩欧美国产1| 91婷婷韩国欧美一区二区| 亚洲国产日韩a在线播放性色| 日韩一区二区三区视频| 大陆成人av片| 日韩黄色免费电影| 亚洲视频 欧洲视频| 亚洲精品在线观| 欧亚洲嫩模精品一区三区| 成人综合激情网| 美女网站在线免费欧美精品| 一区二区三区蜜桃| 中文字幕欧美三区| 欧美一区二区三区不卡| 99re成人在线| 大桥未久av一区二区三区中文| 男男成人高潮片免费网站| 亚洲理论在线观看| **欧美大码日韩| 国产视频一区二区三区在线观看| 欧美日韩成人高清| 91久久精品一区二区| 粉嫩av一区二区三区| 久久国产欧美日韩精品| 一区二区三区自拍| 国产精品美女视频| 亚洲精品一线二线三线| 69堂精品视频| 欧美巨大另类极品videosbest| 色综合视频一区二区三区高清| 成人综合婷婷国产精品久久| 国产剧情一区二区| 精品一二三四区| 久久成人免费电影| 另类调教123区| 亚洲一级二级在线| 亚洲美女屁股眼交| 亚洲人成亚洲人成在线观看图片| 中文字幕日韩一区| 亚洲婷婷国产精品电影人久久| 欧美国产日产图区| 国产精品欧美久久久久一区二区 | 日韩在线观看一区二区| 午夜视频久久久久久| 日产国产欧美视频一区精品| 日韩综合小视频| 美女网站一区二区| 韩国一区二区在线观看| 国产精品一区2区| 成人午夜私人影院| 欧美在线观看禁18| gogo大胆日本视频一区| 国产一区二区三区日韩| 成人av网站免费| 色婷婷国产精品| 欧美日韩免费观看一区三区| 欧美日韩一区二区三区在线 | 中文字幕在线观看不卡视频| 国产精品成人免费精品自在线观看| 国产精品美女久久久久aⅴ| 亚洲欧美色一区| 日韩高清一级片| 国产乱子伦视频一区二区三区 | 99免费精品在线观看| 欧美亚洲另类激情小说| 欧美性欧美巨大黑白大战| 欧美一区二区三区视频免费 | 色综合久久综合网| 777亚洲妇女| 久久亚洲私人国产精品va媚药| 国产婷婷精品av在线| 一区二区在线观看视频| 日韩不卡一区二区| 久久成人免费日本黄色| 国产精品99久久久久久似苏梦涵| 另类小说视频一区二区| 波多野结衣一区二区三区| 欧美偷拍一区二区| 久久人人97超碰com| 亚洲免费在线观看视频| 亚洲国产欧美另类丝袜| 日韩高清在线不卡| 成人免费毛片片v| 日韩精品在线网站| 伊人婷婷欧美激情| 国产又粗又猛又爽又黄91精品| 99re在线视频这里只有精品| 日韩亚洲欧美在线| 亚洲精品免费看| 国模冰冰炮一区二区| 欧美日韩黄视频| 国产精品久99| 精品一区二区影视| 欧美午夜精品久久久久久超碰 | 亚洲国产成人在线| 青青国产91久久久久久| 色先锋久久av资源部| 欧美精品一区二区三区久久久| 亚洲一二三区在线观看| 国产成人免费在线视频| 日韩一区二区中文字幕| 久久久噜噜噜久噜久久综合| 亚洲黄色录像片| 国产精品18久久久久久久久| 日韩一区二区三区观看| 国产精品伦理一区二区| 国产一区二区三区国产| 欧美日韩视频第一区| 日韩理论片一区二区| 国产69精品久久久久777| 欧美成人激情免费网| 一区二区三区美女视频| 一本色道久久综合狠狠躁的推荐| 国产亚洲欧美色| 久久精品国产精品亚洲精品| 欧美日韩在线播放一区| 一区二区激情小说| 91理论电影在线观看| 中文字幕在线观看一区| 成人国产精品视频| 欧美大尺度电影在线| 中文字幕一区二区日韩精品绯色| 国产在线视频精品一区| 91精品国产手机| 日本不卡视频一二三区| 欧美精品在线一区二区| 亚洲va国产天堂va久久en| 色婷婷一区二区| 国产精品美女久久久久久久| 夜色激情一区二区| 色综合视频一区二区三区高清| 国产精品欧美一级免费| av一本久道久久综合久久鬼色| 国产精品久久久久影院亚瑟| 成人一区二区三区视频在线观看| 国产女人水真多18毛片18精品视频 | 欧美日韩国产经典色站一区二区三区| 一区二区三区四区在线播放| 91国在线观看| 亚洲va欧美va人人爽| 91精品国产综合久久小美女| 青青青爽久久午夜综合久久午夜| 精品欧美一区二区在线观看 | 亚洲精品大片www| 欧美日韩视频在线一区二区| 日韩电影免费一区|