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

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

?? ezmtltest.cpp

?? 矩陣運算的模板類
?? CPP
?? 第 1 頁 / 共 3 頁
字號:
		A(3,1)=5; A(3,2)=6;

		Svd(A,U,S,V);
		A.Print(cout,"  A");
		U.Print(cout,"  U");
		S.Print(cout,"  S");
		V.Print(cout,"  V");
		(A-U*S*Transpose(V)).Print(cout, "  A-U*S*V\'=0");

		A.Resize(3,3);
		A(1,1)=1; A(1,2)=2; A(1,3)=3; 
		A(2,1)=4; A(2,2)=5; A(2,3)=6; 
		A(3,1)=7; A(3,2)=8; A(3,3)=0;

		Svd(A,U,S,V);
		A.Print(cout,"  A");
		U.Print(cout,"  U");
		S.Print(cout,"  S");
		V.Print(cout,"  V");
		(A-U*S*Transpose(V)).Print(cout, "  A-U*S*V\'=0");

		int i,k,m,n;
		for(k=1;k<=3;k++){
			if(k==1)     { m=20; n=20; }
			else if(k==2){ m=30; n=10; }
			else if(k==3){ m=10; n=30; }
			cout << "  -----------------------------------------------------\n";
			cout << "  Testing with random matrices " << m << "x" << n << endl;
			cout << "  -----------------------------------------------------\n";
			for(i=1;i<=10;i++){
				A=Matrix<float>::Randn(m,n);
				isOK=Svd(A,U,S,V);
				if(isOK==0){
					cerr << "ERROR1 in SVD()\n";
				}
				B=U*S*Transpose(V);
				if((A-B).IsZero(1e-5)==0){
					cerr << "ERROR2 in SVD()\n";
					//(A-B).Print(cout,"A-U*S*V\'");
				}
				cout << "  Matrix " << i << " OK.\n";
			}
			
		}
		cout << "-----------------------------------------------------\n";
		cout << "Solving linear equations: A * x = b" << endl;
		cout << "-----------------------------------------------------\n";
		A.Resize(3,3);
		A(1,1)=1; A(1,2)=2; A(1,3)=3; 
		A(2,1)=4; A(2,2)=5; A(2,3)=6; 
		A(3,1)=7; A(3,2)=8; A(3,3)=0;
		Vector<float> b;
		b.Resize(3);
		b(1)=1; b(2)=2; b(3)=5;
		A.Print(cout,"  A");
		b.Print(cout,"  b");
		SvdSolve(A,b,x);
		x.Print(cout,"  x=A#b");

	}
#endif

#if 1
	{
		Matrix<float> A;
		Matrix<float> B;
		Vector<float> x;
		cout << "-----------------------------------------------------\n";
		cout << "Testing Pseudoinverse: Pinv(A)" << endl;
		cout << "-----------------------------------------------------\n";
		A.Resize(2,3);
		A(1,1)=1; A(1,2)=2; A(1,3)=3; 
		A(2,1)=4; A(2,2)=5; A(2,3)=6; 
		A.Print(cout,"  A");
		Matrix<float> X;
		int retCode;
		X=Pinv(A,&retCode);
		(X).Print(cout,"  pinv(A)");
		(A*X).Print(cout,"  A*Pinv(A)");
		(X*A).Print(cout,"  Pinv(A)*A");
		(A*X*A).Print(cout,"  A*Pinv(A)*A");
		(X*A*X).Print(cout,"  Pinv(A)*A*Pinv(A)");
		Pinv(X,&retCode).Print(cout,"  Pinv(Pinv(A))");

		A.Resize(3,2);
		A(1,1)=1; A(1,2)=2;
		A(2,1)=3; A(2,2)=4;
		A(3,1)=5; A(3,2)=6;
		A.Print(cout,"  A");
		X=Pinv(A,&retCode);
		(X).Print(cout,"  pinv(A)");	
		(A*X).Print(cout,"  A*Pinv(A)");
		(X*A).Print(cout,"  Pinv(A)*A");
		(A*X*A).Print(cout,"  A*Pinv(A)*A");
		(X*A*X).Print(cout,"  Pinv(A)*A*Pinv(A)");
		Pinv(X,&retCode).Print(cout,"  Pinv(Pinv(A))");

		
		A.Resize(3,3);
		A(1,1)=1; A(1,2)=2; A(1,3)=3; 
		A(2,1)=4; A(2,2)=5; A(2,3)=6; 
		A(3,1)=7; A(3,2)=8; A(3,3)=0;
		A.Print(cout,"  A");
		X=Pinv(A,&retCode);
		(X).Print(cout,"  pinv(A)");
		(A*X).Print(cout,"  A*Pinv(A)");
		(X*A).Print(cout,"  Pinv(A)*A");
		(A*X*A).Print(cout,"  A*Pinv(A)*A");
		(X*A*X).Print(cout,"  Pinv(A)*A*Pinv(A)");
		Pinv(X,&retCode).Print(cout,"  Pinv(Pinv(A))");

	}
