File: debug-RationalGT.C

package info (click to toggle)
magnus 20060324-3
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 19,404 kB
  • ctags: 20,466
  • sloc: cpp: 130,118; ansic: 37,076; tcl: 10,970; perl: 1,109; makefile: 963; sh: 403; yacc: 372; csh: 57; awk: 33; asm: 10
file content (95 lines) | stat: -rw-r--r-- 1,680 bytes parent folder | download | duplicates (3)
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<Rational> 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<Rational> D(M);

  D.startComputation();

  while( !D.done() ) D.continueComputation();
  cout << "determinant = " << D.getDeterminant() << endl;

/*
  Matrix<Rational> 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<Rational> 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;
 */


}