QR分解
ギブンス回転によるQR分解は、アルゴリズムを完全に動かすのに必要な行の順序を決定するのが簡単ではないため、実装に最も手間がかかる。しかしながら、新しいゼロ要素 a i j {\displaystyle a_{ij}} がゼロになる予定の要素の行(i)とその上の行(j)にしか影響しないという特筆すべき利点がある。これにより、ギブンス回転アルゴリズムはハウスホルダー変換手法よりも帯域幅効率が良く、容易に並列化できる。
A = Q R {\displaystyle A=QR}
ただし、
Q = [ e 1 , ... , e n ] , {\displaystyle Q=\left[{\boldsymbol {e}}_{1},\ldots ,{\boldsymbol {e}}_{n}\right],}
R = [ ⟨ e 1 , a 1 ⟩ ⟨ e 1 , a 2 ⟩ ⟨ e 1 , a 3 ⟩ ... 0 ⟨ e 2 , a 2 ⟩ ⟨ e 2 , a 3 ⟩ ... 0 0 ⟨ e 3 , a 3 ⟩ ... ⋮ ⋮ ⋮ ⋱ ] {\displaystyle R={\begin{bmatrix}\langle {\boldsymbol {e}}_{1},{\boldsymbol {a}}_{1}\rangle &\langle {\boldsymbol {e}}_{1},{\boldsymbol {a}}_{2}\rangle &\langle {\boldsymbol {e}}_{1},{\boldsymbol {a}}_{3}\rangle &\ldots \\0&\langle {\boldsymbol {e}}_{2},{\boldsymbol {a}}_{2}\rangle &\langle {\boldsymbol {e}}_{2},{\boldsymbol {a}}_{3}\rangle &\ldots \\0&0&\langle {\boldsymbol {e}}_{3},{\boldsymbol {a}}_{3}\rangle &\ldots \\\vdots &\vdots &\vdots &\ddots \end{bmatrix}}}
Q 1 {\displaystyle Q_{1}} を直交行列 Q {\displaystyle Q} 全体のうち最初の n {\displaystyle n} 列を含む m × n {\displaystyle m\times n} 行列、 R 1 {\displaystyle R_{1}} を先述の通りに置くと、この問題の解は x ^ = R 1 − 1 ( Q 1 T b ) {\displaystyle {\hat {x}}=R_{1}^{-1}\left(Q_{1}^{\textsf {T}}b\right)} と表せる。劣決定の場合と同様に、 R 1 {\displaystyle R_{1}} の逆行列を直接計算しなくても、後方置換法(英語版)を用いることで早く正確に x ^ {\displaystyle {\hat {x}}} を求めることができる。( Q 1 {\displaystyle Q_{1}} と R 1 {\displaystyle R_{1}} は数値ライブラリによっては高速な(economic)QR分解として実装されている。)