#endif

#if 1
	{
		Matrix<float> A;
		Matrix<float> B;
		Vector<float> x;
		cout << "-----------------------------------------------------\n";
		cout << "Testing solutions of linear equations: A*x=b" << endl;
		cout << "-----------------------------------------------------\n";
		A.Resize(3,2);
		A(1,1)=1; A(1,2)=2;
		A(2,1)=3; A(2,2)=4;
		A(3,1)=5; A(3,2)=6;
		A.Print(cout,"  A");
		Vector<float> b;
		b.Resize(3);
		b(1)=1; b(2)=-2; b(3)=5;
		Solve(A,b,x);
		b.Print(cout,"  b");
		x.Print(cout,"  x");
	}
#endif

#if 1
	{
		Matrix<float> A;
		Matrix<float> B;
		Vector<float> x;
		cout << "-----------------------------------------------------\n";
		cout << "Testing Rank, Orthogonal/Null space" << endl;
		cout << "-----------------------------------------------------\n";
		A.Resize(3,3);
		A(1,1)=1; A(1,2)=2; A(1,3)=3;
		A(2,1)=1; A(2,2)=2; A(2,3)=3;
		A(3,1)=1; A(3,2)=2; A(3,3)=3;
		A.Print(cout,"  A");
		cout << "  Rank(A)=" << Rank(A) << endl;
		Orth(A).Print(cout,"  Orth(A)");
		Null(A).Print(cout,"  Null(A)");
	}
#endif

#if 1
	{
		Matrix<float> A;
		Matrix<float> B;
		Vector<float> x;
		cout << "-----------------------------------------------------\n";
		cout << "Testing condition numbers" << endl;
		cout << "-----------------------------------------------------\n";
#if !defined(USE_NRC_CODE)
		A.Resize(3,3);
		A(1,1)=1; A(1,2)=2; A(1,3)=3;
		A(2,1)=4; A(2,2)=5; A(2,3)=6;
		A(3,1)=7; A(3,2)=8; A(3,3)=0;
		A.Print(cout,"  A");
		cout << "  Cond(A)=" << Cond(A) << endl;
		cout << "  CondLU(A)=" << CondLU(A) << endl;
#endif
		A.Resize(3,3);
		A(1,1)=3; A(1,2)=2; A(1,3)=1; 
		A(2,1)=2; A(2,2)=4; A(2,3)=2; 
		A(3,1)=1; A(3,2)=2; A(3,3)=5; 
		A.Print(cout,"  A");
		cout << "  Cond(A)=" << Cond(A) << endl;
	}
#endif

