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

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

?? givensrot.c

?? 經濟學專業代碼
?? C
字號:
/*
%                                             y = givensrot(gjc,g,x,K)
% GIVENSROT
%
% SEE ALSO sedumi
% **********  INTERNAL FUNCTION OF SEDUMI **********
function y = givensrot(gjc,g,x,K)

% This file is part of SeDuMi 1.1 by Imre Polik and Oleksandr Romanko
% Copyright (C) 2005 McMaster University, Hamilton, CANADA  (since 1.1)
%
% Copyright (C) 2001 Jos F. Sturm (up to 1.05R5)
%   Dept. Econometrics & O.R., Tilburg University, the Netherlands.
%   Supported by the Netherlands Organization for Scientific Research (NWO).
%
% Affiliation SeDuMi 1.03 and 1.04Beta (2000):
%   Dept. Quantitative Economics, Maastricht University, the Netherlands.
%
% Affiliations up to SeDuMi 1.02 (AUG1998):
%   CRL, McMaster University, Canada.
%   Supported by the Netherlands Organization for Scientific Research (NWO).
%
% 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.,  51 Franklin Street, Fifth Floor, Boston, MA
% 02110-1301, USA

*/
#include <string.h>
#include "mex.h"
#include "blksdp.h"
#include "givens.h"

#define Y_OUT plhs[0]
#define NPAROUT 1

#define GJC_IN prhs[0]
#define G_IN prhs[1]
#define X_IN prhs[2]
#define K_IN prhs[3]
#define NPARIN 4

/* ************************************************************
   PROCEDURE matgivens
   INPUT
     gjc, g - sequence of givens rotations
   UPDATED
     y - let Y := Q_g * Y.
   ************************************************************ */
void matgivens(double *y, const twodouble *g, const int *gjc, const int n)
{
  int j,k;

  for(j = 0; j < n; j++, y += n)       /* For all n columns of y */
/* ------------------------------------------------------------
   At step k, we apply m rotations involving rows k:k+m, m=gjc[k+1]-gjc[k].
   ------------------------------------------------------------ */
    for(k = 0; k < n-1; k++)
      givensrot(y+k, g+gjc[k], gjc[k+1]-gjc[k]);
}

/* complex case */
void prpimatgivens(double *y,double *ypi, const tridouble *g,
                   const int *gjc, const int n)
{
  int j,k;

  for(j = 0; j < n; j++, y += n, ypi += n)       /* For all n columns of y */
/* ------------------------------------------------------------
   At step k, we apply m rotations involving rows k:k+m, m=gjc[k+1]-gjc[k].
   ------------------------------------------------------------ */
    for(k = 0; k < n-1; k++)
      prpigivensrot(y+k,ypi+k, g+gjc[k], gjc[k+1]-gjc[k]);
}


/* ============================================================
   MAIN: MEXFUNCTION
   ============================================================ */
/* ************************************************************
   PROCEDURE mexFunction - Entry for Matlab
   ************************************************************ */
