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

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

?? parallel_loqo.c

?? 支持向量分類算法在linux操作系統(tǒng)下的是實(shí)現(xiàn)
?? C
?? 第 1 頁 / 共 3 頁
字號:
      /* MPI Barrier to wait for changes in x. */      info = MPI_Barrier(comm); CheckError(info);      /* Initialize the other variables besides x and y. */      for(i=0; i<local_n; ++i)	{	  idx = i*local_stride;	  loc.g[idx] = max(ABS(loc.x[idx] - loc.l[idx]), bound);	  loc.z[idx] = max(ABS(loc.x[idx]), bound);	  loc.t[idx] = max(ABS(loc.u[idx] - loc.x[idx]), bound);	  loc.s[idx] = max(ABS(loc.x[idx]), bound);	}    }  /* MPI Barrier to wait for local changes in s,t,z and g. */  info = MPI_Barrier(comm); CheckError(info);  /* Set mu <- (s^T * t + z^T * g) / (2*n) */  info = PLA_Dot(*z, *g, mu); CheckError(info);  info = PLA_Dot(*s, *t, tmp); CheckError(info);  info = MPI_Barrier(comm);  *loc.mu = (*loc.mu + (*loc.tmp)) / (2*n);/*   printf("Setting initial values done.\n"); fflush(stdout); */  /* The main loop. */  if(verb >= STATUS && rank == 0)    {      printf("counter | pri_inf  | dual_inf  | pri_obj   | dual_obj  | ");      printf("sigfig | alpha  | nu \n");      printf("-------------------------------------------------------");      printf("---------------------------\n");    }  while(status == STILL_RUNNING)    {      /* Predictor step. */      /* Put back original diagonal values. */      PLA_Set_diagonal(&h_x, diag_h_x);      /* Set h_dot_x <- h_x * x *//*       PLA_Copy_vector(*x, h_dot_x); */      info = PLA_Obj_set_to_zero(h_dot_x); CheckError(info);/*        info = PLA_Symv(PLA_UPPER_TRIANGULAR, plus_one, h_x, *x, plus_one, h_dot_x);  */      info = PLA_Gemv(PLA_NO_TRANS, plus_one, h_x_copy, *x, plus_one, 		      h_dot_x); CheckError(info);      /* Set rho <- b - A * x */      PLA_Copy_vector(b, rho);      info = PLA_Gemv(PLA_NO_TRANS, minus_one, a, *x, plus_one, rho);       CheckError(info);      /* Set nu <- l - x + g */      PLA_Copy_vector(l, nu);      info = PLA_Axpy(minus_one, *x, nu); CheckError(info);      info = PLA_Axpy(plus_one, *g, nu); CheckError(info);      /* Set tau <- u - x - t */      PLA_Copy_vector(u, tau);      info = PLA_Axpy(minus_one, *x, tau); CheckError(info);      info = PLA_Axpy(minus_one, *t, tau); CheckError(info);      /* Set sigma <- c - z + s + h_dot_x - A^T * y */      PLA_Copy_vector(c, sigma);      info = PLA_Axpy(minus_one, *z, sigma); CheckError(info);      info = PLA_Axpy(plus_one, *s, sigma); CheckError(info);      info = PLA_Axpy(plus_one, h_dot_x, sigma); CheckError(info);      info = PLA_Gemv(PLA_TRANS, minus_one, a, *y, plus_one, sigma);      /* Set gamma_z <- -z, gamma_s <- -s. */      info = PLA_Obj_set_to_zero(gamma_s); CheckError(info);      info = PLA_Axpy(minus_one, *s, gamma_s); CheckError(info);      info = PLA_Obj_set_to_zero(gamma_z); CheckError(info);      info = PLA_Axpy(minus_one, *z, gamma_z); CheckError(info);/*       print_vector(h_dot_x); *//*       print_vector(rho); *//*       print_vector(nu); *//*       print_vector(tau); *//*       print_vector(sigma); */      /* Instrumentation */      info = PLA_Dot(h_dot_x, *x, x_h_x); CheckError(info);      {	/* Compute 	   primal_inf <- sqrt(tau^T * tau + nu^T * nu + rho^T * rho) 	   / b_plus_1. */	info = PLA_Dot(tau, tau, primal_inf); CheckError(info);	info = PLA_Dot(nu, nu, tmp); CheckError(info);	info = MPI_Barrier(comm);	*loc.primal_inf += *loc.tmp;	info = PLA_Dot(rho, rho, tmp); CheckError(info);	info = MPI_Barrier(comm);	*loc.primal_inf += *loc.tmp;	*loc.primal_inf = sqrt(*loc.primal_inf)/(*loc.b_plus_1);      }      {	/* Compute 	   dual_inf <- sqrt(sigma^T * sigma) / c_plus_1. */	info = PLA_Dot(sigma, sigma, dual_inf); CheckError(info);	info = MPI_Barrier(comm);	*loc.dual_inf = sqrt(*loc.dual_inf)/(*loc.c_plus_1);      }      {	/* Compute	   primal_obj <- 0.5 * x_h_x + c^T * x. */	info = PLA_Dot(c, *x, primal_obj); CheckError(info);	info = MPI_Barrier(comm);	*loc.primal_obj += 0.5*(*loc.x_h_x);      }      {	/* Compute	   dual_obj <- -0.5 * x_h_x + l^T * z - u^T * s + b^T * y. */	info = PLA_Dot(l, *z, dual_obj); CheckError(info);	info = PLA_Dot(b, *y, tmp); CheckError(info);	info = MPI_Barrier(comm);	*loc.dual_obj += *loc.tmp;	info = PLA_Dot(u, *s, tmp); CheckError(info);	info = MPI_Barrier(comm);	*loc.dual_obj -= *loc.tmp;	*loc.dual_obj -= 0.5*(*loc.x_h_x);      }      sigfig = log10(ABS(*loc.primal_obj) + 1) -	log10(ABS(*loc.primal_obj - (*loc.dual_obj)));      sigfig = max(sigfig, 0);      /* The diagnostics - after we computed our results we will	 analyze them */      if (counter > counter_max) status = ITERATION_LIMIT;      if (sigfig  > sigfig_max)  status = OPTIMAL_SOLUTION;      if (*loc.primal_inf > 10e100)   status = PRIMAL_INFEASIBLE;      if (*loc.dual_inf > 10e100)     status = DUAL_INFEASIBLE;      if (*loc.primal_inf > 10e100 && *loc.dual_inf > 10e100) 	status = PRIMAL_AND_DUAL_INFEASIBLE;      if (ABS(*loc.primal_obj) > 10e100) status = PRIMAL_UNBOUNDED;      if (ABS(*loc.dual_obj) > 10e100) status = DUAL_UNBOUNDED;            /* Generate report */      if ((verb >= FLOOD) | ((verb == STATUS) & (status != 0)) && rank == 0)	printf("%7i | %.2e | %.2e | % .2e | % .2e | %6.3f | %.4f | %.2e\n",	       counter, *loc.primal_inf, *loc.dual_inf, *loc.primal_obj, 	       *loc.dual_obj, sigfig, *loc.alfa, *loc.mu);      counter++;      if(status == 0){	/* Set intermediary hat variables. */	for(i=0; i<local_n; ++i)	  {	    idx = i*local_stride;	    loc.hat_nu[idx] = loc.nu[idx] + loc.g[idx] * 	      loc.gamma_z[idx] / loc.z[idx];	    loc.hat_tau[idx] = loc.tau[idx] - loc.t[idx] *	      loc.gamma_s[idx] / loc.s[idx];	    loc.d[idx] = loc.z[idx] / loc.g[idx] + loc.s[idx] / loc.t[idx];	    loc.c_x[idx] = loc.sigma[idx] - loc.z[idx] * loc.hat_nu[idx] /	      loc.g[idx] - loc.s[idx] * loc.hat_tau[idx] / loc.t[idx];	  }	info = MPI_Barrier(comm); CheckError(info);	/* Set h_x <- h_x + diag(z^-1 * g + s * t^-1). */	info = PLA_Copy(h_x_copy, h_x); CheckError(info);	info = PLA_Axpy(plus_one, diag_h_x, d); CheckError(info);	PLA_Set_diagonal(&h_x, d);	/* Set c_y <- rho. */	PLA_Copy_vector(rho, c_y);	/* Set h_y <-  0. */	info = PLA_Obj_set_to_zero(h_y); CheckError(info);		/* Compute predictor step */	parallel_solve_reduced(h_x, h_y, a, c_x, c_y, &delta_x, &delta_y, &y1t, 			       PREDICTOR);	info = MPI_Barrier(comm); CheckError(info);	/* Do backsubstitution */	for(i=0; i<local_n; ++i)	  {	    idx = i*local_stride;	    loc.delta_s[idx] = loc.s[idx] * 	      (loc.delta_x[idx] - loc.hat_tau[idx]) / loc.t[idx];	    loc.delta_z[idx] = loc.z[idx] *	      (loc.hat_nu[idx] - loc.delta_x[idx]) / loc.g[idx];	    loc.delta_g[idx] = loc.g[idx] *	      (loc.gamma_z[idx] - loc.delta_z[idx]) / loc.z[idx];	    loc.delta_t[idx] = loc.t[idx] *	      (loc.gamma_s[idx] - loc.delta_s[idx]) / loc.s[idx];	    	    /* Central path (corrector) */	    loc.gamma_z[idx] = *loc.mu / loc.g[idx] - loc.z[idx] -	      loc.delta_z[idx] * loc.delta_g[idx] / loc.g[idx];	    loc.gamma_s[idx] = *loc.mu / loc.t[idx] - loc.s[idx] -	      loc.delta_s[idx] * loc.delta_t[idx] / loc.t[idx];	    	    /* The hat variables. */	    loc.hat_nu[idx] = loc.nu[idx] + loc.g[idx] * 	      loc.gamma_z[idx] / loc.z[idx];	    loc.hat_tau[idx] = loc.tau[idx] - loc.t[idx] *	      loc.gamma_s[idx] / loc.s[idx];	    	    loc.c_x[idx] = loc.sigma[idx] - loc.z[idx] * loc.hat_nu[idx] /	      loc.g[idx] - loc.s[idx] * loc.hat_tau[idx] / loc.t[idx];	  }	info = MPI_Barrier(comm); CheckError(info);	/* Set c_y */	PLA_Copy_vector(rho, c_y);	/* Compute corrector step */	parallel_solve_reduced(h_x, h_y, a, c_x, c_y, &delta_x, &delta_y, &y1t, 			       CORRECTOR);		info = MPI_Barrier(comm); CheckError(info);	/* Backsubstitution. */	for(i=0; i<local_n; ++i)	  {	    idx = i*local_stride;	    loc.delta_s[idx] = loc.s[idx] * 	      (loc.delta_x[idx] - loc.hat_tau[idx]) / loc.t[idx];	    loc.delta_z[idx] = loc.z[idx] *	      (loc.hat_nu[idx] - loc.delta_x[idx]) / loc.g[idx];	    loc.delta_g[idx] = loc.g[idx] *	      (loc.gamma_z[idx] - loc.delta_z[idx]) / loc.z[idx];	    loc.delta_t[idx] = loc.t[idx] *	      (loc.gamma_s[idx] - loc.delta_s[idx]) / loc.s[idx];	  }	/* Update alfa. */	for(i=0; i<local_n; ++i)	  {	    idx = i*local_stride;	    loc.max_ratio[idx] = -loc.delta_g[idx] / loc.g[idx];	    next_ratio = -loc.delta_t[idx] / loc.t[idx];	    if(loc.max_ratio[idx] < next_ratio)	      loc.max_ratio[idx] = next_ratio;	    next_ratio = -loc.delta_s[idx] / loc.s[idx];	    if(loc.max_ratio[idx] < next_ratio)	      loc.max_ratio[idx] = next_ratio;	    next_ratio = -loc.delta_z[idx] / loc.z[idx];	    if(loc.max_ratio[idx] < next_ratio)	      loc.max_ratio[idx] = next_ratio;	  }	info = MPI_Barrier(comm); CheckError(info);	/* Note: There is a bug in the plapack documentation!	 * Correct calling sequence is:	 * int PLA_Iamax( PLA_Obj x, PLA_Obj k, PLA_Obj xmax). */	info = PLA_Iamax(max_ratio, max_idx, alfa); CheckError(info);	info = MPI_Barrier(comm); CheckError(info);	*loc.alfa = -max(*loc.alfa, 1);	*loc.alfa = (margin - 1) / (*loc.alfa);		/* Set mu <- (s^T * t + z^T * g) / (2*n) * (	   (alfa-1) / (alfa + 10))^2. */	info = PLA_Dot(*z, *g, mu); CheckError(info);	info = PLA_Dot(*s, *t, tmp); CheckError(info);	info = MPI_Barrier(comm); CheckError(info);	*loc.mu = (*loc.mu + (*loc.tmp)) / (2*n);	*loc.mu = *loc.mu * sqr((*loc.alfa - 1) / (*loc.alfa + 10));	/* Update variables. */	info = PLA_Axpy(alfa, delta_x, *x); CheckError(info);	info = PLA_Axpy(alfa, delta_g, *g); CheckError(info);	info = PLA_Axpy(alfa, delta_t, *t); CheckError(info);	info = PLA_Axpy(alfa, delta_z, *z); CheckError(info);	info = PLA_Axpy(alfa, delta_s, *s); CheckError(info);	info = PLA_Axpy(alfa, delta_y, *y); CheckError(info);      } /* if(status == 0) */    } /* while(status == STILL_RUNNING) */  if(rank == 0 && status == 1 && verb >= STATUS)    {      printf("-----------------------------------------");      printf("-----------------------------------------\n");      printf("optimization converged\n");    }  info = MPI_Barrier(comm); CheckError(info);  /* Compute dist <- c + h_dot_x - A^T*y */  PLA_Copy_vector(h_dot_x, *dist);  info = PLA_Gemv(PLA_TRANS, minus_one, a, *y, plus_one, *dist);  CheckError(info);  info = PLA_Axpy(plus_one, c, *dist); CheckError(info);  info = MPI_Barrier(comm); CheckError(info);  /* Deallocation */  info = PLA_Obj_free(&diag_h_x); CheckError(info);    info = PLA_Obj_free(&h_y); CheckError(info);    info = PLA_Obj_free(&y1t); CheckError(info);    info = PLA_Obj_free(&c_x); CheckError(info);  info = PLA_Obj_free(&c_y); CheckError(info);  info = PLA_Obj_free(&h_dot_x); CheckError(info);  info = PLA_Obj_free(&rho); CheckError(info);  info = PLA_Obj_free(&nu); CheckError(info);  info = PLA_Obj_free(&tau); CheckError(info);  info = PLA_Obj_free(&sigma); CheckError(info);  info = PLA_Obj_free(&gamma_z); CheckError(info);  info = PLA_Obj_free(&gamma_s); CheckError(info);  info = PLA_Obj_free(&hat_nu); CheckError(info);  info = PLA_Obj_free(&hat_tau); CheckError(info);  info = PLA_Obj_free(&delta_x); CheckError(info);  info = PLA_Obj_free(&delta_y); CheckError(info);  info = PLA_Obj_free(&delta_s); CheckError(info);  info = PLA_Obj_free(&delta_z); CheckError(info);  info = PLA_Obj_free(&delta_g); CheckError(info);  info = PLA_Obj_free(&delta_t); CheckError(info);  info = PLA_Obj_free(&d); CheckError(info);  info = PLA_Obj_free(&ones_n); CheckError(info);  info = PLA_Obj_free(&ones_m); CheckError(info);  info = PLA_Obj_free(&h_x_copy); CheckError(info);  info = PLA_Obj_free(&plus_one); CheckError(info);  info = PLA_Obj_free(&minus_one); CheckError(info);  info = PLA_Obj_free(&b_plus_1); CheckError(info);  info = PLA_Obj_free(&c_plus_1); CheckError(info);  info = PLA_Obj_free(&x_h_x); CheckError(info);  info = PLA_Obj_free(&primal_inf); CheckError(info);  info = PLA_Obj_free(&dual_inf); CheckError(info);  info = PLA_Obj_free(&primal_obj); CheckError(info);  info = PLA_Obj_free(&dual_obj); CheckError(info);  info = PLA_Obj_free(&mu); CheckError(info);  info = PLA_Obj_free(&alfa); CheckError(info);  info = PLA_Obj_free(&tmp); CheckError(info);  return status;}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91香蕉视频mp4| 精品一区二区三区不卡| 93久久精品日日躁夜夜躁欧美| 国产精品久久久久三级| 99精品国产91久久久久久| 国产精品久久精品日日| 欧洲中文字幕精品| 日韩av网站在线观看| www亚洲一区| 成人激情av网| 五月天中文字幕一区二区| 欧美一区二区三区婷婷月色 | 日韩午夜激情免费电影| 精彩视频一区二区| 亚洲视频在线一区二区| 欧美日韩亚洲高清一区二区| 蜜臀国产一区二区三区在线播放| 久久综合九色综合欧美亚洲| 99久久精品国产精品久久| 亚洲成va人在线观看| 久久综合久久综合九色| 色欧美乱欧美15图片| 蜜桃视频在线观看一区| 亚洲欧洲日本在线| 51精品久久久久久久蜜臀| 福利一区二区在线| 偷拍一区二区三区四区| 国产精品午夜在线| 51午夜精品国产| av资源网一区| 美国欧美日韩国产在线播放| 国产精品久久久久久户外露出| 7777精品伊人久久久大香线蕉最新版| 国模少妇一区二区三区| 亚洲电影在线播放| 欧美国产禁国产网站cc| 欧美丰满高潮xxxx喷水动漫| heyzo一本久久综合| 蜜臀av一区二区| 亚洲乱码国产乱码精品精小说| 精品久久国产97色综合| 在线视频国内自拍亚洲视频| 国产一区二区看久久| 亚洲国产精品久久一线不卡| 国产精品日韩成人| 精品国产露脸精彩对白| 欧美日韩精品久久久| 北条麻妃国产九九精品视频| 免费成人在线观看视频| 亚洲国产视频网站| 亚洲人成小说网站色在线| 日韩久久精品一区| 欧美高清一级片在线| av在线不卡观看免费观看| 国产在线日韩欧美| 日本欧美一区二区三区乱码| 亚洲午夜精品网| 亚洲激情校园春色| 国产精品久久久一本精品 | 欧美日本在线视频| 91丨九色丨蝌蚪富婆spa| 国产一区二区三区精品视频| 免费成人av在线播放| 丝袜亚洲精品中文字幕一区| 一级做a爱片久久| 中文字幕在线观看一区二区| 欧美韩国日本一区| 中文字幕av一区二区三区| 2020国产精品久久精品美国| 日韩亚洲欧美综合| 日韩欧美国产一区在线观看| 777精品伊人久久久久大香线蕉| 欧美日韩在线亚洲一区蜜芽| 91电影在线观看| 在线观看日韩国产| 在线视频一区二区免费| 欧美影院一区二区| 欧美军同video69gay| 欧美精品三级日韩久久| 日韩午夜激情av| 精品国产乱码久久久久久浪潮| 欧美精品一区二区在线播放| 久久午夜老司机| 国产精品午夜久久| 亚洲欧美日韩国产综合| 一区二区三区不卡视频| 亚洲444eee在线观看| 免费一级片91| 国产伦精品一区二区三区免费迷 | 欧美精品一二三四| 日韩一级完整毛片| 久久久久久**毛片大全| 国产精品久久久久婷婷| 一区二区在线免费观看| 五月天亚洲婷婷| 精品一二三四区| 国产成人精品免费网站| fc2成人免费人成在线观看播放| 色婷婷精品久久二区二区蜜臂av | 日韩精品最新网址| 久久精品一区蜜桃臀影院| 亚洲欧美综合另类在线卡通| 亚洲国产美女搞黄色| 美女视频一区二区| 成人性生交大片免费看中文| 欧美亚洲丝袜传媒另类| 日韩一级在线观看| 国产精品国产三级国产aⅴ入口| 亚洲午夜一区二区三区| 精品一区二区三区视频在线观看| 暴力调教一区二区三区| 欧美午夜精品一区| 精品日韩99亚洲| 亚洲男同性恋视频| 美女一区二区久久| 99精品视频中文字幕| 欧美丰满嫩嫩电影| 国产精品美女久久久久久久网站| 亚洲在线观看免费| 国产一区二区三区久久悠悠色av| 色婷婷久久综合| 2021中文字幕一区亚洲| 亚洲影院免费观看| 国产一区二区三区蝌蚪| 欧美三级在线视频| 国产精品欧美极品| 青青青爽久久午夜综合久久午夜 | 亚洲超碰精品一区二区| 国产精品一区在线观看乱码| 在线观看日韩一区| 中文字幕精品一区| 免费观看30秒视频久久| 91九色最新地址| 国产欧美一区二区精品仙草咪| 午夜精品一区二区三区免费视频| 成人福利电影精品一区二区在线观看| 69av一区二区三区| 亚洲愉拍自拍另类高清精品| 成人深夜在线观看| 精品免费99久久| 亚洲午夜一二三区视频| 99久久99久久精品国产片果冻| 久久综合九色综合欧美亚洲| 石原莉奈在线亚洲二区| 色综合天天综合色综合av| 国产女主播在线一区二区| 免费人成网站在线观看欧美高清| 欧美午夜宅男影院| 亚洲精品国产精华液| 91亚洲精品久久久蜜桃网站 | 欧美这里有精品| 国产精品毛片久久久久久| 激情文学综合网| 欧美mv日韩mv国产网站app| 日韩制服丝袜av| 欧美日韩高清一区二区| 一区二区三区在线观看动漫| av一区二区久久| 国产女人18毛片水真多成人如厕| 国产一区二区三区免费在线观看| 欧美zozo另类异族| 久久国产麻豆精品| 欧美精品一区二区蜜臀亚洲| 日韩av午夜在线观看| 欧美一三区三区四区免费在线看 | 国产91综合一区在线观看| 久久夜色精品国产欧美乱极品| 男女男精品视频网| 91精品免费在线观看| 日本不卡一区二区| 在线综合亚洲欧美在线视频| 日本亚洲免费观看| 日韩免费视频一区二区| 极品少妇xxxx精品少妇| 久久久久久久精| 成人午夜免费av| 亚洲男人天堂av| 欧美日韩一卡二卡三卡| 日本成人在线电影网| 精品人伦一区二区色婷婷| 国产一区二区三区蝌蚪| 国产精品二区一区二区aⅴ污介绍| 91丨九色丨蝌蚪富婆spa| 亚洲综合免费观看高清在线观看| 欧美日本韩国一区二区三区视频| 亚洲一区二区三区四区中文字幕 | 99精品一区二区三区| 一区二区三区.www| 欧美美女直播网站| 久久99精品国产麻豆婷婷洗澡| 国产亚洲一区字幕| 99久久综合精品| 亚洲大尺度视频在线观看| 日韩精品中午字幕| 丰满少妇在线播放bd日韩电影| 一区二区在线看| 日韩欧美国产1| av在线免费不卡| 视频一区二区中文字幕| 欧美国产精品中文字幕|