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

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

?? pr_loqo.c

?? LibSVM工具箱
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* * File:        pr_loqo.c * Purpose:     solves quadratic programming problem for pattern recognition *              for support vectors * * Author:      Alex J. Smola * Created:     10/14/97 * Updated:     11/08/97 * *  * Copyright (c) 1997  GMD Berlin - All rights reserved * THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE of GMD Berlin * The copyright notice above does not evidence any * actual or intended publication of this work. * * Unauthorized commercial use of this software is not allowed */#include <math.h>#include <time.h>#include <stdlib.h>#include <stdio.h>#include "pr_loqo.h"#define	max(A, B)	((A) > (B) ? (A) : (B))#define	min(A, B)	((A) < (B) ? (A) : (B))#define sqr(A)          ((A) * (A))#define	ABS(A)  	((A) > 0 ? (A) : (-(A)))#define PREDICTOR 1#define CORRECTOR 2/*****************************************************************  replace this by any other function that will exit gracefully  in a larger system  ***************************************************************/void nrerror(char error_text[]){  printf("ERROR: terminating program - %s\n", error_text);  exit(1);}/*****************************************************************   taken from numerical recipes and modified to accept pointers   moreover numerical recipes code seems to be buggy (at least the   ones on the web)   cholesky solver and backsubstitution   leaves upper right triangle intact (rows first order)   ***************************************************************/void choldc(double a[], int n, double p[]){  void nrerror(char error_text[]);  int i, j, k;  double sum;  for (i = 0; i < n; i++){    for (j = i; j < n; j++) {      sum=a[n*i + j];      for (k=i-1; k>=0; k--) sum -= a[n*i + k]*a[n*j + k];      if (i == j) {	if (sum <= 0.0)	  nrerror("choldc failed, matrix not positive definite");	p[i]=sqrt(sum);      } else a[n*j + i] = sum/p[i];    }  }}void cholsb(double a[], int n, double p[], double b[], double x[]){  int i, k;  double sum;  for (i=0; i<n; i++) {    sum=b[i];    for (k=i-1; k>=0; k--) sum -= a[n*i + k]*x[k];    x[i]=sum/p[i];  }  for (i=n-1; i>=0; i--) {    sum=x[i];    for (k=i+1; k<n; k++) sum -= a[n*k + i]*x[k];    x[i]=sum/p[i];  }}/*****************************************************************  sometimes we only need the forward or backward pass of the  backsubstitution, hence we provide these two routines separately   ***************************************************************/void chol_forward(double a[], int n, double p[], double b[], double x[]){  int i, k;  double sum;  for (i=0; i<n; i++) {    sum=b[i];    for (k=i-1; k>=0; k--) sum -= a[n*i + k]*x[k];    x[i]=sum/p[i];  }}void chol_backward(double a[], int n, double p[], double b[], double x[]){  int i, k;  double sum;  for (i=n-1; i>=0; i--) {    sum=b[i];    for (k=i+1; k<n; k++) sum -= a[n*k + i]*x[k];    x[i]=sum/p[i];  }}/*****************************************************************  solves the system | -H_x A' | |x_x| = |c_x|                    |  A   H_y| |x_y|   |c_y|  with H_x (and H_y) positive (semidefinite) matrices  and n, m the respective sizes of H_x and H_y  for variables see pg. 48 of notebook or do the calculations on a  sheet of paper again  predictor solves the whole thing, corrector assues that H_x didn't  change and relies on the results of the predictor. therefore do  _not_ modify workspace  if you want to speed tune anything in the code here's the right  place to do so: about 95% of the time is being spent in  here. something like an iterative refinement would be nice,  especially when switching from double to single precision. if you  have a fast parallel cholesky use it instead of the numrec  implementations.  side effects: changes H_y (but this is just the unit matrix or zero anyway  in our case)  ***************************************************************/void solve_reduced(int n, int m, double h_x[], double h_y[], 		   double a[], double x_x[], double x_y[],		   double c_x[], double c_y[],		   double workspace[], int step){  int i,j,k;  double *p_x;  double *p_y;  double *t_a;  double *t_c;  double *t_y;  p_x = workspace;		/* together n + m + n*m + n + m = n*(m+2)+2*m */  p_y = p_x + n;  t_a = p_y + m;  t_c = t_a + n*m;  t_y = t_c + n;  if (step == PREDICTOR) {    choldc(h_x, n, p_x);	/* do cholesky decomposition */    for (i=0; i<m; i++)         /* forward pass for A' */      chol_forward(h_x, n, p_x, a+i*n, t_a+i*n);				    for (i=0; i<m; i++)         /* compute (h_y + a h_x^-1A') */      for (j=i; j<m; j++)	for (k=0; k<n; k++) 	  h_y[m*i + j] += t_a[n*j + k] * t_a[n*i + k];				    choldc(h_y, m, p_y);	/* and cholesky decomposition */  }    chol_forward(h_x, n, p_x, c_x, t_c);				/* forward pass for c */  for (i=0; i<m; i++) {		/* and solve for x_y */    t_y[i] = c_y[i];    for (j=0; j<n; j++)      t_y[i] += t_a[i*n + j] * t_c[j];  }  cholsb(h_y, m, p_y, t_y, x_y);  for (i=0; i<n; i++) {		/* finally solve for x_x */    t_c[i] = -t_c[i];    for (j=0; j<m; j++)      t_c[i] += t_a[j*n + i] * x_y[j];  }  chol_backward(h_x, n, p_x, t_c, x_x);}/*****************************************************************  matrix vector multiplication (symmetric matrix but only one triangle  given). computes m*x = y  no need to tune it as it's only of O(n^2) but cholesky is of  O(n^3). so don't waste your time _here_ although it isn't very  elegant.   ***************************************************************/void matrix_vector(int n, double m[], double x[], double y[]){  int i, j;  for (i=0; i<n; i++) {    y[i] = m[(n+1) * i] * x[i];    for (j=0; j<i; j++)      y[i] += m[i + n*j] * x[j];    for (j=i+1; j<n; j++)       y[i] += m[n*i + j] * x[j];   }}/*****************************************************************  call only this routine; this is the only one you're interested in  for doing quadratical optimization  the restart feature exists but it may not be of much use due to the  fact that an initial setting, although close but not very close the  the actual solution will result in very good starting diagnostics  (primal and dual feasibility and small infeasibility gap) but incur  later stalling of the optimizer afterwards as we have to enforce  positivity of the slacks.  ***************************************************************/int pr_loqo(int n, int m, double c[], double h_x[], double a[], double b[],	    double l[], double u[], double primal[], double dual[], 	    int verb, double sigfig_max, int counter_max, 	    double margin, double bound, int restart) {  /* the knobs to be tuned ... */  /* double margin = -0.95;	   we will go up to 95% of the				   distance between old variables and zero */  /* double bound = 10;		   preset value for the start. small				   values give good initial				   feasibility but may result in slow				   convergence afterwards: we're too				   close to zero */  /* to be allocated */  double *workspace;  double *diag_h_x;  double *h_y;  double *c_x;  double *c_y;  double *h_dot_x;  double *rho;  double *nu;  double *tau;  double *sigma;  double *gamma_z;  double *gamma_s;    double *hat_nu;  double *hat_tau;  double *delta_x;  double *delta_y;  double *delta_s;  double *delta_z;  double *delta_g;  double *delta_t;  double *d;  /* from the header - pointers into primal and dual */  double *x;  double *y;  double *g;  double *z;  double *s;  double *t;    /* auxiliary variables */  double b_plus_1;  double c_plus_1;  double x_h_x;  double primal_inf;  double dual_inf;  double sigfig;  double primal_obj, dual_obj;  double mu;  double alfa, step;  int counter = 0;  int status = STILL_RUNNING;  int i,j,k;  /* memory allocation */  workspace = malloc((n*(m+2)+2*m)*sizeof(double));  diag_h_x  = malloc(n*sizeof(double));  h_y       = malloc(m*m*sizeof(double));  c_x       = malloc(n*sizeof(double));  c_y       = malloc(m*sizeof(double));  h_dot_x   = malloc(n*sizeof(double));  rho       = malloc(m*sizeof(double));  nu        = malloc(n*sizeof(double));  tau       = malloc(n*sizeof(double));  sigma     = malloc(n*sizeof(double));

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人黄色小视频在线观看| 欧美一级久久久| 亚洲日本在线视频观看| 99久久精品免费| 亚洲天天做日日做天天谢日日欢| 不卡大黄网站免费看| 在线一区二区视频| 懂色av中文一区二区三区| 久久99久久久欧美国产| 1024成人网色www| 亚洲黄色av一区| 日韩伦理免费电影| 亚洲一本大道在线| 紧缚奴在线一区二区三区| 老司机精品视频线观看86| 国产盗摄视频一区二区三区| 色综合咪咪久久| 欧美日韩日日夜夜| 精品久久久久久久一区二区蜜臀| 久久久99精品久久| 亚洲第一激情av| 99久久精品一区| 韩国毛片一区二区三区| 日本人妖一区二区| 亚洲人精品午夜| 亚洲人成在线观看一区二区| 亚洲欧洲av在线| 972aa.com艺术欧美| 亚洲午夜久久久久久久久久久| 中文字幕一区二区三区在线不卡 | 国产三级三级三级精品8ⅰ区| 欧美日韩一区精品| 七七婷婷婷婷精品国产| 国产精品少妇自拍| 欧美精品18+| av在线一区二区| 捆绑调教一区二区三区| 日韩毛片在线免费观看| 日韩你懂的在线观看| 色婷婷综合久久久中文一区二区| 青青草成人在线观看| 亚洲色图欧美激情| 26uuu精品一区二区| 一本色道综合亚洲| 国产一区二区三区精品视频| 亚洲国产你懂的| 亚洲视频你懂的| 久久老女人爱爱| 日韩一区二区三区av| 色哟哟欧美精品| 风间由美一区二区av101 | 亚洲精品国产精品乱码不99| xnxx国产精品| 7777精品伊人久久久大香线蕉| 不卡欧美aaaaa| 韩国中文字幕2020精品| 午夜精品久久久久久| 亚洲日本在线看| 国产精品嫩草99a| 国产日产精品1区| 精品国产乱码久久久久久闺蜜| 欧美巨大另类极品videosbest| 色婷婷精品久久二区二区蜜臂av| 国产jizzjizz一区二区| 狠狠色丁香久久婷婷综合丁香| 日产国产高清一区二区三区| 亚洲国产综合色| 亚洲成人在线免费| 亚洲国产视频一区二区| 一区二区三区中文在线观看| 亚洲欧洲99久久| 国产精品不卡在线观看| 国产精品电影一区二区| 国产亚洲美州欧州综合国| 久久久99免费| 国产精品少妇自拍| 国产精品久久久久久久久免费桃花 | 奇米色一区二区| 日日摸夜夜添夜夜添亚洲女人| 亚洲综合一区二区三区| 一区二区久久久| 亚洲国产成人av好男人在线观看| 亚洲一二三四在线| 亚洲h在线观看| 免费久久99精品国产| 久久99热这里只有精品| 91丝袜呻吟高潮美腿白嫩在线观看| 国产精品中文字幕一区二区三区| 精品在线亚洲视频| 国产精品影音先锋| 9i在线看片成人免费| 色94色欧美sute亚洲线路一ni | 成人综合婷婷国产精品久久 | 麻豆一区二区三| 国产精品一区在线观看你懂的| 国产成人啪免费观看软件| 国产激情偷乱视频一区二区三区| 成人午夜看片网址| 欧美性生活大片视频| 日韩精品中文字幕在线不卡尤物 | 久草中文综合在线| 成人性色生活片| 欧美艳星brazzers| 日韩一区二区三区四区五区六区| 欧美一区二区三区视频免费播放 | 亚洲444eee在线观看| 久久99久久99精品免视看婷婷| 成人美女视频在线观看| 色女孩综合影院| 日韩一区二区在线观看视频播放| 国产网站一区二区| 亚洲超碰97人人做人人爱| 国模一区二区三区白浆| 亚洲一区二区视频在线观看| 另类的小说在线视频另类成人小视频在线| 蜜桃av噜噜一区| 99久久er热在这里只有精品66| 欧美美女视频在线观看| 国产欧美综合在线| 午夜在线电影亚洲一区| 成人免费精品视频| 欧美tickle裸体挠脚心vk| 中文字幕亚洲综合久久菠萝蜜| 手机精品视频在线观看| 成人一道本在线| 日韩美女在线视频| 亚洲国产精品影院| jlzzjlzz国产精品久久| 日韩色视频在线观看| 亚洲欧美另类小说视频| 理论电影国产精品| 欧美日韩免费在线视频| 国产精品理论在线观看| 久久精品国产精品亚洲红杏| 91麻豆精品秘密| 国产精品美女久久久久久久久久久| 图片区小说区区亚洲影院| 99麻豆久久久国产精品免费优播| 日韩免费观看高清完整版| 精品一区二区三区的国产在线播放| 在线视频一区二区三区| 国产精品免费看片| 国产一区在线观看麻豆| 91精品国产欧美日韩| 亚洲一区在线观看网站| 成人黄色a**站在线观看| 久久青草国产手机看片福利盒子 | ww久久中文字幕| 石原莉奈在线亚洲二区| 91蝌蚪国产九色| 国产精品无遮挡| 国产东北露脸精品视频| 337p日本欧洲亚洲大胆色噜噜| 日韩av高清在线观看| 欧美视频第二页| 亚洲精品午夜久久久| 91天堂素人约啪| 亚洲乱码中文字幕| 色综合久久中文综合久久牛| 国产精品国产自产拍高清av王其 | 91一区二区在线| 最新不卡av在线| 99久久婷婷国产精品综合| 国产精品久久看| 不卡av免费在线观看| 国产精品不卡在线观看| 99久久99久久精品国产片果冻| 国产精品视频看| 99久久99久久精品免费看蜜桃| 亚洲欧洲无码一区二区三区| av在线这里只有精品| 亚洲视频一区二区在线观看| av中文字幕不卡| 亚洲欧美日韩系列| 欧美色图片你懂的| 天堂一区二区在线免费观看| 91麻豆精品国产自产在线| 久久精品国产在热久久| 久久九九国产精品| 99久久国产综合精品女不卡| 亚洲精品国产视频| 91.com在线观看| 欧美国产亚洲另类动漫| 黄页网站大全一区二区| 久久香蕉国产线看观看99| 色婷婷综合久久久| 国产丶欧美丶日本不卡视频| 午夜精品一区在线观看| 国产精品电影一区二区三区| 欧美xxxxxxxxx| 欧美猛男超大videosgay| 91毛片在线观看| 91网站最新网址| 欧美日韩激情一区| 亚洲另类春色校园小说| 欧美日韩中文另类| 激情六月婷婷久久| 亚洲永久免费视频| 中文字幕乱码久久午夜不卡| 91精品国产综合久久精品麻豆 |