code: public static void householder(double gamma,
                                     DMatrixD1 u ,
                                     DMatrixD1 x , DMatrixD1 y )
      {
          int n = u.getNumElements();
  
          double sum = 0;
          for( int i = 0; i < n; i++ ) {
              sum += u.get(i)*x.get(i);
          }
          for( int i = 0; i < n; i++ ) {
              y.set( i , x.get(i) + gamma*u.get(i)*sum);
          }
      }
docs: <p>
  Multiplies a householder reflection against a vector:<br>
  <br>
  y = (I + &gamma; u u<sup>T</sup>)x<br>
  </p>
  <p>
  The Householder reflection is used in some implementations of QR decomposition.
  </p>
  @param u A vector. Not modified.
  @param x a vector. Not modified.
  @param y Vector where the result are written to.