#include "sopnamsp.h" #include "machdefs.h" #include #include #include #include #include #include "ntoolsinit.h" #include "pexceptions.h" #include "array.h" #include "srandgen.h" //////////////////////////////////////////////////////////////////////////////////////// int main(int narg,char *arg[]) { SophyaInit(); r_8 v[3][4] = {{1,2,3,4},{4,5,6,5},{7,8,9,10}}; { TMatrix A(2,3); {for(int i=0;i<2;i++) for(int j=0;j<3;j++) A(i,j) = v[i][j];} cout<<"A:"< ftm(A); ftm.Write("tmtx.ppf"); } { cout << " Test lecture PPersist TMatrix " << endl; FIO_TArray ftm("tmtx.ppf"); cout<<"Alue:"<<(TMatrix)ftm< B(3,2); {for(int i=0;i<3;i++) for(int j=0;j<2;j++) B(i,j) = v[i][j];} cout<<"B:"< C(3,3); {for(int i=0;i<3;i++) for(int j=0;j<3;j++) C(i,j) = v[i][j];} cout<<"C:"< D(2,2); {for(int i=0;i<2;i++) for(int j=0;j<2;j++) D(i,j) = v[i][j];} cout<<"D:"< E(3,4); {for(int i=0;i<3;i++) for(int j=0;j<4;j++) E(i,j) = v[i][j];} cout<<"E:"< AA(A); cout<<"AA:"< AA2; AA2=A; cout<<"AA2:"< AAA; AAA.Clone(A); cout<<"AAA:"< BBB; BBB.Clone(B); cout<<"BBB:"< CCC; CCC.Clone(C); cout<<"CCC:"< I(5,5); I = 5; cout<<"I:"< a(A,false); cout< b(B,false); cout<<"Matrices BBB = BBB * D"< R; AA.Clone(A); AA += 10.; AAA.Clone(A); AAA += 100.; cout< RR(2,4); {for(uint_4 i=0;i AT; AT = A.Transpose(); cout<<"AT"< X(10,10); {for(int i=0;i<10;i++) for(int j=0;j<10;j++) {X(i,j) = drand01(); if(drand01()>0.8) X(i,j) += 1.e+15*drand01();}} cout<<"TMatrix X"<xmin) xmin=fabs(MI(i,j)); cout<<"Biggest off diagonal identity matrix element is "< Xinv; Xinv = Inverse(X); cout<<"TMatrix Xinv"<xmin) xmin=fabs(Xinv(i,j)); cout<<"Biggest off diagonal identity matrix element is "< A(2, siz, MI.Data(), 1, 0, new Bridge); TMatrix L(A); cout<<"L"<