Hilbert Matrix

n=3;
A=N[HilbertMatrix[n]]
Norm[A]Norm[Inverse[A]]
Eigenvalues[A,1]/Eigenvalues[A,-1]

Rotators

Givens[x_List,{i_,j_}]:= Module[{n=Length[x],G,norm,c,s},
G=SparseArray[Band[{1,1}]->1,{n,n}];
norm=Norm[x[[{i,j}]]];
{c,s}=x[[{i,j}]]/norm;
G[[i,j]]=s;G[[j,i]]=-s;
G[[i,i]]=G[[j,j]]=c;
G]

n=3;
A=RandomReal[{-1,1},{n,n}];
{i,j}={1,2};
G=Givens[A[[All,1]],{i,j}];
A=G.A;
MatrixForm[A]

n=3;
A=RandomReal[{-1,1},{n,n}];
{i,j}={1,2};
G=Givens[A[[All,i]],{i,j}];
A=G.A;
MatrixForm[A]
{i,j}={1,3};
G=Givens[A[[All,i]],{i,j}];
A=G.A;
MatrixForm[A]
{i,j}={2,3};
G=Givens[A[[All,i]],{i,j}];
A=G.A;
MatrixForm[A]

Reflectors

Householder[x_List,i_]:= Module[{n=Length[x],u,H, τ=Norm[x[[i;;-1]]]},
H=SparseArray[Band[{1,1}]->1,{n,n}];
τ=Sign[x[[i]]] τ; 
u=Join[Table[0,{i-1}],{1},((x[[i+1;;-1]])/(τ+x[[i]]))];
H-(2/((Norm[u])^2))Outer[Times,u,u]
]

n=3;
A=RandomReal[{-1,1},{n,n}];
i=1;
x=A[[All,i]];
H=Householder[x,i];
A=H.A;
MatrixForm[A]

n=3;
A=RandomReal[{-1,1},{n,n}];
i=1;
x=A[[All,i]];
H=Householder[x,i];
A=H.A;
MatrixForm[A]
i=2;
x=A[[All,i]];
H=Householder[x,i];
A=H.A;
MatrixForm[A]