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

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

?? pacematrix.java

?? 一個小型的數(shù)據(jù)挖掘器應(yīng)用軟件,綜合數(shù)據(jù)挖掘的各種功能
?? JAVA
?? 第 1 頁 / 共 3 頁
字號:
      f[j] = format(i0, i1, j, digits, trailing);    }    return f;  }    /**    * Converts matrix to string   *    * @return the matrix as string   */   public String  toString() {    return toString( 5, false );  }    /**    * Converts matrix to string   *    * @param digits number of digits after decimal point   * @param trailing true if trailing zeros are padded   * @return the matrix as string   */   public String  toString( int digits, boolean trailing ) {        if( isEmpty() ) return "null matrix";        StringBuffer text = new StringBuffer();    DecimalFormat [] nf = format( digits, trailing );    int numCols = 0;    int count = 0;    int width = 80;    int lenNumber;        int [] nCols = new int[n];    int nk=0;    for( int j = 0; j < n; j++ ) {      lenNumber = nf[j].format( A[0][j]).length();       if( count + 1 + lenNumber > width -1 ) {	nCols[nk++]  = numCols;	count = 0;	numCols = 0;      }      count += 1 + lenNumber;      ++numCols;    }    nCols[nk] = numCols;        nk = 0;    for( int k = 0; k < n; ) {      for( int i = 0; i < m; i++ ) {	for( int j = k; j < k + nCols[nk]; j++)	  text.append( " " + nf[j].format( A[i][j]) );	text.append("\n");      }      k += nCols[nk];      ++nk;      text.append("\n");    }        return text.toString();  }    /** Squared sum of a column or row in a matrix   * @param j the index of the column or row   * @param i0 the index of the first element   * @param i1 the index of the last element   * @param col if true, sum over a column; otherwise, over a row   * @return the squared sum   */  public double sum2( int j, int i0, int i1, boolean col ) {    double s2 = 0;    if( col ) {   // column       for( int i = i0; i <= i1; i++ ) 	s2 += A[i][j] * A[i][j];    }    else {      for( int i = i0; i <= i1; i++ ) 	s2 += A[j][i] * A[j][i];    }    return s2;  }    /** Squared sum of columns or rows of a matrix   * @param col if true, sum over columns; otherwise, over rows   * @return the squared sum   */  public double[] sum2( boolean col ) {    int l = col ? n : m;    int p = col ? m : n;    double [] s2 = new double[l];    for( int i = 0; i < l; i++ )       s2[i] = sum2( i, 0, p-1, col );    return s2;  }  /** Constructs single Householder transformation for a column   *   @param j    the index of the column   @param k    the index of the row   @return     d and q   */  public double [] h1( int j, int k ) {    double dq[] = new double[2];    double s2 = sum2(j, k, m-1, true);      dq[0] = A[k][j] >= 0 ? - Math.sqrt( s2 ) : Math.sqrt( s2 );    A[k][j] -= dq[0];    dq[1] = A[k][j] * dq[0];    return dq;  }    /** Performs single Householder transformation on one column of a matrix   *   @param j    the index of the column    @param k    the index of the row   @param q    q = - u'u/2; must be negative   @param b    the matrix to be transformed   @param l    the column of the matrix b  */  public void h2( int j, int k, double q, PaceMatrix b, int l ) {    double s = 0, alpha;    for( int i = k; i < m; i++ )      s += A[i][j] * b.A[i][l];    alpha = s / q;    for( int i = k; i < m; i++ )      b.A[i][l] += alpha * A[i][j];  }    /** Constructs the Givens rotation   *  @param a    *  @param b   *  @return a double array that stores the cosine and sine values   */  public double []  g1( double a, double b ) {    double cs[] = new double[2];    double r = Maths.hypot(a, b);    if( r == 0.0 ) {      cs[0] = 1;      cs[1] = 0;    }    else {      cs[0] = a / r;      cs[1] = b / r;    }    return cs;  }    /** Performs the Givens rotation   * @param cs a array storing the cosine and sine values   * @param i0 the index of the row of the first element   * @param i1 the index of the row of the second element   * @param j the index of the column   */  public void  g2( double cs[], int i0, int i1, int j ){    double w =   cs[0] * A[i0][j] + cs[1] * A[i1][j];    A[i1][j] = - cs[1] * A[i0][j] + cs[0] * A[i1][j];    A[i0][j] = w;  }    /** Forward ordering of columns in terms of response explanation.  On   *  input, matrices A and b are already QR-transformed. The indices of   *  transformed columns are stored in the pivoting vector.   *     *@param b     the PaceMatrix b   *@param pvt   the pivoting vector   *@param k0    the first k0 columns (in pvt) of A are not to be changed   **/  public void forward( PaceMatrix b, IntVector pvt, int k0 ) {    for( int j = k0; j < Math.min(pvt.size(), m); j++ ) {      steplsqr( b, pvt, j, mostExplainingColumn(b, pvt, j), true );    }  }  /** Returns the index of the column that has the largest (squared)   *  response, when each of columns pvt[ks:] is moved to become the   *  ks-th column. On input, A and b are both QR-transformed.   *     * @param b    response   * @param pvt  pivoting index of A   * @param ks   columns pvt[ks:] of A are to be tested    * @return the index of the column   */  public int  mostExplainingColumn( PaceMatrix b, IntVector pvt, int ks ) {    double val;    int [] p = pvt.getArray();    double ma = columnResponseExplanation( b, pvt, ks, ks );    int jma = ks;    for( int i = ks+1; i < pvt.size(); i++ ) {      val = columnResponseExplanation( b, pvt, i, ks );      if( val > ma ) {	ma = val;	jma = i;      }    }    return jma;  }    /** Backward ordering of columns in terms of response explanation.  On   *  input, matrices A and b are already QR-transformed. The indices of   *  transformed columns are stored in the pivoting vector.   *    *  A and b must have the same number of rows, being the (pseudo-)rank.    *     * @param b     PaceMatrix b   * @param pvt   pivoting vector   * @param ks    number of QR-transformed columns; psuedo-rank of A    * @param k0    first k0 columns in pvt[] are not to be ordered.   */  public void backward( PaceMatrix b, IntVector pvt, int ks, int k0 ) {    for( int j = ks; j > k0; j-- ) {      steplsqr( b, pvt, j, leastExplainingColumn(b, pvt, j, k0), false );    }  }  /** Returns the index of the column that has the smallest (squared)   *  response, when the column is moved to become the (ks-1)-th   *  column. On input, A and b are both QR-transformed.   *     * @param b    response   * @param pvt  pivoting index of A   * @param ks   psudo-rank of A   * @param k0   A[][pvt[0:(k0-1)]] are excluded from the testing.   * @return the index of the column   */  public int  leastExplainingColumn( PaceMatrix b, IntVector pvt, int ks, 				     int k0 ) {    double val;    int [] p = pvt.getArray();    double mi = columnResponseExplanation( b, pvt, ks-1, ks );    int jmi = ks-1;    for( int i = k0; i < ks - 1; i++ ) {      val = columnResponseExplanation( b, pvt, i, ks );      if( val <= mi ) {	mi = val;	jmi = i;      }    }    return jmi;  }    /** Returns the squared ks-th response value if the j-th column becomes   *  the ks-th after orthogonal transformation.  A[][pvt[ks:j]] (or   *  A[][pvt[j:ks]], if ks > j) and b[] are already QR-transformed   *  on input and will remain unchanged on output.   *   *  More generally, it returns the inner product of the corresponding   *  row vector of the response PaceMatrix. (To be implemented.)   *   *@param b    PaceMatrix b   *@param pvt  pivoting vector   *@param j    the column A[pvt[j]][] is to be moved   *@param ks   the target column A[pvt[ks]][]   *@return     the squared response value */  public double  columnResponseExplanation( PaceMatrix b, IntVector pvt,					    int j, int ks ) {    /*  Implementation:      *     *  If j == ks - 1, returns the squared ks-th response directly.     *     *  If j > ks -1, returns the ks-th response after     *  Householder-transforming the j-th column and the response.     *     *  If j < ks - 1, returns the ks-th response after a sequence of     *  Givens rotations starting from the j-th row. */    int k, l;    double [] xxx = new double[n];    int [] p = pvt.getArray();    double val;        if( j == ks -1 ) val = b.A[j][0];    else if( j > ks - 1 ) {      int jm = Math.min(n-1, j);      DoubleVector u = getColumn(ks,jm,p[j]);      DoubleVector v = b.getColumn(ks,jm,0);      val = v.innerProduct(u) / u.norm2();    }    else {                 // ks > j      for( k = j+1; k < ks; k++ ) // make a copy of A[j][]	xxx[k] = A[j][p[k]];      val = b.A[j][0];      double [] cs;      for( k = j+1; k < ks; k++ ) {	cs = g1( xxx[k], A[k][p[k]] );	for( l = k+1; l < ks; l++ ) 	  xxx[l] = - cs[1] * xxx[l] + cs[0] * A[k][p[l]];	val = - cs[1] * val + cs[0] * b.A[k][0];      }    }    return val * val;  // or inner product in later implementation???  }  /**    * QR transformation for a least squares problem<br/>   *            A x = b<br/>   * implicitly both A and b are transformed. pvt.size() is the psuedo-rank of    * A.   *     * @param b    PaceMatrix b   * @param pvt  pivoting vector   * @param k0   the first k0 columns of A (indexed by pvt) are pre-chosen.    *            (But subject to rank examination.)    *    *            For example, the constant term may be reserved, in which   *            case k0 = 1.   **/  public void  lsqr( PaceMatrix b, IntVector pvt, int k0 ) {    final double TINY = 1e-15;    int [] p = pvt.getArray();    int ks = 0;  // psuedo-rank    for(int j = 0; j < k0; j++ )   // k0 pre-chosen columns      if( sum2(p[j],ks,m-1,true) > TINY ){ // large diagonal element 	steplsqr(b, pvt, ks, j, true);	ks++;      }      else {                     // collinear column	pvt.shiftToEnd( j );	pvt.setSize(pvt.size()-1);	k0--;	j--;      }	    // initial QR transformation    for(int j = k0; j < Math.min( pvt.size(), m ); j++ ) {      if( sum2(p[j], ks, m-1, true) > TINY ) { 	steplsqr(b, pvt, ks, j, true);	ks++;      }      else {                     // collinear column	pvt.shiftToEnd( j );	pvt.setSize(pvt.size()-1);	j--;      }    }	    b.m = m = ks;           // reset number of rows    pvt.setSize( ks );  }      /** QR transformation for a least squares problem <br/>   *            A x = b <br/>   * implicitly both A and b are transformed. pvt.size() is the psuedo-rank of A.   *     * @param b    PaceMatrix b   * @param pvt  pivoting vector   * @param k0   the first k0 columns of A (indexed by pvt) are pre-chosen.    *            (But subject to rank examination.)    *    *            For example, the constant term may be reserved, in which   *            case k0 = 1.   **/  public void  lsqrSelection( PaceMatrix b, IntVector pvt, int k0 ) {    int numObs = m;         // number of instances    int numXs = pvt.size();    lsqr( b, pvt, k0 );    if( numXs > 200 || numXs > numObs ) { // too many columns.        forward(b, pvt, k0);    }    backward(b, pvt, pvt.size(), k0);  }      /**    * Sets all diagonal elements to be positive (or nonnegative) without   * changing the least squares solution    * @param Y the response   * @param pvt the pivoted column index   */  public void positiveDiagonal( PaceMatrix Y, IntVector pvt ) {         int [] p = pvt.getArray();    for( int i = 0; i < pvt.size(); i++ ) {      if( A[i][p[i]] < 0.0 ) {	for( int j = i; j < pvt.size(); j++ ) 	  A[i][p[j]] = - A[i][p[j]];	Y.A[i][0] = - Y.A[i][0];      }    }  }  /** Stepwise least squares QR-decomposition of the problem   *	          A x = b   @param b    PaceMatrix b   @param pvt  pivoting vector   @param ks   number of transformed columns   @param j    pvt[j], the column to adjoin or delete   @param adjoin   to adjoin if true; otherwise, to delete */  public void  steplsqr( PaceMatrix b, IntVector pvt, int ks, int j, 

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线精品视频一区二区| 免费av成人在线| 91在线观看成人| 一区二区三区美女视频| 欧美日韩免费电影| 蜜臀91精品一区二区三区| 久久精品人人爽人人爽| 国产精品538一区二区在线| 中文字幕在线视频一区| 日本一区二区在线不卡| 成人精品免费看| 一区二区三区免费网站| 91精品欧美一区二区三区综合在| 久久超碰97中文字幕| 国产精品高清亚洲| 欧美日韩免费电影| 粉嫩av一区二区三区在线播放| 亚洲欧美福利一区二区| 91精品国产免费| 国产91露脸合集magnet| 亚洲伦理在线精品| 欧美精品一区二区三| av电影在线观看一区| 日韩激情中文字幕| 国产午夜亚洲精品羞羞网站| 在线看国产一区| 国产九色sp调教91| 亚洲一二三四久久| 久久久久久久电影| 精品视频在线免费看| 国产黄色精品网站| 午夜精品久久久久久久99水蜜桃 | 国产美女主播视频一区| 国产精品久久久久aaaa| 在线不卡一区二区| 成人禁用看黄a在线| 日本不卡视频在线| 亚洲激情第一区| 国产日韩高清在线| 91精品国产综合久久蜜臀| 成人h动漫精品一区二| 麻豆精品久久精品色综合| 亚洲人妖av一区二区| 久久婷婷一区二区三区| 欧美丰满高潮xxxx喷水动漫 | 99re6这里只有精品视频在线观看| 日韩高清一级片| 一区二区成人在线观看| 国产欧美精品日韩区二区麻豆天美| 91精品国产手机| 在线观看国产一区二区| 99re成人精品视频| 成人午夜看片网址| 国产精品1024| 国产在线精品一区二区不卡了| 香蕉av福利精品导航| 亚洲午夜在线视频| 亚洲精品久久嫩草网站秘色| 国产精品乱人伦中文| 欧美激情综合五月色丁香 | 国产精品久久夜| 久久精品在线免费观看| 欧美不卡激情三级在线观看| 欧美老女人第四色| 欧美日韩大陆一区二区| 欧美日韩精品一区二区三区| 日本道免费精品一区二区三区| 91在线高清观看| 一本色道久久综合亚洲精品按摩| 国产91丝袜在线播放| 国产一区二区视频在线播放| 久久91精品国产91久久小草| 老司机一区二区| 免费观看在线色综合| 丝袜a∨在线一区二区三区不卡| 亚洲线精品一区二区三区八戒| 亚洲已满18点击进入久久| 亚洲一区二区3| 午夜亚洲福利老司机| 天堂精品中文字幕在线| 麻豆成人av在线| 韩国成人在线视频| 国产精品1区2区| 成人丝袜18视频在线观看| jlzzjlzz欧美大全| 一本一道久久a久久精品综合蜜臀| 在线观看精品一区| 91麻豆精品国产无毒不卡在线观看| 欧美三区在线视频| 日韩欧美高清在线| 久久精品人人做人人综合| 国产精品国产三级国产| 亚洲影视在线观看| 美国欧美日韩国产在线播放| 国产专区综合网| aaa亚洲精品一二三区| 欧美亚洲图片小说| 欧美肥妇毛茸茸| 国产日韩欧美高清| 亚洲伦在线观看| 男女男精品网站| 成人丝袜18视频在线观看| 欧美影片第一页| 精品国产网站在线观看| 国产精品伦一区二区三级视频| 亚洲综合激情另类小说区| 日韩av网站免费在线| 国产一区二区三区不卡在线观看 | 欧美中文字幕一区二区三区亚洲| 欧美理论片在线| 久久久99久久| 亚洲主播在线观看| 国产一区免费电影| 色香色香欲天天天影视综合网| 欧美一区二区人人喊爽| 国产精品理伦片| 蜜桃av一区二区三区| 99久久国产综合精品女不卡| 51午夜精品国产| 亚洲欧美视频一区| 国产一区二区中文字幕| 在线观看免费视频综合| 国产婷婷色一区二区三区四区| 亚洲国产你懂的| 99久久精品免费看| 日韩欧美成人激情| 亚洲精品免费电影| 成人一区二区三区| 欧美成人在线直播| 亚洲成人精品在线观看| 91色在线porny| 国产欧美一区二区精品久导航 | 国产日韩精品视频一区| 日日嗨av一区二区三区四区| 99精品欧美一区二区蜜桃免费| 日韩美女一区二区三区四区| 亚洲伊人色欲综合网| 波多野结衣欧美| 久久久久99精品一区| 免费观看成人av| 欧美久久久久久久久| 亚洲激情第一区| 91麻豆国产精品久久| 欧美国产亚洲另类动漫| 精品一区二区三区免费毛片爱| 欧美高清一级片在线| 一区二区三区日本| 99久久免费精品| 欧美国产激情一区二区三区蜜月| 看电影不卡的网站| 日韩无一区二区| 日韩va亚洲va欧美va久久| 欧美视频一区二区三区在线观看| 一区二区中文视频| www.一区二区| 中文字幕一区三区| 不卡视频在线观看| 国产精品网站在线观看| 国产成人免费在线视频| 精品国产一区二区三区忘忧草 | 欧美中文字幕不卡| 亚洲欧美一区二区三区极速播放| 成人免费av在线| 国产精品伦一区二区三级视频| 国产91精品精华液一区二区三区| 久久无码av三级| 国产精品一级黄| 国产午夜亚洲精品理论片色戒| 国产自产高清不卡| 国产无人区一区二区三区| 大白屁股一区二区视频| 国产香蕉久久精品综合网| 成人午夜精品一区二区三区| 国产精品对白交换视频| 日本电影亚洲天堂一区| 亚洲电影你懂得| 日韩丝袜情趣美女图片| 国模套图日韩精品一区二区| 国产欧美精品在线观看| 97精品国产露脸对白| 亚洲午夜在线电影| 日韩精品一区二区三区四区视频 | 色综合一区二区| 亚洲午夜激情网站| 日韩一区二区三区电影 | yourporn久久国产精品| 亚洲精品乱码久久久久久久久 | 高清免费成人av| 中文字幕日韩精品一区| 欧美系列日韩一区| 日本欧美一区二区| 久久嫩草精品久久久精品一| 不卡一区二区三区四区| 午夜精品福利在线| 久久精品夜夜夜夜久久| 99久久777色| 蜜臀久久99精品久久久画质超高清| 久久久精品国产99久久精品芒果| 99久久久久免费精品国产| 天天色 色综合|