      //      = x + factor * u
      for column in (minor + 1)..n {
        // factor = <x, u>/(a * qrdata[k * n + k])
        let mut x_dot_u : T = num::zero();
        for row in minor..m {
          x_dot_u = x_dot_u + qrdata[row * n + minor] * qrdata[row * n + column];
        }
        let factor = x_dot_u / (a * qrdata[minor * n + minor]);

        // Hx = x + factor * u
        for row in minor..m {
          qrdata[row * n + column] = qrdata[row * n + column] + factor * qrdata[row * n + minor];
        }