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

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

?? mtl2lapack.h

?? Matrix_Template_Library.rar c++矩陣模塊庫函數
?? H
?? 第 1 頁 / 共 3 頁
字號:
    int              _info;    /*make_sure tau's size is greater than or equal to min(m,n)*/    if (int(tau.size()) < MTL_MIN(_m,_n))      return -105;    mtl_lapack_dispatch::geqpf(_m, _n, _a, _lda, jpivot.data(), tau.data(),                               _info);    a.set_contiguous(_a);    return _info;  }    //: QR Factorization of a General Matrix  //  //   QR Factorization of a MxN General Matrix A.  // <UL>  //   <LI> a       (IN/OUT - matrix(M,N)) On entry, the coefficient matrix A. On exit , the upper triangle and diagonal is the min(M,N) by N upper triangular matrix R.  The lower triangle, together with the tau vector, is the orthogonal matrix Q as a product of min(M,N) elementary reflectors.  //  //   <LI> tau     (OUT - vector (min(M,N))) Vector of the same numerical type as A. The scalar factors of the elementary reflectors.  //  //   <LI> info    (OUT - <tt>int</tt>)  //   0   : function completed normally  //   < 0 : The ith argument, where i = abs(return value) had an illegal value.  // </UL>  //!component: function  //!category: mtl2lapack  template <class LapackMatA,class VectorT>  int geqrf (LapackMatA& a,	     VectorT & tau)  {    int              _m = a.nrows();    int              _n = a.ncols();    int              _lda = a.minor() ;    int              _info;     /*make_sure tau's size is greater than or equal to min(m,n)*/    if (int(tau.size()) < MTL_MIN(_n, _m))      return -104;    /*call dispatcher*/    mtl_lapack_dispatch::geqrf(_m, _n, a.data(), _lda, tau.data(), _info);    return _info;  }   //: Solution to a linear system in a general matrix.  //  //   Computes the solution to a real system of linear equations A*X=B  //   (simple driver).  LU decomposition with partial pivoting and row  //   interchanges is used to solve the system.  // <UL>  //   <LI> a       (IN/OUT - matrix(M,N)) On entry, the coefficient matrix A, and the factors L and U from the factorization A = P*L*U on exit.  //  //   <LI> ipivot  (OUT - vector(N)) Integer vector. The row i of A was interchanged with row IPIV(i).  //  //   <LI> b        (IN/OUT - matrix(ldb,NRHS)) Matrix of same numerical type as A. On entry, the NxNRHS matrix of the right hand side matrix B. On a successful exit, it is the NxNRHS solution matrix X.  //  //   <LI> info     (OUT - <tt>int</tt>)  //   0     : function completed normally  //   < 0   : The ith argument, where i = abs(return value) had an illegal value.  //   > 0   : U(i,i), where i = return value, is exactly zero and U is therefore singular. The LU factorization has been completed, but the solution could not be computed.  // </UL>  //!component: function  //!category: mtl2lapack  template <class LapackMatA, class LapackMatB, class VectorInt>  int gesv (LapackMatA& a,	    VectorInt & ipivot,	    LapackMatB& b)  {    int              _lda = a.minor();      int              _n = a.ncols();    int              _nrhs = b.ncols();     int              _ldb = b.nrows();     int              _info;    /* make sure matrices are same size */    if (int(a.nrows()) != int(b.nrows()))      return -100;    /* make sure ipivot is big enough */    if (int(ipivot.size()) < _n)      return -104;    /* call dispatcher */    mtl_lapack_dispatch::gesv(_n, _nrhs, a.data(), _lda, ipivot.data(),			      b.data(), _ldb, _info);    return _info;  }  //: LU factorization of a general matrix A.    //    Computes an LU factorization of a general M-by-N matrix A using  //    partial pivoting with row interchanges. Factorization has the form  //    A = P*L*U.  // <UL>  //   <LI> a       (IN/OUT - matrix(M,N)) On entry, the coefficient matrix A to be factored. On exit, the factors L and U from the factorization A = P*L*U.  //  //   <LI> ipivot  (OUT - vector(min(M,N))) Integer vector. The row i of A was interchanged with row IPIV(i).  //  //   <LI> info    (OUT - <tt>int</tt>)  //   0   :  successful exit  //   < 0 :  If INFO = -i, then the i-th argument had an illegal value.  //   > 0 :  If INFO = i, then U(i,i) is exactly zero. The  factorization has been completed, but the factor U is exactly singular, and division by zero will occur if it is used to solve a system of equations.  //  // </UL>  //  //!component: function  //!category: mtl2lapack  template <class LapackMatrix, class VectorInt>  int getrf (LapackMatrix& a,	     VectorInt& ipivot)  {    typename LapackMatrix::value_type* _a = a.data();    int _lda = a.minor();    int _n = a.ncols();    int _m = a.nrows();    int _info;        mtl_lapack_dispatch::getrf (_m, _n,	_a, _lda, ipivot.data(), _info);    return _info;  }  //:  Solution to a system using LU factorization   //   Solves a system of linear equations A*X = B with a general NxN  //   matrix A using the LU factorization computed by GETRF.  // <UL>  //   <LI> transa  (IN - char)  'T' for the transpose of A, 'N' otherwise.  //  //   <LI> a       (IN - matrix(M,N)) The factors L and U from the factorization A = P*L*U as computed by GETRF.  //  //   <LI> ipivot  (IN - vector(min(M,N))) Integer vector. The pivot indices from GETRF; row i of A was interchanged with row IPIV(i).  //  //   <LI> b       (IN/OUT - matrix(ldb,NRHS)) Matrix of same numerical type as A. On entry, the right hand side matrix B. On exit, the solution matrix X.  //  //   <LI> info    (OUT - <tt>int</tt>)  //   0   : function completed normally  //   < 0 : The ith argument, where i = abs(return value) had an illegal value.  //   > 0 : if INFO =  i,  U(i,i)  is  exactly  zero;  the  matrix is singular and its inverse could not be computed.  // </UL>  //!component: function  //!category: mtl2lapack  template <class LapackMatrixA, class LapackMatrixB, class VectorInt>  int getrs (char transa, LapackMatrixA& a,	     VectorInt& ipivot, LapackMatrixB& b)  {    typename LapackMatrixA::value_type* _a = a.data();    int _lda = a.minor();    int a_n = a.nrows();    int b_n = b.nrows();    int p_n = ipivot.size();    typename LapackMatrixB::value_type* _b = b.data();    int _ldb = b.minor();    int _nrhs = b.ncols(); /* B's ncols is the # of vectors on rhs */    if (a_n != b_n) /*Test to see if AX=B has correct dimensions */      return -101;    if (p_n < a_n)     /*Check to see if ipivot is big enough */      return -102;    int _info;    mtl_lapack_dispatch::getrs (transa, a_n, _nrhs, _a,	_lda, ipivot.data(), 				_b, _ldb, _info);        return _info;  }   inline  void error_message(int ret_val)   {    if (ret_val==0)      std::cerr << "No error" << std::endl;    else if (ret_val > 0)      std::cerr << "Computational error." << std::endl;    else if (ret_val > -101)      std::cerr << "Argument #" 		<< -ret_val 		<< " of lapack subroutine had an illegal value."		<< std::endl;    else      std::cerr << "Argument #"		<< -(ret_val+100)		<< "of mtl_lapack subroutine had an illegal value."		<< std::endl;  }   //: Equilibrate and reduce condition number.  //  Compute row and column scaling inteded to equilibrate an M-by-N  //  matrix A and reduce its condition number.  // <UL>  //   <LI> a       (IN - matrix(M,N)) The M-by-N matrix whose equilibration factors are to be computed.  //  //   <LI> r       (OUT - vector(M)) Real vector. If INFO = 0 or INFO > M, R contains  the  row  scale factors for A.  //  //   <LI> c       (OUT - vector(N)) Real vector. If INFO = 0,  C contains the  column  scale  factors for A.  //  //   <LI> row_cond (OUT - Real number) If INFO = 0 or INFO > M, ROWCND contains  the  ratio of the smallest R(i) to the largest R(i).  If ROWCND >= 0.1 and AMAX is neither too large nor too  small, it is not worth scaling by R.  //  //   <LI> col_cond (OUT - Real number) If INFO = 0, COLCND contains the ratio of the  smallest C(i) to the largest C(i).  If COLCND >= 0.1, it is not worth scaling by C.  //  //   <LI> amax    (OUT - Real number) Absolute value of largest matrix element. If  AMAX is  very  close  to overflow or very close to underflow, the matrix should be scaled.  //  // </UL>  //!component: function  //!category: mtl2lapack  template <class LapackMatA, class VectorReal, class Real>  int geequ(const LapackMatA& a, VectorReal& r, VectorReal& c, 		   Real& row_cond, Real& col_cond, Real& amax)  {    int lda = a.minor();    int m = a.nrows();    int n = a.ncols();    int info;    mtl_lapack_dispatch::geequ(m, n, a.data(), lda,  r.data(), c.data(),			       row_cond, col_cond, amax, info);    return info;  }  //:  Compute an LQ factorization.  //  Compute an LQ factorization of a M-by-N matrix A.  // <UL>  //   <LI> a     (IN/OUT - matrix(M,N)) On entry, the M-by-N matrix A.  On  exit, the  elements on and below the diagonal of the array contain the m-by-min(m,n) lower trapezoidal matrix L  (L  is lower  triangular if m <= n); the elements above the diagonal, with the array TAU, represent the  unitary matrix  Q as a product of elementary reflectors.  //  //   <LI> tau   (OUT - vector(min(M,N)) The scalar factors of the elementary reflectors.  // </UL>  //!component: function  //!category: mtl2lapack  template <class LapackMatA, class VectorT>  int gelqf(LapackMatA& a, VectorT& tau)  {    int lda = a.minor();    int m = a.nrows();    int n = a.ncols();    if (int(tau.size()) < MTL_MIN(m,n))      return -104;    int info;    mtl_lapack_dispatch::gelqf(m, n, a.data(), lda, tau.data(), info);    return info;      }  //: Compute least squares solution using svd for Ax = b  //  Compute least squares solution using svd for Ax = b  //  A is m by n, x is length n, b is length m  template <class LapackMatA, class VectorT>  int gelss(LapackMatA& a,	    VectorT& x,	    VectorT& b,	    double tol=1.e-6)  {    int lda = a.minor();    int m   = a.nrows();    int n   = a.ncols();    int ldb = b.size();    int info, rank;    const int max_length = MTL_MAX(b.size(), x.size());    typedef typename VectorT::value_type T;    T *rhs_data = new T[max_length];        for (int i = 0; i < b.size(); ++i)      rhs_data[i] = b[i];    mtl_lapack_dispatch::gelss(m, n, 1, a.data(), lda,			       rhs_data, max_length, tol, rank, info);    for (int i = 0; i < x.size(); ++i)      x[i] = rhs_data[i];    delete [] rhs_data;    return info;      }  /*  template <class LapackMatA, class VectorT>  int gelss(LapackMatA& a, VectorT& b, double tol=1.e-6)  {    int lda = a.minor();    int m = a.nrows();    int n = a.ncols();    int ldb = b.size();    int info, rank;    mtl_lapack_dispatch::gelss(m, n, 1, a.data(), lda, 			       b.data(), ldb, tol, rank, info);    return info;      }  */  //:  Generate a matrix Q with orthonormal rows.  //  Generate an M-by-N real matrix Q with orthonormal rows.  // <UL>  //   <LI> a     (IN/OUT - matrix(M,N) On entry, the i-th row must contain the vector which defines the  elementary  reflector  H(i),  for  i  = 1,2,...,k, as returned by GELQF in the first k rows of its array argument A.  On exit, the M-by-N matrix Q.  //  //   <LI> tau   (IN - vector(K)) tau[i] must contain the scalar factor of the elementary reflector H(i), as returned by GELQF.  // </UL>  //!component: function  //!category: mtl2lapack  template <class LapackMatA, class VectorT>  int orglq(LapackMatA& a, const VectorT& tau)  {    int lda = a.minor();    int m = a.nrows();    int n = a.ncols();    int info;    mtl_lapack_dispatch::orglq(m, n, tau.size(), a.data(), lda,			       tau.data(), info);    return info;  }//: Generate a matrix Q with orthonormal columns.  //  Generate an M-by-N real matrix Q with orthonormal columns.  // <UL>  //  <LI> a     (IN/OUT - matrix(M,N) On  entry,  the  i-th column must contain the vector which defines the elementary reflector H(i), for i = 1,2,...,k,  as  returned  by GEQRF  in the first k columns of its array argument A.  On  exit, the  M-by-N matrix Q.  //  //  <LI> tau   (IN - vector(K)) tau[i] must contain the scalar factor of the elementary reflector H(i), as returned by GEQRF.  // </UL>  //  //!component: function  //!category: mtl2lapack  template <class LapackMatA, class VectorT>  int orgqr(LapackMatA& a, const VectorT& tau)  {    int lda = a.minor();    int m = a.nrows();    int n = a.ncols();    int info;    mtl_lapack_dispatch::orgqr(m, n, tau.size(), a.data(), lda,			       tau.data(), info);    return info;  }  template <class LapackMatA, class VectorT, class LapackMatU, class LapackMatVT>  int gesvd(const char& jobu, const char& jobvt, LapackMatA& a, VectorT& s, 	    LapackMatU& u, LapackMatVT& vt)  {    int info;    const int lda = a.minor();    const int m = a.nrows();    const int n = a.ncols();    const int ldu = u.minor();    const int ldvt = vt.minor();    mtl_lapack_dispatch::gesvd(jobu, jobvt, m, n, a.data(), lda, s.data(),			       u.data(), ldu, vt.data(), ldvt, info);    return info;  }} /* namespace mtl2lapack */#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品成人免费观看| 亚洲一二三专区| 亚洲国产毛片aaaaa无费看| 老汉av免费一区二区三区| 97精品久久久久中文字幕| 日韩欧美一级二级三级| 一区二区三区在线观看网站| 国产一区啦啦啦在线观看| 9191国产精品| 曰韩精品一区二区| 99久久久无码国产精品| 久久综合九色综合97婷婷| 日本vs亚洲vs韩国一区三区| 欧美主播一区二区三区| |精品福利一区二区三区| 国产**成人网毛片九色| 亚洲精品一线二线三线无人区| 亚洲专区一二三| 日本电影欧美片| ㊣最新国产の精品bt伙计久久| 国产精品小仙女| 精品国产一区二区在线观看| 男女男精品网站| 7777精品伊人久久久大香线蕉的 | 成人短视频下载| 精品国产91九色蝌蚪| 日韩在线a电影| 欧美区在线观看| 视频在线观看91| 欧美一区二区三区男人的天堂| 亚洲高清免费在线| 欧美美女直播网站| 丝袜诱惑亚洲看片| 欧美日韩国产一区| 日韩经典中文字幕一区| 911精品产国品一二三产区| 亚洲国产日韩在线一区模特| 欧美日韩在线三级| 日韩精品成人一区二区三区| 日韩一区二区免费视频| 久久国产夜色精品鲁鲁99| 精品国产欧美一区二区| 精品影视av免费| 国产亚洲午夜高清国产拍精品| 成人午夜视频在线观看| 亚洲图片另类小说| 欧美性感一类影片在线播放| 亚洲一区二区三区四区在线| 欧美情侣在线播放| 韩国成人在线视频| 国产精品国产三级国产a| 色婷婷av久久久久久久| 无吗不卡中文字幕| 亚洲精品一区在线观看| 波多野结衣中文字幕一区二区三区| 亚洲三级免费观看| 欧美一区在线视频| 国产成人aaaa| 亚洲一二三四在线观看| 欧美电视剧在线观看完整版| 成人免费av在线| 一区av在线播放| 久久久午夜电影| 色呦呦国产精品| 裸体一区二区三区| 亚洲国产经典视频| 欧美日韩一区成人| 国产精品亚洲第一区在线暖暖韩国| 日韩美女视频19| 日韩欧美久久一区| 99久久免费精品| 韩日欧美一区二区三区| 亚洲在线视频免费观看| 日韩欧美在线网站| 色偷偷久久一区二区三区| 久久精品免费观看| 亚洲欧美日韩中文播放 | 欧美精品色综合| 风流少妇一区二区| 天天亚洲美女在线视频| 国产精品毛片大码女人| 欧美成人性战久久| 欧美在线观看一区二区| 国产成人午夜精品影院观看视频| 婷婷成人综合网| 1000精品久久久久久久久| 久久蜜桃香蕉精品一区二区三区| 欧美男生操女生| 91麻豆自制传媒国产之光| 国产一区二区三区av电影| 性做久久久久久免费观看| 精品不卡在线视频| 91精品国产综合久久香蕉的特点 | 18涩涩午夜精品.www| 久久无码av三级| 日韩视频在线你懂得| 欧美日韩不卡一区| 在线亚洲一区二区| voyeur盗摄精品| 国产麻豆精品视频| 麻豆成人在线观看| 麻豆视频一区二区| 日韩1区2区日韩1区2区| 中文字幕在线免费不卡| 国产色一区二区| www日韩大片| 欧美tickling挠脚心丨vk| 51精品秘密在线观看| 欧美日韩视频专区在线播放| 在线一区二区三区四区五区| 在线观看三级视频欧美| 色婷婷综合久色| 在线观看中文字幕不卡| 91成人在线免费观看| 在线免费精品视频| 欧美性感一类影片在线播放| 在线观看区一区二| 欧美色精品天天在线观看视频| 欧美中文字幕一二三区视频| 欧美三级中文字幕| 欧美一区二区三区四区在线观看 | 精品福利一二区| 日韩精品在线一区| 久久综合九色综合欧美就去吻 | 在线观看三级视频欧美| 欧美日韩一区不卡| 欧美一卡二卡在线| 26uuu精品一区二区| 国产精品污www在线观看| 亚洲欧美另类在线| 亚洲一区二区三区美女| 日韩成人精品在线观看| 国产乱码一区二区三区| 9色porny自拍视频一区二区| 日本电影欧美片| 欧美电视剧在线观看完整版| 国产欧美日韩久久| 一级女性全黄久久生活片免费| 天天色 色综合| 久久99久久久欧美国产| 99久久99久久精品国产片果冻| 欧美影片第一页| 久久一区二区视频| 亚洲精选视频在线| 蜜臀av性久久久久蜜臀av麻豆| 国产福利一区二区三区| 91小视频在线观看| 91 com成人网| 中文字幕免费观看一区| 亚洲高清在线视频| 国产不卡视频在线观看| 欧美日韩国产色站一区二区三区| 久久色.com| 天天做天天摸天天爽国产一区| 国产精品白丝av| 欧美色手机在线观看| 久久久久久亚洲综合影院红桃| 亚洲自拍偷拍综合| 国产精品69毛片高清亚洲| 欧美日本视频在线| 国产精品人成在线观看免费| 日韩av电影一区| 一本一道波多野结衣一区二区| 日韩一级免费观看| 一区二区三区资源| 成人网在线免费视频| 5566中文字幕一区二区电影| 中文字幕一区二区三区四区 | 99国产精品久久久久久久久久| 7777女厕盗摄久久久| 亚洲美女电影在线| 国产精品一区在线观看乱码| 91精品在线免费观看| 亚洲无人区一区| 色婷婷亚洲一区二区三区| 国产欧美一区二区精品性色超碰| 捆绑紧缚一区二区三区视频| 欧美麻豆精品久久久久久| 中文字幕在线一区二区三区| 国产一区二区三区在线观看免费视频| 欧美色成人综合| 亚洲国产视频网站| 在线中文字幕一区二区| 亚洲欧美色图小说| av爱爱亚洲一区| 国产精品免费视频观看| 国产成人一区二区精品非洲| 欧美videos中文字幕| 美女视频免费一区| 777午夜精品视频在线播放| 一区二区三区国产豹纹内裤在线| 成人免费av资源| 中文字幕一区二区不卡| 成人精品亚洲人成在线| 中文字幕不卡三区| 成人av网站大全| 中文字幕va一区二区三区| 成人黄色免费短视频| 亚洲欧洲日本在线| 日本道色综合久久|