docs: public void printMinors(int matrix[], int N, PrintStream stream) {
          this.N = N;
          this.stream = stream;
  
          // compute all the minors
          int index = 0;
          for( int i = 1; i <= N; i++ ) {
              for( int j = 1; j <= N; j++ , index++) {
                  stream.print("        double m"+i+""+j+" = ");
                  if( (i+j) % 2 == 1 )
                      stream.print("-( ");
                  printTopMinor(matrix,i-1,j-1,N);
                  if( (i+j) % 2 == 1 )
                      stream.print(")");
                  stream.print(";\n");
              }
          }
  
          stream.println();
          // compute the determinant
          stream.print("        double det = (a11*m11");
          for( int i = 2; i <= N; i++ ) {
              stream.print(" + "+a(i-1)+"*m"+1+""+i);
          }
          stream.println(")/scale;");
  
      }