#if 1
	{
		/* A is the matrix whose eigenvalues and eigenvectors are sought */
		Matrix<float>   A(3,3,"0.846186767 0.468314366 0.236917463 "			"0.65696803 0.910127033 0.733477793 "			"0.593281737 0.283758285 0.218800796");

		cout << "-----------------------------------------------------\n";
		cout << "Testing the Hessenberg decomposition: A = P*H*P\'\n";
		cout << "-----------------------------------------------------\n";
		Matrix<float> H,P;
		Hess(A,H,P);
		A.Print(cout,"  A");
		H.Print(cout,"  H");
		P.Print(cout,"  P");
		(A-P*H*Transpose(P)).Print(cout,"  A-P*H*P\'=0");

		cout << "-----------------------------------------------------\n";
		cout << "Testing the Schur decomposition: A = Q*T*Q\'\n";
		cout << "-----------------------------------------------------\n";
		Matrix<float> T,Q;
		Schur(A,T,Q);
		A.Print(cout,"  A");
		T.Print(cout,"  T");
		Q.Print(cout,"  Q");
		(A-Q*T*Transpose(Q)).Print(cout,"  A-Q*T*Q\'=0");
		
		cout << "-----------------------------------------------------\n";
		cout << "Testing eigen analysis for general matrices\n";
		cout << "-----------------------------------------------------\n";
		Matrix<float> EVec,EVal;
		isOK=Eig(A,EVec,EVal);
		A.Print(cout,"  A");
		EVec.Print(cout,"  EVec");
		EVal.Print(cout,"  EVal");
		checkEigenVectors(A,EVec,EVal);

		A.Resize(2,2);
		A(1,1)=7; A(1,2)=10;
		A(2,1)=15; A(2,2)=22;
		isOK=Eig(A,EVec,EVal);
		A.Print(cout,"  A");
		EVec.Print(cout,"  EVec");
		EVal.Print(cout,"  EVal");
		checkEigenVectors(A,EVec,EVal);
	}
#endif

#if 1
	{
		Matrix<float> A;
		Matrix<float> B;
		Vector<float> x;
		cout << "-----------------------------------------------------\n";
		cout << "Testing matrix multiplication, left and right division" << endl;
		cout << "-----------------------------------------------------\n";

		A.Resize(3,3);
		A(1,1)=1; A(1,2)=2; A(1,3)=3;
		A(2,1)=4; A(2,2)=5; A(2,3)=6;
		A(3,1)=7; A(3,2)=8; A(3,3)=0;

		B.Resize(3,3);
		B(1,1)=3; B(1,2)=2; B(1,3)=1; 
		B(2,1)=2; B(2,2)=2; B(2,3)=1; 
		B(3,1)=1; B(3,2)=1; B(3,3)=3; 

		A.Print(cout,"  A");
		B.Print(cout,"  B");
		mtl_ldivide(A,B).Print(cout,"  mtl_ldivide(A,B)=A.\\B");
		mtl_rdivide(A,B).Print(cout,"  mtl_rdivide(A,B)=A./B");
		mtl_mldivide(A,B).Print(cout,"  mtl_mldivide(A,B)=A\\B");
		mtl_mrdivide(A,B).Print(cout,"  mtl_mrdivide(A,B)=A/B");

	}
#endif

#if 1
	{
		Matrix<float> A;
		cout << "-----------------------------------------------------\n";
		cout << "Testing matrix square root, exponential, logarithm and power" << endl;
		cout << "-----------------------------------------------------\n";

		A.Resize(2,2);
		A(1,1)=1; A(1,2)=2;
		A(2,1)=3; A(2,2)=4;
		A=A*A;
		A.Print(cout,"  A");
		Sqrtm(A).Print(cout,"  Sqrtm(A)");

		A.Resize(2,2);
		A(1,1)=7; A(1,2)=10;
		A(2,1)=15; A(2,2)=22;
		A.Print(cout,"  A");
		Sqrtm(A).Print(cout,"  Sqrtm(A)");

		A.Resize(3,3);
		A(1,1)=1; A(1,2)=2; A(1,3)=3;
		A(2,1)=4; A(2,2)=5; A(2,3)=6;
		A(3,1)=7; A(3,2)=8; A(3,3)=0;

		A.Print(cout,"  A");
		Expm(A).Print(cout,"  Expm(A)");

		A=Expm(A);
		A.Print(cout,"  A");
		Logm(A).Print(cout,"  Logm(A)");

		A.Resize(2,2);
		A(1,1)=1; A(1,2)=2; 
		A(2,1)=-3; A(2,2)=-4; 
		A.Print(cout,"  A");
		Pow(A,2.0).Print(cout,"  Pow(A,2.0)");
		Pow(A,-2.0).Print(cout,"  Pow(A,-2.0)");
		Pow(A,2.5).Print(cout,"  Pow(A,2.5)");
		Pow(A,-2.5).Print(cout,"  Pow(A,-2.5)");
		Powm(A,2.0).Print(cout,"  Powm(A,2.0)");
		Powm(A,-2.0).Print(cout,"  Powm(A,-2.0)");
		Powm(A,2.5).Print(cout,"  Powm(A,2.5)");
		Powm(A,-2.5).Print(cout,"  Powm(A,-2.5)");

	}
