tgfqrc.cc

来自「LAPACK++ (Linear Algebra PACKage in C++)」· CC 代码 · 共 77 行

CC
77
字号
#define LA_BOUNDS_CHECK#include <stdlib.h>#include "lafnames.h"#include LA_GEN_MAT_COMPLEX_H#include LA_GEN_QR_FACT_COMPLEX_H#include LA_UTIL_H#include LA_GENERATE_MAT_DOUBLE_H#include LA_EXCEPTION_Hbool output = true;void test(int M, int N){    LaGenMatComplex A(M,N);    //LaVectorComplex x(N), b(M);    //bool error = false;#ifndef HPPA    const char fname[] = "TestGenLinearSolve(LaGenMat, x, b) ";#else    char *fname = NULL;#endif    //double norm;    //double res;    LaRandUniform(A, -1, 1);    // save a snapshot of what A looked like before the solution    LaGenMatComplex old_A = A;    if (output)	std::cout << fname << ": testing LaGenQRFactComplex M= "<< M	      << " N = " << N << " for A = " << A << std::endl;    LaGenQRFactComplex F(A);    if (output)	std::cout << fname << ": resulting A = " << A << std::endl;    }int main(int argc, char **argv){    std::cout.precision(4);    std::cout.setf(std::ios::scientific, std::ios::floatfield);    LaException::enablePrint(true);    if (argc < 2)    {        std::cerr << "Usage " << argv[0] << " M [ N ] " << std::endl;        exit(1);    }    int M = atoi(argv[1]);    int N;    if (argc < 3)	N = M;    else 	N = ( atoi(argv[2]) > 0 ? atoi(argv[2]) : M );    if (argc > 2)	if (std::string(argv[2])=="q" || 	    (argc > 3 && std::string(argv[3])=="q") )	    output = false;    if (output)	std::cout << "Testing " << M << " x " << N << " system." << std::endl;    test(M,N);    return 0;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?