1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
|
// Copyright (C) 1995 The New York Group Theory Cooperative
// See magnus/doc/COPYRIGHT for the full notice.
//
// Contents: Informal tests of class GaussTransformation.
//
// Principal Authors: Dmitry Bormotov
//
#include "Matrix.h"
#include "GaussTransformation.h"
int main( )
{
/*
const int size = 2;
Matrix<Integer> M(size);
for( int i = 0; i < size; i++ )
for( int j = 0; j < size; j++ )
M[i][j] = i * size + j;
cout << "M = " << M << endl;
GaussTransformation GT(M.theMatrix, M.size, M.size);
GT.startComputation();
while( !GT.done() ) GT.continueComputation();
GT.printMatrix("M' = ");
*/
/*
const int size = 3;
Matrix<Integer> M(size);
for( int i = 0; i < size; i++ )
for( int j = 0; j < size; j++ )
M[i][j] = i * size + j + 1;
cout << "M = " << M << endl;
*/
/*
Matrix<Integer> M;
cout << "Enter a matrix: " << endl;
Chars errMsg = cin >> M;
if( errMsg.length() > 0 ) {
cout << errMsg << endl;
exit(-1);
}
cout << "You entered: " << M << endl;
*/
/*
Determinant<Integer> D(M);
D.startComputation();
D.getDeterminant();
while( !D.done() ) D.continueComputation();
cout << "determinant = " << D.getDeterminant() << endl;
*/
Matrix<Integer> M;
cout << "Enter a matrix: " << endl;
Chars errMsg = cin >> M;
if( errMsg.length() > 0 ) {
cout << errMsg << endl;
exit(-1);
}
cout << "You entered: " << M << endl;
Inverse<Integer> I(M);
I.startComputation();
while( !I.done() ) I.continueComputation();
if( I.isInvertible() ) {
cout << "Inverse matrix = " << I.getInverseMatrix() << endl;
}
else
cout << "This matrix isn't invertible." << endl;
}
|