#endif

#if 1
	{
		Matrix<float> A;
		Matrix<float> B;
		Vector<float> x;
		int i;
		cout << "-----------------------------------------------------\n";
		cout << "Testing FFT" << endl;
		cout << "-----------------------------------------------------\n";
		int N=16;
		Vector<complex<float> > f(N);
		f(1)=complex<float>(1,0); f(2)=complex<float>(2,0); f(3)=complex<float>(3,0); f(4)=complex<float>(4,0);
		f(5)=complex<float>(5,0); f(6)=complex<float>(6,0); f(7)=complex<float>(7,0); f(8)=complex<float>(8,0);
		f.Print(cout,"  X");
		Vector<float> C(2*N);
		for(i=1;i<=N;i++){
			C[2*i-1]=f[i].real();
			C[2*i]=f[i].imag();
		}
		Vector<float> g=FFT(C,N);
		Vector<complex<float> > R(f.Size());
		for(i=1;i<=N;i++){
			R(i)=complex<float> (g[2*i-1],g[2*i]);
		}
		R.Print(cout,"  FFT(X,N)");
		
		for(i=1;i<=N;i++){
			C[2*i-1]=R[i].real();
			C[2*i]=R[i].imag();
		}
		Vector<float> h=IFFT(C,N);
		for(i=1;i<=N;i++){
			R(i)=complex<float> (h[2*i-1],h[2*i]);
		}
		R.Print(cout,"  IFFT(FFT(X))");
	}
#endif

#if 1
	{
		cout << "-----------------------------------------------------\n";
		cout << "Testing random number generators\n";
		cout << "   Outputs are saved in ./temp directory.\n";
		cout << "-----------------------------------------------------\n";

		int i;
		int n=10000;
		Vector<float> A(n);
		string resultDir="./temp/";
		string distName;
		if(CreateDir(resultDir.c_str())==0) {
			cerr << "ERROR: Failed in creating directory ./temp" << endl;
			exit(1);
		}

		distName="uniform";
		cout << "  Generating " << distName << " distributed random numbers\n";
		for(i=1;i<=n;i++){
			A[i]=(float)UniformRandom();
		}
		A.SaveMatlab(resultDir+distName+".dat");

		distName="gaussian";
		cout << "  Generating " << distName << " distributed random numbers\n";
		for(i=1;i<=n;i++){
			A[i]=(float)GaussianRandom();
		}
		A.SaveMatlab(resultDir+distName+".dat");

		distName="gamma";
		cout << "  Generating " << distName << " distributed random numbers\n";
		for(i=1;i<=n;i++){
			A[i]=(float)GammaRandom(5,1);
		}
		A.SaveMatlab(resultDir+distName+".dat");
	}
#endif

#if 1
	{
		cout << "-----------------------------------------------------\n";
		cout << "Testing Cholesky decomposition for complex matrices: A=L*L\'" << endl;
		cout << "-----------------------------------------------------\n";

		Matrix<complex<float> > A, l;
		Matrix<complex<float> > L;
		Vector<complex<float> > b,x;

		l.Resize(3,3);
		l(1,1)=complex<float> (1,1); l(1,2)=complex<float> (0,0); l(1,3)=complex<float> (0,0); 
		l(2,1)=complex<float> (2,-1); l(2,2)=complex<float> (3,-1); l(2,3)=complex<float> (0,0); 
		l(3,1)=complex<float> (4,1); l(3,2)=complex<float> (5,1); l(3,3)=complex<float> (6,1); 

		A=l*Transpose(l);

		// A=L*U;
		cout << "  A=L*U" << endl;
		A.Print(cout,"  A");
		Chol(A,L);
		L.Print(cout,"  L");
		(A-L*Transpose(L)).Print(cout,"  A-L*L\'=0");

		b.Resize(3);
		b(1)=1; b(2)=-2; b(3)=5;
		x.Resize(3);
		CholSolve(A,b,x);
		b.Print(cout,"  b");
		x.Print(cout,"  x");
	}
