dgelss_check.cpp
来自「lapack的c++版本之一.lapack是imsl,mkl,matlab等大部」· C++ 代码 · 共 91 行
CPP
91 行
//=============================================================================/*! dgelss_check_vector */void dgelss_check_vector(){ cout << "############ check dgelss vector ############" << endl; srand(time(NULL)); int M(3), N(4); long RANK(0); double RCOND(-1.0); //// make dgematrix A //// CPPL::dgematrix A(M,N); for(int i=0; i<A.m; i++){ for(int j=0; j<A.n; j++){ A(i,j) =double( rand() /(RAND_MAX/10) ); }} //// make dcovector b //// CPPL::dcovector b(M); for(int i=0; i<b.l; i++){ b(i) =double( rand() /(RAND_MAX/10) ); } //// make dcovector s //// CPPL::dcovector s; //// make A_original //// CPPL::dgematrix A_original(A); //// make A_original //// CPPL::dcovector b_original(b); //// dgels //// A.dgelss(b,s,RANK,RCOND); //// print //// cout << "A_original=\n" << A_original << endl; cout << "b_original=\n" << b_original << endl; cout << "A=\n" << A << endl; cout << "b=\n" << b << endl; cout << "s=\n" << s << endl; cout << "A_original*b=\n" << A_original*b << endl;}//=============================================================================/*! dgelss_check_matrix */void dgelss_check_matrix(){ cout << "############ check dgelss matrix ############" << endl; srand(time(NULL)); int M(3), N(4); long RANK(0); double RCOND(-1.0); //// make dgematrix A //// CPPL::dgematrix A(M,N); for(int i=0; i<A.m; i++){ for(int j=0; j<A.n; j++){ A(i,j) =double( rand() /(RAND_MAX/10) ); }} //// make dgematrix B //// CPPL::dgematrix b(M,2); for(int i=0; i<b.m; i++){ for(int j=0; j<b.n; j++){ b(i,j) =double( rand() /(RAND_MAX/10) ); } } //// make dcovector s //// CPPL::dcovector s; //// make A_original //// CPPL::dgematrix A_original(A); //// make b_original //// CPPL::dgematrix b_original(b); //// dgels //// A.dgelss(b,s,RANK,RCOND); //// print //// cout << "A_original=\n" << A_original << endl; cout << "b_original=\n" << b_original << endl; cout << "A=\n" << A << endl; cout << "b=\n" << b << endl; cout << "s=\n" << s << endl; cout << "A_original*b=\n" << A_original*b << endl;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?