Keyword Arguments:
      out (Tensor, optional) -- output tensor. Ignored if
      None. Default: None.
Raises:
      RuntimeError -- if "A" doesn't satisfy the requirement m >=
      n,     or "tau" doesn't satisfy the requirement n >= k.
Examples:
  >>> A = torch.randn(2, 2)
  >>> h, tau = torch.geqrf(A)
  >>> Q = torch.linalg.householder_product(h, tau)
  >>> torch.dist(Q, torch.linalg.qr(A).Q)
  tensor(0.)

  >>> h = torch.randn(3, 2, 2, dtype=torch.complex128)
  >>> tau = torch.randn(3, 1, dtype=torch.complex128)
  >>> Q = torch.linalg.householder_product(h, tau)
  >>> Q
  tensor([[[ 1.8034+0.4184j,  0.2588-1.0174j],
          [-0.6853+0.7953j,  2.0790+0.5620j]],

          [[ 1.4581+1.6989j, -1.5360+0.1193j],
          [ 1.3877-0.6691j,  1.3512+1.3024j]],

          [[ 1.4766+0.5783j,  0.0361+0.6587j],
          [ 0.6396+0.1612j,  1.3693+0.4481j]]], dtype=torch.complex128)
