docs: public static double qualityTriangular(DMatrixSparseCSC T)
      {
          int N = Math.min(T.numRows,T.numCols);
  
          double max = T.unsafe_get(0,0);
          for( int i = 1; i < N; i++ ) {
              max = Math.max(max,Math.abs(T.unsafe_get(i,i)));
          }
  
          if( max == 0.0 )
              return 0.0;
  
          double quality = 1.0;
          for( int i = 0; i < N; i++ ) {
              quality *= T.unsafe_get(i,i)/max;
          }
  
          return Math.abs(quality);
      }