docs: public static void solveL_special( final double L[] ,
                                         final DMatrixRMaj b_src,
                                         final int indexSrc , final int indexDst ,
                                         final DMatrixRMaj B )
      {
          final double dataSrc[] = b_src.data;
  
          final double b[]= B.data;
          final int m = B.numRows;
          final int n = B.numCols;
          final int widthL = m;
  
  //        for( int j = 0; j < n; j++ ) {
  //            for( int i = 0; i < widthL; i++ ) {
  //                double sum = dataSrc[indexSrc+i*b_src.numCols+j];
  //                for( int k=0; k<i; k++ ) {
  //                    sum -= L[i*widthL+k]* b[k*n+j];
  //                }
  //                double val = sum / L[i*widthL+i];
  //                dataSrc[indexDst+j*b_src.numCols+i] = val;
  //                b[i*n+j] = val;
  //            }
  //        }
  
          for( int j = 0; j < n; j++ ) {
              int indexb = j;
              int rowL = 0;
              
              //for( int i = 0; i < widthL; i++
              for( int i = 0; i < widthL; i++ ,  indexb += n, rowL += widthL ) {
                  double sum = dataSrc[indexSrc+i*b_src.numCols+j];
  
                  int indexL = rowL;
                  int endL = indexL + i;
                  int indexB = j;
                  //for( int k=0; k<i; k++ ) {
                  for( ; indexL != endL; indexB += n) {
                      sum -= L[indexL++]* b[indexB];
                  }
                  double val = sum / L[i*widthL+i];
                  dataSrc[indexDst+j*b_src.numCols+i] = val;
                  b[indexb] = val;
              }
          }
      }