docs: public static boolean solve(ZMatrixRMaj a , ZMatrixRMaj b , ZMatrixRMaj x )
      {
          LinearSolverDense<ZMatrixRMaj> solver;
          if( a.numCols == a.numRows ) {
              solver = LinearSolverFactory_ZDRM.lu(a.numRows);
          } else {
              solver = LinearSolverFactory_ZDRM.qr(a.numRows, a.numCols);
          }
  
          // make sure the inputs 'a' and 'b' are not modified
          solver = new LinearSolverSafe<ZMatrixRMaj>(solver);
  
          if( !solver.setA(a) )
              return false;
  
          solver.solve(b,x);
          return true;
      }