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

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

?? pr_loqo.c

?? 船舶電力負荷預測的matlab程序
?? 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 * Updated:     13/08/98 (removed exit(1) as it crashes svm lite when the margin *                        in a not sufficiently conservative manner) * *  * 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 optimizer - %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");	  sum = 0.0;	}	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));

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本韩国欧美一区| 欧美激情一区二区三区全黄| 欧美a一区二区| 精品国产乱码久久久久久1区2区 | 91精品综合久久久久久| 美国毛片一区二区| 国产精品免费视频观看| 欧美日韩美少妇| 国产黄人亚洲片| 婷婷国产v国产偷v亚洲高清| 2021久久国产精品不只是精品| 91影院在线免费观看| 国产中文一区二区三区| 亚洲永久精品国产| 亚洲永久精品大片| 国产亚洲视频系列| 91精品国产综合久久国产大片| 不卡视频在线观看| 国产精品18久久久久久久网站| 亚洲精品国产精华液| 欧美国产综合一区二区| 2023国产精品| xnxx国产精品| 久久久久久久久久久久久久久99| 制服丝袜日韩国产| 欧美日韩精品三区| 在线播放中文一区| 欧美日韩精品一二三区| 欧美亚一区二区| 在线观看日韩精品| 欧美日韩视频不卡| 欧美精品123区| 精品卡一卡二卡三卡四在线| 欧美成人精品高清在线播放| 精品国产乱码久久久久久图片| 精品国产百合女同互慰| 欧美国产日韩一二三区| 中文字幕中文字幕中文字幕亚洲无线 | 日韩久久久精品| 欧美极品xxx| 夜夜嗨av一区二区三区网页| a4yy欧美一区二区三区| 精品视频在线视频| 亚洲最大成人网4388xx| 国产成人av自拍| 国产成都精品91一区二区三| 裸体一区二区三区| 激情小说欧美图片| 国产精品综合二区| 成人av电影在线播放| 99国产精品久久久久久久久久| 成人av动漫在线| 欧美午夜精品理论片a级按摩| 6080午夜不卡| 亚洲福利视频一区二区| 国产成人一区二区精品非洲| 欧美色精品天天在线观看视频| 久久亚洲二区三区| 久久成人久久鬼色| 欧美性色欧美a在线播放| 欧美极品美女视频| 国产成人鲁色资源国产91色综 | 精品粉嫩超白一线天av| 日韩亚洲欧美综合| 麻豆精品精品国产自在97香蕉| 精品电影一区二区| av色综合久久天堂av综合| 亚洲一区二区三区中文字幕| 91免费观看视频| 亚洲精品国产精华液| 色狠狠av一区二区三区| 亚洲精品日韩一| 欧美精品777| 精品制服美女久久| 久久久午夜精品理论片中文字幕| 韩国欧美一区二区| 中文字幕免费观看一区| 99久久久国产精品| 五月婷婷激情综合网| 日韩欧美123| www.日本不卡| 偷窥少妇高潮呻吟av久久免费| 91精品国产综合久久久久久久| 美女脱光内衣内裤视频久久影院| 久久色在线观看| 91福利精品视频| 国产一区二区在线影院| 亚洲乱码日产精品bd| 欧美一区在线视频| 成人午夜激情影院| 天天色 色综合| 国产日韩欧美精品综合| 在线观看日韩精品| 成人av资源在线| 久草精品在线观看| 亚洲成人av在线电影| 国产欧美一区二区三区网站| 日本道精品一区二区三区| 国产精品1024| 久久99日本精品| 日本v片在线高清不卡在线观看| 国产精品不卡在线| 国产日韩欧美不卡在线| 精品伦理精品一区| 91麻豆精品国产自产在线观看一区| 91在线免费视频观看| 国产一区二区中文字幕| 国产精品18久久久久久久久久久久 | 国产精品久久久久久久久免费樱桃 | 中文一区一区三区高中清不卡| 精品国产伦一区二区三区观看方式 | 美女任你摸久久| 精品一区二区三区在线播放视频 | 韩国三级在线一区| 国产乱子轮精品视频| 成人黄色免费短视频| 成年人午夜久久久| 日韩一级高清毛片| 久久综合av免费| 国产精品美女久久久久久2018 | 日本欧美一区二区在线观看| 艳妇臀荡乳欲伦亚洲一区| 精品成人私密视频| 欧美三级视频在线| 91精品综合久久久久久| 一区二区三区精品| 99久久精品国产精品久久| 日韩一级片在线观看| 国产精品美女久久久久久2018| 亚洲成人免费影院| 成人爱爱电影网址| 欧美日韩视频在线第一区 | 日韩女优av电影| 亚洲视频免费看| 国产成人免费网站| 欧美一区二区三区影视| 中文字幕一区二区视频| 久久国产精品99精品国产| 99这里只有久久精品视频| 国产日本一区二区| 蜜臀精品久久久久久蜜臀 | 欧美日韩一区在线观看| 久久女同性恋中文字幕| 日日欢夜夜爽一区| 成人avav影音| 国产日韩欧美不卡在线| 精品午夜一区二区三区在线观看| 69久久99精品久久久久婷婷 | 国产伦精品一区二区三区免费迷| 亚洲精品在线三区| 色94色欧美sute亚洲线路二| 视频一区视频二区中文字幕| 久久久精品2019中文字幕之3| www.成人网.com| 亚洲日本在线视频观看| 国产乱对白刺激视频不卡| 精品欧美久久久| 国产精品一区二区久激情瑜伽| 久久综合中文字幕| 成人av高清在线| 国产精品美日韩| 欧美吻胸吃奶大尺度电影| 天天综合色天天| 日韩网站在线看片你懂的| 亚洲1区2区3区4区| 欧美精品日韩一本| 亚洲妇女屁股眼交7| 欧美美女视频在线观看| 国产欧美视频一区二区三区| 国产成人精品综合在线观看| 国产精品久久久久久久久免费桃花| 国产美女视频91| 综合色中文字幕| 欧美日本视频在线| 久久精品二区亚洲w码| 日韩欧美一二三区| 99久久久久久| 久久精品二区亚洲w码| 中文字幕乱码亚洲精品一区| 久久精品国产99国产精品| 一区在线中文字幕| 欧美日本韩国一区| 国产一区二区福利| 亚洲午夜在线视频| 国产日产欧美精品一区二区三区| 国产精一区二区三区| 国产精品色哟哟网站| 欧美一区二区三区在线视频| 国产精品亚洲人在线观看| 亚洲乱码国产乱码精品精的特点| 欧美日韩一区小说| 国产麻豆一精品一av一免费 | 日韩欧美高清dvd碟片| 久久精品国产一区二区| 亚洲综合图片区| 亚洲品质自拍视频| 中文字幕av不卡| 欧美刺激脚交jootjob| 777a∨成人精品桃花网| 99久久精品免费精品国产|