Begin and the very beginning.
33 float a[2][3] = {{1.0,2.0,3.0},{4.0,5.0,6.0}};
38 cerr << B+B+A << endl;
43 float a[2][3] = {{1.0,2.0,3.0},{4.0,5.0,6.0}};
50 Matrix<double,3,3> A = {1.,2.,3.,0.,0.,0.,0,0,0};
70 Matrix<double,3,3> A = {1.2,2.2,3.2,4.,5.,0.,0,0,0};
83 A = {1.1,2.1,3.1,0.0,0.0,0.0};
94 double a[2][3] = {{1.1,2.1,3.1},{4.0,5.0,6.0}};
106 cerr << A[2][1] << endl;
113 cerr << A(3,2) << endl;
128 cerr << V(6) << endl;
138 cerr << U(6) << endl;
160 double a[2][3] = {{1.40,2.40,3.40},{4.40,5.40,6.40}};
166 ZA[0][0] = complex<double>( 3.1,-1.8);
167 ZA[0][1] = complex<double>( 1.3, 0.2);
168 ZA[0][2] = complex<double>(-5.7,-4.3);
169 ZA[1][0] = complex<double>( 1.0, 0.0);
170 ZA[1][1] = complex<double>(-6.9, 3.2);
171 ZA[1][2] = complex<double>( 5.8, 2.2);
172 ZA[2][0] = complex<double>( 3.4,-4.0);
173 ZA[2][1] = complex<double>( 7.2, 2.9);
174 ZA[2][2] = complex<double>(-8.8, 3.2);
175 octave(cerr,ZA,
"za") << endl;
187 float a[2][3] = {{1.40f,2.40f,3.40f},{4.40f,5.40f,6.40f}};
191 cerr <<
"p " << cout.precision(10) << endl;
194 float* ptr = A.
pIJ();
195 cerr << ptr[4] << endl;
196 cerr <<
"rows = " << A.rows() << endl;
197 cerr <<
"cols = " << A.cols() << endl;
210 if( A == B ) cerr <<
"( A == B )" << endl;
211 else cerr <<
"( A != B )" << endl;
213 if( A == B ) cerr <<
"( A == B )" << endl;
214 else cerr <<
"( A != B )" << endl;
217 if( A != B ) cerr <<
"( A != B )" << endl;
218 else cerr <<
"( A == B )" << endl;
220 if( A != B ) cerr <<
"( A != B )" << endl;
221 else cerr <<
"( A == B )" << endl;
226 if (C == D) cerr <<
"(C == D)" << endl;
227 else cerr <<
"(C != D)" << endl;
229 cerr << -C + D << endl;
230 cerr << C - D << endl;
241 cerr << A*(-1.0) << endl;
242 cerr << -2.0*A << endl;
243 cerr << A/2.0 << endl;
261 cerr << (B*=C) << endl;
262 cerr << (B/=C) << endl;
282 cerr << (B&C) << endl;
283 cerr << (B|C) << endl;
284 cerr << (D & D) << endl;
300 cerr << A.
eye() << endl;
305 cerr << A.
zeros() << endl;
306 cerr << A.
ones() << endl;
308 cerr << n.
randn() << endl;
315 cerr <<
trans(B) << endl;
318 ZA[0][0] = complex<double>( 3.1,-1.8);
319 ZA[0][1] = complex<double>( 1.3, 0.2);
320 ZA[0][2] = complex<double>(-5.7,-4.3);
321 ZA[1][0] = complex<double>( 1.0, 0.0);
322 ZA[1][1] = complex<double>(-6.9, 3.2);
323 ZA[1][2] = complex<double>( 5.8, 2.2);
328 ZB[0][0] = complex<float>( 3.1f,-1.8f);
329 ZB[0][1] = complex<float>( 1.3f, 0.2f);
330 ZB[0][2] = complex<float>(-5.7f,-4.3f);
331 ZB[1][0] = complex<float>( 1.0f, 0.0f);
332 ZB[1][1] = complex<float>(-6.9f, 3.2f);
333 ZB[1][2] = complex<float>( 5.8f, 2.2f);
335 cout <<
trans(ZB) << endl;
347 cerr << (
diag(C)) << endl;
349 cerr <<
diag(A) << endl;
350 cerr <<
diag(B) << endl;
358 cerr <<
skew(C) << endl;
362 cerr <<
cross(x,y) << endl;
364 cerr <<
dot(B,C) << endl;
366 cerr << B.
n() << endl;
367 cerr <<
norm(B) << endl;
369 cerr << B.
u() << endl;
370 cerr <<
norm(B.
u()) << endl;
379 double a[2][3] = {{1.40,2.40,3.40},{4.40,5.40,6.40}};
385 ZA[0][0] = complex<double>( 3.1,-1.8);
386 ZA[0][1] = complex<double>( 1.3, 0.2);
387 ZA[0][2] = complex<double>(-5.7,-4.3);
388 ZA[1][0] = complex<double>( 1.0, 0.0);
389 ZA[1][1] = complex<double>(-6.9, 3.2);
390 ZA[1][2] = complex<double>( 5.8, 2.2);
391 ZA[2][0] = complex<double>( 3.4,-4.0);
392 ZA[2][1] = complex<double>( 7.2, 2.9);
393 ZA[2][2] = complex<double>(-8.8, 3.2);
394 octave(cout,ZA,
"za") << endl;
396 octave(cout,ZAinv,
"za") << endl;
398 cerr <<
det(ZA) << endl;
405 float a[2][3] = {{1.40f,2.40f,3.40f},{4.40f,5.40f,6.40f}};
411 ZC[0][0] = complex<float>( 3.1f,-1.8f);
412 ZC[0][1] = complex<float>( 1.3f, 0.2f);
413 ZC[0][2] = complex<float>(-5.7f,-4.3f);
414 ZC[1][0] = complex<float>( 1.0f, 0.0f);
415 ZC[1][1] = complex<float>(-6.9f, 3.2f);
416 ZC[1][2] = complex<float>( 5.8f, 2.2f);
417 ZC[2][0] = complex<float>( 3.4f,-4.0f);
418 ZC[2][1] = complex<float>( 7.2f, 2.9f);
419 ZC[2][2] = complex<float>(-8.8f, 3.2f);
420 octave(cout,ZC,
"zc") << endl;
422 octave(cout,ZCinv,
"zc") << endl;
424 cerr <<
det(ZC) << endl;
429 Matrix< double, 3, 3 > A = {1, 1, 1, 2, 3, 4, 1, 3, 6};
430 Matrix< double, 3, 3 > B = {6, -3, 1, -8, 5, -2, 3, -2, 1};
431 cerr <<
inv(A) << endl;
432 cerr <<
inv(B) << endl;
433 cerr <<
det(A) << endl;
437 Matrix< float, 3, 3 > A = {1, 1, 1, 2, 3, 4, 1, 3, 6};
438 Matrix< float, 3, 3 > B = {6, -3, 1, -8, 5, -2, 3, -2, 1};
439 cerr <<
inv(A) << endl;
440 cerr <<
inv(B) << endl;
441 cerr <<
det(A) << endl;
448 cerr <<
"Done!" << endl;
Matrix< tData, tRows, tCols > ones(void)
std::ostream & octave(std::ostream &s, const Matrix< std::complex< tData0 >, tRows0, tCols0 > &A, const char *Aname)
tData dot(const Matrix< tData, tRows, 1 > &L, const Matrix< tData, tRows, 1 > &R)
Matrix< tData, tRows, tCols > eye(void)
Matrix< tData, 3, 1 > cross(const Matrix< tData, 3, 1 > &L, const Matrix< tData, 3, 1 > &R)
Matrix< tData, tRows, 1 > u(void) const
float det(const Matrix< float, tRows, tRows > &R)
Matrix< tData, tRows, tCols > zeros(void)
Matrix< float, tRows, tRows > inv(const Matrix< float, tRows, tRows > &R)
Matrix< tData, tRows, 1 > diag(const Matrix< tData, tRows, tRows > &R)
Matrix< tData, 3, 3 > skew(const Matrix< tData, 3, 1 > &R)
Matrix< tData, tRows, tCols > randn(void)
void load(const tData *tArray)
Matrix< tData, tCols, tRows > trans(const Matrix< tData, tRows, tCols > &R)
tData norm(const Matrix< tData, tRows, 1 > &R)