#endif

#if 1
	{
		cout << "-----------------------------------------------------\n";
		cout << "Testing LU decomposition for complex matrices: A=L*U" << endl;
		cout << "-----------------------------------------------------\n";

		Matrix<complex<float> > A;
		Matrix<complex<float> > L,U,P;
		Vector<complex<float> > b,x;

		A.Resize(3,3);
		A(1,1)=complex<float> (1,1); A(1,2)=complex<float> (2,2); A(1,3)=complex<float> (3,3); 
		A(2,1)=complex<float> (4,-4); A(2,2)=complex<float> (5,-5); A(2,3)=complex<float> (6,-6); 
		A(3,1)=complex<float> (7,7); A(3,2)=complex<float> (8,8); A(3,3)=complex<float> (0,0); 

		// A=L*U;
		cout << "  A=L*U" << endl;
		A.Print(cout,"  A");
		Lu(A,L,U);
		L.Print(cout,"  L");
		U.Print(cout,"  U");
		(A-L*U).Print(cout,"  A-L*U=0");

		b.Resize(3);
		b(1)=1; b(2)=-2; b(3)=5;
		x.Resize(3);
		LuSolve(A,b,x);
		b.Print(cout,"  b");

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产一区二区三区| 国产精品影视在线| 日本不卡1234视频| 成人免费三级在线| 日韩女优av电影在线观看| 亚洲免费观看在线视频| 国产在线麻豆精品观看| 欧美色综合天天久久综合精品| 久久综合五月天婷婷伊人| 午夜精品爽啪视频| 99热精品国产| 中文字幕av一区 二区| 美女国产一区二区| 欧美日韩国产区一| 亚洲影院在线观看| 成人精品电影在线观看| 久久美女艺术照精彩视频福利播放 | av一区二区不卡| 2021久久国产精品不只是精品| 亚洲国产欧美一区二区三区丁香婷| 成人免费观看男女羞羞视频| 日韩亚洲欧美中文三级| 亚洲成av人影院在线观看网| 91久久精品国产91性色tv| 国产精品美女久久久久aⅴ国产馆| 国产资源精品在线观看| 亚洲精品一区二区三区香蕉| 麻豆精品新av中文字幕| 日韩一区二区精品葵司在线| 男女激情视频一区| 7777精品伊人久久久大香线蕉最新版| 亚洲午夜精品在线| 欧美日韩不卡一区二区| 亚洲电影第三页| 欧美三级电影精品| 午夜不卡av在线| 欧美一区二区三区在线| 美腿丝袜一区二区三区| 日韩亚洲欧美在线| 国产精品456露脸| 久久久国际精品| 成人黄色网址在线观看| 亚洲视频在线一区观看| 91麻豆国产在线观看| 亚洲制服丝袜av| 欧美电影在线免费观看| 美腿丝袜一区二区三区| 欧美精品一区二区三区蜜桃视频| 国产一区二区日韩精品| 国产欧美视频一区二区三区| www.亚洲在线| 亚洲成人av一区| 欧美大片免费久久精品三p| 国产在线视频精品一区| 亚洲日本在线a| 欧美理论在线播放| 韩日欧美一区二区三区| 国产精品国产三级国产a| 欧洲在线/亚洲| 激情六月婷婷久久| 中文字幕乱码一区二区免费| 一本大道综合伊人精品热热| 免费一级片91| 国产精品免费人成网站| 欧美精品一二三| 国产.欧美.日韩| 亚洲亚洲人成综合网络| 久久奇米777| 欧洲亚洲国产日韩| 看国产成人h片视频| 国产精品久久久久久久久免费相片| 欧美性受xxxx黑人xyx| 国产美女一区二区三区| 亚洲精品乱码久久久久久| 日韩免费一区二区| 色综合久久天天综合网| 韩国欧美一区二区| 亚洲二区视频在线| 国产精品久久久久久久久免费樱桃| 欧美久久一区二区| 99re热视频精品| 国产麻豆成人精品| 五月婷婷色综合| 中文字幕一区二区三区在线播放| 欧美一卡二卡三卡四卡| 91久久精品日日躁夜夜躁欧美| 国产精一品亚洲二区在线视频| 亚洲国产成人tv| **欧美大码日韩| 久久九九久精品国产免费直播| 欧美日韩美少妇| 91在线视频官网| 国产 欧美在线| 国内精品免费**视频| 日韩黄色片在线观看| 夜夜嗨av一区二区三区网页| 中文在线免费一区三区高中清不卡| 日韩亚洲欧美一区| 欧美日韩高清影院| 在线视频一区二区三区| 99久久久久久99| 成人一区二区视频| 国产福利91精品一区| 国产毛片精品一区| 日本三级韩国三级欧美三级| 日韩精品亚洲一区| 性欧美大战久久久久久久久| 亚洲成人免费在线| 亚洲国产日韩a在线播放性色| 亚洲精品视频在线观看免费| 自拍偷拍国产精品| 国产精品国产三级国产aⅴ中文| 国产精品伦理在线| 国产精品免费人成网站| 中文字幕一区二区三区在线不卡| 国产精品人妖ts系列视频| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 91丨porny丨中文| 99国产精品一区| 色婷婷激情一区二区三区| 99精品国产99久久久久久白柏| 99久久久无码国产精品| 一本色道久久综合亚洲91| 色综合久久综合网| 欧美日韩一区二区三区免费看| 这里只有精品免费| 日韩一区二区电影网| 欧美v国产在线一区二区三区| 精品少妇一区二区三区视频免付费 | 波多野洁衣一区| 色呦呦网站一区| 欧美日韩精品高清| 精品国免费一区二区三区| 26uuu亚洲| 中文字幕不卡三区| 亚洲精品菠萝久久久久久久| 午夜欧美视频在线观看| 激情久久久久久久久久久久久久久久| 狠狠色综合日日| 不卡一卡二卡三乱码免费网站| 色综合久久综合网欧美综合网| 欧美日韩国产在线播放网站| 日韩精品中文字幕一区二区三区 | 国产日韩欧美精品一区| 亚洲人快播电影网| 石原莉奈一区二区三区在线观看| 麻豆精品在线观看| av资源站一区| 777午夜精品免费视频| 日本一区二区免费在线| 国产精品超碰97尤物18| 天天综合色天天| 成人黄色一级视频| 91精品国产91久久综合桃花 | 国产精品一二三在| 色综合天天天天做夜夜夜夜做| 欧美精品第一页| 中文乱码免费一区二区| 午夜av区久久| www.亚洲色图.com| 精品日韩欧美在线| 亚洲最大成人综合| 国产精品一区二区91| 欧美亚洲国产怡红院影院| 久久综合精品国产一区二区三区| 亚洲精品视频在线看| 国产精品夜夜嗨| 欧美日韩国产高清一区二区三区| 国产午夜一区二区三区| 三级在线观看一区二区| 色综合天天综合在线视频| 久久亚区不卡日本| 五月天亚洲精品| 91福利视频网站| 综合激情成人伊人| 风流少妇一区二区| 欧美成人三级电影在线| 亚洲一区二区三区激情| 91丝袜高跟美女视频| 国产精品免费视频网站| 国产精品一区二区三区乱码| 欧美mv和日韩mv的网站| 免费观看日韩电影| 欧美日韩色一区| 一区二区三区国产豹纹内裤在线 | 日韩一区二区在线看片| 一区二区三区四区在线免费观看 | 国产成人夜色高潮福利影视| 精品欧美久久久| 日韩高清不卡一区二区三区| 色综合天天综合狠狠| 1024成人网| 不卡av在线免费观看| 国产视频一区在线播放| 国产一区二区成人久久免费影院| 欧美一区二区三区播放老司机| 日日夜夜精品免费视频| 欧美精品tushy高清| 亚洲成人资源在线| 在线不卡欧美精品一区二区三区|