(The documentation of function double_diagonal_householder)
Last Update: 2022/2/2
◆機能・用途(Purpose)
行列にHouseholder変換を左右から繰り返し掛けることによって
上三角2重対角行列に変換する。
Convert a matrix to an upper-triangular double-diagonal matrix
by repeatedly applying Householder conversions from left and right.
元々の行列。縦長または正方行列でなければならない。
The original matrix, which must be portait or square.
◆戻り値(Return value)
引数Gで与えた行列を\(\myvector{G}\)(サイズ:\(N\times M\))、
\(\myvector{G}\)を上三角2重対角行列に変換するために
左から掛けたHouseholder変換の積を\(\myvector{H_l}\)、
右から掛けたHouseholder変換の積を\(\myvector{H_r}\)として、
拡大行列
\[\begin{equation}
\myvector{G_L}\equiv
\begin{pmatrix}
\myvector{H_l}\myvector{G}\myvector{H_r} & \myvector{H_l} \\
\myvector{H_r} & \myvector{0}
\end{pmatrix}
\label{eq.GL}
\end{equation}\]
を戻り値として返す。
\(\myvector{H_l}\)のサイズは\(N\times N\)、
\(\myvector{H_r}\)のサイズは\(M\times M\)であり、
\(\myvector{G_L}\)のサイズは\((N+M)\times(N+M)\)となる。
Let \(\myvector{G}\) be the original matrix (size: \(N\times M\))
given by argument G,
and \(\myvector{H_l}\) and \(\myvector{H_r}\) be
the products of Householder conversions
applied from the left and right hand sides, respectively,
to convert \(\myvector{G}\) to an upper-triangular double-diagonal matrix.
Then the return value is
an extended matrix \(\myvector{G_L}\) (eq. \ref{eq.GL}).
The matrix sizes of \(\myvector{H_l}\), \(\myvector{H_r}\),
and \(\myvector{G_L}\) are
\(N\times N\), \(M\times M\), and \((N+M)\times(N+M)\), respectively.