docs: public static double leibniz( DMatrixRMaj mat )
      {
          PermuteArray perm = new PermuteArray( mat.numCols );
  
          double total = 0;
  
          int p[] = perm.next();
  
          while( p != null ) {
  
              double prod = 1;
  
              for( int i = 0; i < mat.numRows; i++ ) {
                  prod *= mat.get(i,p[i]);
              }
  
              total += perm.sgn()*prod;
              p = perm.next();
          }
  
          return total;
      }