void mexFunction(const int nlhs, mxArray *plhs[],
  const int nrhs, const mxArray *prhs[])
{
  int inz, i, k, nk, nksqr, lenud, sdplen, gnnz;
  int *gjc, *iwork;
  const double *gjcPr;
  const double *g, *gk;
  double *y;
  coneK cK;
/* ------------------------------------------------------------
   Check for proper number of arguments 
   ------------------------------------------------------------ */
  mxAssert(nrhs >= NPARIN, "givensrot requires more input arguments.");
  mxAssert(nlhs <= NPAROUT, "givensrot generates less output arguments.");
/* ------------------------------------------------------------
   Disassemble cone K structure
   ------------------------------------------------------------ */
  conepars(K_IN, &cK);
/* ------------------------------------------------------------
   Get statistics of cone K structure
   ------------------------------------------------------------ */
  lenud = cK.rDim + cK.hDim;
  sdplen = cK.rLen + cK.hLen;
/* ------------------------------------------------------------
   Get inputs gjc,g,x
   ------------------------------------------------------------ */
  mxAssert(mxGetM(GJC_IN) * mxGetN(GJC_IN) == sdplen, "gjc size mismatch");
  gjcPr = mxGetPr(GJC_IN);
  g = (double *) mxGetPr(G_IN);
  gnnz = mxGetM(G_IN) * mxGetN(G_IN);
  mxAssert(mxGetM(X_IN) == lenud && mxGetN(X_IN) == 1, "x size mismatch");
/* ------------------------------------------------------------
   Allocate output y(lenud), and let y = x.
   ------------------------------------------------------------ */
  Y_OUT = mxCreateDoubleMatrix(lenud, 1, mxREAL);
  y = mxGetPr(Y_OUT);
  memcpy(y, mxGetPr(X_IN), lenud * sizeof(double));
/* ------------------------------------------------------------
   Allocate working array iwork(sum(K.s))
   ------------------------------------------------------------ */
  iwork = (int *) mxCalloc(MAX(1,sdplen), sizeof(int));
/* ------------------------------------------------------------
   Convert gjcPr from float to int, and store in gjc:=iwork.
   ------------------------------------------------------------ */
  gjc = iwork;
  for(i = 0; i < sdplen; i++)
    gjc[i] = gjcPr[i];                 /* don't subtract 1: already C-style */
/* ------------------------------------------------------------
   The actual job is done here: U_NEW = Q(g) * U_OLD
   ------------------------------------------------------------ */
  inz = 0;
  for(k = 0; k < cK.rsdpN; k++){                /* real symmetric */
    nk = cK.sdpNL[k];
    nksqr = SQR(nk);
    mxAssert(inz + 2 * gjc[nk-1] <= gnnz, "g size mismatch");
    gk = g+inz;
    matgivens(y, (twodouble *) gk, gjc, nk);
    y += nksqr;
    inz += 2 * gjc[nk-1];        /* each rotation consists of 2 doubles */
    gjc += nk;
  }
  for(; k < cK.sdpN; k++){                       /* complex Hermitian */
    nk = cK.sdpNL[k];
    nksqr = SQR(nk);
    mxAssert(inz + 3 * gjc[nk-1] <= gnnz, "g size mismatch");
    gk = g+inz;
    prpimatgivens(y,y+nksqr, (tridouble *) gk, gjc, nk);
    nksqr += nksqr;
    y += nksqr;
    inz += 3 * gjc[nk-1];            /* each rotation consists of 3 doubles */
    gjc += nk;
  }
/* ------------------------------------------------------------
   Release working arrays
   ------------------------------------------------------------ */
  mxFree(iwork);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产日韩一级二级三级| 欧美一个色资源| 精品一区二区日韩| 亚洲尤物在线视频观看| 国产精品久久久久久户外露出| 精品播放一区二区| 精品少妇一区二区三区视频免付费| 欧美福利视频导航| 欧美日韩在线三区| 欧美丝袜丝交足nylons| 91女人视频在线观看| 色综合久久天天| 91黄色激情网站| 欧美日韩一级二级| 91精品国产综合久久精品app| 欧美日韩精品一区视频| 欧美日韩国产高清一区二区| 欧美精品1区2区| 日韩一级在线观看| 久久综合久久综合亚洲| 国产欧美一区二区三区网站| 亚洲丝袜另类动漫二区| 国产69精品久久久久毛片| 国产麻豆视频精品| 91亚洲精品久久久蜜桃| 欧美日韩国产首页| 日韩欧美激情一区| 欧美激情在线一区二区| 亚洲视频图片小说| 日韩中文字幕区一区有砖一区| 免费久久99精品国产| 国产米奇在线777精品观看| 成人性生交大片免费看中文 | 欧美一区二区视频在线观看2020| 欧美一区二区三区不卡| 国产亚洲一区二区三区四区| 亚洲色图视频网| 琪琪久久久久日韩精品| 国产v综合v亚洲欧| 欧美撒尿777hd撒尿| 精品欧美一区二区久久| 中文字幕亚洲一区二区va在线| 午夜成人免费电影| 成人av动漫网站| 9191国产精品| 最好看的中文字幕久久| 久久国产剧场电影| 91小视频在线| 久久先锋资源网| 亚洲妇熟xx妇色黄| 成人丝袜18视频在线观看| 欧美日韩免费一区二区三区视频| 久久精品一二三| 日韩电影一区二区三区| 色综合 综合色| 国产人伦精品一区二区| 日韩福利视频网| 一本大道av伊人久久综合| 久久综合九色综合欧美亚洲| 亚洲午夜视频在线观看| 成人av在线一区二区| 精品日韩在线观看| 亚洲电影一级片| 99re成人精品视频| 国产女人水真多18毛片18精品视频 | av电影天堂一区二区在线观看| 欧美一区二区精美| 狠狠色丁香婷综合久久| 欧美日韩中字一区| 亚洲视频一区二区免费在线观看| 国产精品资源在线| 精品国产伦一区二区三区观看体验| 亚洲一级片在线观看| 91久久精品网| 亚洲欧美日韩国产综合| 白白色 亚洲乱淫| 国产拍揄自揄精品视频麻豆| 韩国v欧美v亚洲v日本v| 日韩一区二区在线看| 肉色丝袜一区二区| 欧美欧美午夜aⅴ在线观看| 日韩一区在线播放| 一本一道久久a久久精品| 亚洲国产精品黑人久久久| 国产麻豆一精品一av一免费| 精品国产一二三区| 国产综合色在线视频区| 精品免费日韩av| 久久99精品国产.久久久久久| 日韩欧美一级在线播放| 国内精品免费**视频| 久久午夜免费电影| 成人app在线| 亚洲精品一二三| 欧美色图一区二区三区| 婷婷丁香久久五月婷婷| 91精品国产综合久久精品| 久久狠狠亚洲综合| 久久久99精品久久| av亚洲精华国产精华| 一二三区精品视频| 欧美日韩视频一区二区| 蜜臀av一区二区在线免费观看| 精品福利在线导航| 岛国精品一区二区| 一区二区三区产品免费精品久久75| 欧洲视频一区二区| 蜜桃久久av一区| 中文字幕亚洲在| 欧美日韩高清影院| 国产伦精品一区二区三区免费迷 | 久久久蜜臀国产一区二区| 大白屁股一区二区视频| 亚洲最新在线观看| 日韩免费看的电影| 91猫先生在线| 免费欧美在线视频| 自拍偷拍亚洲欧美日韩| 日韩免费性生活视频播放| 成人丝袜高跟foot| 日本中文字幕一区二区有限公司| 久久久久久电影| 欧美性色综合网| 懂色av中文字幕一区二区三区| 一区二区三区在线高清| 久久中文字幕电影| 欧美日韩激情一区二区| 粉嫩欧美一区二区三区高清影视| 一区二区国产盗摄色噜噜| 精品国产乱码久久久久久牛牛 | 国产精品久久福利| 亚洲视频一区二区在线| 日韩欧美一区二区久久婷婷| 91久久国产综合久久| 国产成人av电影在线观看| 一区二区在线观看视频在线观看| 久久综合色播五月| 91精品国产综合久久久蜜臀粉嫩| 91亚洲精品久久久蜜桃| 国产电影精品久久禁18| 美女一区二区在线观看| 亚洲va中文字幕| 亚洲人成在线播放网站岛国| 久久女同性恋中文字幕| 日韩欧美二区三区| 欧美电影一区二区| 欧美综合色免费| 99精品黄色片免费大全| 丁香天五香天堂综合| 国产一区二区电影| 久99久精品视频免费观看| 亚洲国产成人porn| 亚洲精品免费在线观看| 亚洲欧洲精品一区二区精品久久久| 久久久99久久| 国产女主播视频一区二区| 久久久亚洲精品石原莉奈| 精品毛片乱码1区2区3区| 日韩网站在线看片你懂的| 7777女厕盗摄久久久| 欧美丰满少妇xxxxx高潮对白| 日本国产一区二区| 欧日韩精品视频| 欧美性生活久久| 欧美高清视频在线高清观看mv色露露十八 | 日本精品一级二级| 在线观看一区二区精品视频| 色欧美日韩亚洲| 欧美日精品一区视频| 欧美日韩不卡一区| 日韩欧美一卡二卡| 久久久99精品免费观看不卡| 欧美国产激情一区二区三区蜜月| 中日韩免费视频中文字幕| 综合在线观看色| 亚洲成人一二三| 日本 国产 欧美色综合| 国产呦萝稀缺另类资源| 欧美一区午夜精品| 26uuu国产电影一区二区| 精品盗摄一区二区三区| 久久久不卡网国产精品二区| 精品系列免费在线观看| 亚洲午夜免费福利视频| 日韩国产成人精品| 国产九色sp调教91| av电影在线观看完整版一区二区| 欧洲色大大久久| 欧美成人乱码一区二区三区| 亚洲国产精品精华液2区45| 亚洲综合区在线| 久久99精品国产.久久久久| 成人av免费在线播放| 欧美亚洲国产一区二区三区va | 欧美一卡二卡三卡| 久久久.com| 午夜视频在线观看一区二区| 国产精品99久久久久久久女警| 色琪琪一区二区三区亚洲区| 精品国产乱码久久久久久蜜臀|