docs: protected void solveL(double[] vv) {
  
          int ii = 0;
  
          for( int i = 0; i < n; i++ ) {
              int ip = indx[i];
              double sumReal = vv[ip*2];
              double sumImg = vv[ip*2+1];
  
              vv[ip*2] = vv[i*2];
              vv[ip*2+1] = vv[i*2+1];
  
              if( ii != 0 ) {
  //                for( int j = ii-1; j < i; j++ )
  //                    sum -= dataLU[i* n +j]*vv[j];
                  int index = i*stride + (ii-1)*2;
                  for( int j = ii-1; j < i; j++ ){
                      double luReal = dataLU[index++];
                      double luImg  = dataLU[index++];
  
                      double vvReal = vv[j*2];
                      double vvImg  = vv[j*2+1];
  
                      sumReal -= luReal*vvReal - luImg*vvImg;
                      sumImg  -= luReal*vvImg  + luImg*vvReal;
                  }
              } else if( sumReal*sumReal + sumImg*sumImg != 0.0 ) {
                  ii=i+1;
              }
              vv[i*2] = sumReal;
              vv[i*2+1] = sumImg;
          }
      }