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

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

?? conjugate_fr.c

?? GNU Scientific Library,C語言開發的數值方面的函數庫
?? C
字號:
/* multimin/conjugate_fr.c *  * Copyright (C) 1996, 1997, 1998, 1999, 2000 Fabrice Rossi *  * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or (at * your option) any later version. *  * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU * General Public License for more details. *  * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. *//* conjugate_fr.c -- Conjugate gradient Fletcher-Reeve algorithm *//* Modified by Brian Gough to use single iteration structure */#include <config.h>#include <gsl/gsl_multimin.h>#include <gsl/gsl_blas.h>#include "directional_minimize.c"typedef struct{  int iter;  double step;  double max_step;  double tol;  gsl_vector *x1;  gsl_vector *dx1;  gsl_vector *x2;  double pnorm;  gsl_vector *p;  double g0norm;  gsl_vector *g0;}conjugate_fr_state_t;static intconjugate_fr_alloc (void *vstate, size_t n){  conjugate_fr_state_t *state = (conjugate_fr_state_t *) vstate;  state->x1 = gsl_vector_calloc (n);  if (state->x1 == 0)    {      GSL_ERROR ("failed to allocate space for x1", GSL_ENOMEM);    }  state->dx1 = gsl_vector_calloc (n);  if (state->dx1 == 0)    {      gsl_vector_free (state->x1);      GSL_ERROR ("failed to allocate space for dx1", GSL_ENOMEM);    }  state->x2 = gsl_vector_calloc (n);  if (state->x2 == 0)    {      gsl_vector_free (state->dx1);      gsl_vector_free (state->x1);      GSL_ERROR ("failed to allocate space for x2", GSL_ENOMEM);    }  state->p = gsl_vector_calloc (n);  if (state->p == 0)    {      gsl_vector_free (state->x2);      gsl_vector_free (state->dx1);      gsl_vector_free (state->x1);      GSL_ERROR ("failed to allocate space for p", GSL_ENOMEM);    }  state->g0 = gsl_vector_calloc (n);  if (state->g0 == 0)    {      gsl_vector_free (state->p);      gsl_vector_free (state->x2);      gsl_vector_free (state->dx1);      gsl_vector_free (state->x1);      GSL_ERROR ("failed to allocate space for g0", GSL_ENOMEM);    }  return GSL_SUCCESS;}static intconjugate_fr_set (void *vstate, gsl_multimin_function_fdf * fdf,                  const gsl_vector * x, double *f, gsl_vector * gradient,                  double step_size, double tol){  conjugate_fr_state_t *state = (conjugate_fr_state_t *) vstate;  state->iter = 0;  state->step = step_size;  state->max_step = step_size;  state->tol  = tol;  GSL_MULTIMIN_FN_EVAL_F_DF (fdf, x, f, gradient);  /* Use the gradient as the initial direction */  gsl_vector_memcpy (state->p, gradient);  gsl_vector_memcpy (state->g0, gradient);  {    double gnorm = gsl_blas_dnrm2 (gradient);    state->pnorm = gnorm;    state->g0norm = gnorm;  }  return GSL_SUCCESS;}static voidconjugate_fr_free (void *vstate){  conjugate_fr_state_t *state = (conjugate_fr_state_t *) vstate;  gsl_vector_free (state->g0);  gsl_vector_free (state->p);  gsl_vector_free (state->x2);  gsl_vector_free (state->dx1);  gsl_vector_free (state->x1);}static intconjugate_fr_restart (void *vstate){  conjugate_fr_state_t *state = (conjugate_fr_state_t *) vstate;  state->iter = 0;  return GSL_SUCCESS;}static intconjugate_fr_iterate (void *vstate, gsl_multimin_function_fdf * fdf,                      gsl_vector * x, double *f,                      gsl_vector * gradient, gsl_vector * dx){  conjugate_fr_state_t *state = (conjugate_fr_state_t *) vstate;  gsl_vector *x1 = state->x1;  gsl_vector *dx1 = state->dx1;  gsl_vector *x2 = state->x2;  gsl_vector *p = state->p;  gsl_vector *g0 = state->g0;  double pnorm = state->pnorm;  double g0norm = state->g0norm;  double fa = *f, fb, fc;  double dir;  double stepa = 0.0, stepb, stepc = state->step, tol = state->tol;  double g1norm;  double pg;  if (pnorm == 0.0 || g0norm == 0.0)    {      gsl_vector_set_zero (dx);      return GSL_ENOPROG;    }    /* Determine which direction is downhill, +p or -p */  gsl_blas_ddot (p, gradient, &pg);  dir = (pg >= 0.0) ? +1.0 : -1.0;  /* Compute new trial point at x_c= x - step * p, where p is the     current direction */  take_step (x, p, stepc, dir / pnorm, x1, dx);  /* Evaluate function and gradient at new point xc */  fc = GSL_MULTIMIN_FN_EVAL_F (fdf, x1);  if (fc < fa)    {      /* Success, reduced the function value */      state->step = stepc * 2.0;      *f = fc;      gsl_vector_memcpy (x, x1);      GSL_MULTIMIN_FN_EVAL_DF (fdf, x1, gradient);      return GSL_SUCCESS;    }#ifdef DEBUG  printf ("got stepc = %g fc = %g\n", stepc, fc);#endif  /* Do a line minimisation in the region (xa,fa) (xc,fc) to find an     intermediate (xb,fb) satisifying fa > fb < fc.  Choose an initial     xb based on parabolic interpolation */  intermediate_point (fdf, x, p, dir / pnorm, pg,                      stepa, stepc, fa, fc, x1, dx1, gradient, &stepb, &fb);  if (stepb == 0.0)    {      return GSL_ENOPROG;    }  minimize (fdf, x, p, dir / pnorm,            stepa, stepb, stepc, fa, fb, fc, tol,            x1, dx1, x2, dx, gradient, &(state->step), f, &g1norm);  gsl_vector_memcpy (x, x2);  /* Choose a new conjugate direction for the next step */  state->iter = (state->iter + 1) % x->size;  if (state->iter == 0)    {      gsl_vector_memcpy (p, gradient);      state->pnorm = g1norm;    }  else    {      /* p' = g1 - beta * p */      double beta = -pow (g1norm / g0norm, 2.0);      gsl_blas_dscal (-beta, p);      gsl_blas_daxpy (1.0, gradient, p);      state->pnorm = gsl_blas_dnrm2 (p);    }  state->g0norm = g1norm;  gsl_vector_memcpy (g0, gradient);#ifdef DEBUG  printf ("updated conjugate directions\n");  printf ("p: ");  gsl_vector_fprintf (stdout, p, "%g");  printf ("g: ");  gsl_vector_fprintf (stdout, gradient, "%g");#endif  return GSL_SUCCESS;}static const gsl_multimin_fdfminimizer_type conjugate_fr_type = {  "conjugate_fr",               /* name */  sizeof (conjugate_fr_state_t),  &conjugate_fr_alloc,  &conjugate_fr_set,  &conjugate_fr_iterate,  &conjugate_fr_restart,  &conjugate_fr_free};const gsl_multimin_fdfminimizer_type  * gsl_multimin_fdfminimizer_conjugate_fr = &conjugate_fr_type;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久综合精品| 欧美一卡2卡三卡4卡5免费| 国产日产欧美一区| 国产在线精品不卡| 久久综合九色综合欧美就去吻| 精品一区二区综合| 久久精品视频在线免费观看| 成人免费视频国产在线观看| 最新不卡av在线| 欧美视频精品在线观看| 久久精品国产亚洲a| 久久亚洲捆绑美女| 91亚洲精品乱码久久久久久蜜桃 | 欧美草草影院在线视频| 国产一区二区中文字幕| 国产精品久久久久久久久动漫| 色欲综合视频天天天| 香蕉成人啪国产精品视频综合网| 日韩视频在线永久播放| 国产激情一区二区三区四区| 国产精品高潮呻吟| 欧美久久久久久久久| 国产高清无密码一区二区三区| 中文字幕一区二区三区不卡在线| 欧美优质美女网站| 狠狠色狠狠色综合| 一区二区三区在线观看欧美| 日韩欧美在线不卡| 97久久精品人人澡人人爽| 亚洲第一精品在线| 中文字幕不卡在线| 91精品国产综合久久国产大片| 国产毛片精品视频| 婷婷久久综合九色综合伊人色| 久久久久久久久久久久久夜| 91精品福利视频| 国产一区激情在线| 视频一区国产视频| 18欧美乱大交hd1984| 日韩一区二区三区四区| 99精品国产热久久91蜜凸| 免费高清在线一区| 亚洲国产精品久久久久婷婷884| ww亚洲ww在线观看国产| 欧美日韩久久久| 99精品视频免费在线观看| 国产在线视频一区二区三区| 亚洲一区二区三区视频在线 | 欧美日韩一区在线| 懂色av一区二区三区免费看| 美女网站色91| 亚洲一区二区三区影院| 国产精品毛片无遮挡高清| 欧美不卡激情三级在线观看| 欧美婷婷六月丁香综合色| voyeur盗摄精品| 国产精品综合av一区二区国产馆| 日本aⅴ免费视频一区二区三区| 亚洲欧美国产77777| 中文字幕欧美国产| 国产三级精品视频| 精品成人在线观看| 日韩美女一区二区三区| 91精品国产日韩91久久久久久| 色88888久久久久久影院按摩| caoporn国产精品| 国产激情偷乱视频一区二区三区| 激情亚洲综合在线| 美国毛片一区二区三区| 亚洲v日本v欧美v久久精品| 国产精品成人午夜| 国产精品女同互慰在线看| 国产欧美日产一区| 久久久亚洲高清| 久久久精品tv| 亚洲国产高清在线| 国产精品入口麻豆原神| 欧美国产精品一区二区三区| 国产日韩欧美激情| 国产欧美日韩在线视频| 国产欧美精品一区二区色综合 | 国产在线播放一区二区三区| 久久99精品网久久| 精品在线播放午夜| 国产高清久久久| 99久久婷婷国产综合精品电影 | 欧美性高清videossexo| 欧美视频精品在线| 制服丝袜成人动漫| 欧美成人精品二区三区99精品| 日韩欧美区一区二| 国产亚洲欧美激情| 国产精品美女一区二区三区 | 成人美女视频在线观看18| 本田岬高潮一区二区三区| 91丝袜美女网| 欧美日本乱大交xxxxx| 日韩欧美在线网站| 国产欧美视频一区二区三区| ...av二区三区久久精品| 亚洲自拍都市欧美小说| 蜜臀av性久久久久av蜜臀妖精| 精品在线免费视频| 91丨porny丨蝌蚪视频| 欧美写真视频网站| 欧美精品一区二区三区久久久| 国产午夜精品美女毛片视频| 亚洲天堂2016| 日韩电影免费在线| 成人晚上爱看视频| 欧美色图在线观看| 国产日韩欧美一区二区三区综合| 亚洲色图欧洲色图婷婷| 日韩精品欧美精品| 高清免费成人av| 欧美伦理影视网| 国产亚洲婷婷免费| 亚洲chinese男男1069| 国产乱一区二区| 欧美日韩不卡在线| 日本一区二区三区免费乱视频| 亚洲综合网站在线观看| 九九精品一区二区| 在线中文字幕一区二区| 欧美变态tickle挠乳网站| 亚洲天天做日日做天天谢日日欢| 日本亚洲视频在线| 91免费看片在线观看| 欧美大黄免费观看| 亚洲精品水蜜桃| 国产一区二区精品久久91| 欧美午夜不卡在线观看免费| 久久久久久久久99精品| 污片在线观看一区二区| caoporn国产精品| 精品国产髙清在线看国产毛片| 亚洲欧美日韩中文字幕一区二区三区| 久久99久久99小草精品免视看| 色域天天综合网| 国产精品三级av在线播放| 老司机午夜精品99久久| 精品视频色一区| 一区在线中文字幕| 国产精品伊人色| 日韩精品一区二区三区视频播放 | 蜜臀av性久久久久av蜜臀妖精 | 884aa四虎影成人精品一区| ...av二区三区久久精品| 国产精品一区二区91| 69久久99精品久久久久婷婷| 亚洲久本草在线中文字幕| 国产成人综合网| 久久久久久久久久看片| 日本午夜一本久久久综合| 欧美性高清videossexo| 亚洲精品乱码久久久久久日本蜜臀| 国产九九视频一区二区三区| 日韩一二在线观看| 午夜电影久久久| 欧美日韩精品福利| 亚洲va韩国va欧美va精品 | 免费成人美女在线观看| 欧美性感一类影片在线播放| 一区二区三区国产| 色狠狠桃花综合| 一区二区三区四区视频精品免费 | 国产麻豆成人精品| 久久久久久久久97黄色工厂| 激情综合网av| 精品国一区二区三区| 经典一区二区三区| 精品国产乱码久久久久久牛牛 | 在线不卡免费欧美| 亚洲超丰满肉感bbw| 在线成人免费视频| 日韩成人dvd| 日韩一区二区三区精品视频 | 首页国产丝袜综合| 7777精品伊人久久久大香线蕉 | 午夜精品影院在线观看| 91精品欧美综合在线观看最新| 调教+趴+乳夹+国产+精品| 欧美精品免费视频| 久久精品99久久久| 久久久精品人体av艺术| www.性欧美| 亚洲va国产va欧美va观看| 日韩一级成人av| 国产a精品视频| 亚洲精品第一国产综合野| 欧美精品在线一区二区三区| 美女视频一区二区三区| 国产日韩亚洲欧美综合| 色综合亚洲欧洲| 日韩高清一区在线| 国产亚洲精品精华液| 一本一道久久a久久精品| 日一区二区三区| 久久久久久久综合色一本| 日本国产一区二区|