up


Householder Method for Tridiagonalization: Ver. 1.0

Taisuke Ozaki, ISSP, the Univ. of Tokyo

The Householder method [1] is a way of transforming a Hermitian matrix B to a real symmetric tridiagonalized matrix BTD. Let 𝐛 be a column vector of B, and consider that the vector 𝐛 consists of the real part 𝐛r and the imaginary part 𝐛i as

|𝐛=|𝐛r+i|𝐛i. (1)

Also let us introduce a vector 𝐬 of which real part has just one non-zero component s(=𝐛|𝐛) and imaginary part is a zero vector as

|𝐬=(s00)+i(000). (2)

Then, consider a mirror transform Q bridging the two vectors 𝐛 and 𝐬 by

Q=I-α*|𝐯𝐯|, (3)

where let us assume that

|𝐬=Q|𝐛. (4)

Putting Eq. (3) into Eq. (4), and solving it with respect to |𝐯, we have

|𝐯=1α*𝐯|𝐛(|𝐛-|𝐬). (5)

Thus, Eq. (5) allows us to write |𝐯 as

|𝐯=β(|𝐛-|𝐬)=β|𝐮. (6)

If 𝐯 is normalized, β is given by

β = 1(𝐛|-𝐬|)(|𝐛-|𝐬), (7)
= 1𝐛|𝐛+𝐬|𝐬-𝐛|𝐬-𝐬|𝐛,
= 12s2-𝐛|𝐬-𝐬|𝐛.

Comparing Eqs. (5) with (6) and making use of Eq. (7), we have

α*=2arar2+ai2(ar-iai) (8)

with ar and ai given by

ar=12(2s2-𝐛|𝐬-𝐬|𝐛) (9)

and

ai=𝐛i|𝐬. (10)

Then, it is verified that

QQ = (I-α|𝐯𝐯|)(I-α*|𝐯𝐯|), (11)
= I-α*|𝐯𝐯|-α|𝐯𝐯|+αα*|𝐯𝐯|𝐯𝐯|,
= I-(2ar)2ar2+ai2|𝐯𝐯|+(2ar)2ar2+ai2|𝐯𝐯|,
= I.

Thus, the transformation QBQ for the Hermitian matrix B is a similarity transformation, and given by

QBQ = (I-α*|𝐯𝐯|)B(I-α|𝐯𝐯|), (12)
= B-α*|𝐯𝐯|B-αB|𝐯𝐯|+α*α|𝐯𝐯|B|𝐯𝐯|.

By defining

|𝐩B|𝐯, (13)

Eq. (12) becomes

QBQ = B-α*|𝐯𝐩-α|𝐩𝐯|+α*α|𝐯𝐯|𝐩𝐯|, (14)
= B-α*|𝐯(𝐩|-α2𝐯|𝐩𝐯|)-α(|𝐩-α*2|𝐯𝐯|𝐩)𝐯|.

Moreover, by defining

|𝐪α(|𝐩-α*2|𝐯𝐯|𝐩), (15)

we have a compact form:

QBQ=B-|𝐯𝐪|-|𝐪𝐯|. (16)

For the numerical stability, we furthermore modify Eq. (16) as shown below. Let us introduce a vector 𝐩 as.

|𝐩=B|𝐮|𝐮|22. (17)

Then, 𝐩 can be written by 𝐩 as

|𝐩 = B|𝐯, (18)
= B|𝐮2ar,
= |𝐩ar2ar,
= 2ar2|𝐩.

Also, noting that

|𝐯=12ar|𝐮, (19)

𝐪 can be rewritten by

|𝐪=α2ar2(|𝐩-α*4ar|𝐮𝐮|𝐩). (20)

Putting Eqs. (19) and (20) into Eq. (16), we have

QBQ=B-|𝐮𝐪|-|𝐪𝐮| (21)

with 𝐪 defined by

|𝐪=α2(|𝐩-α*4ar|𝐮𝐮|𝐩), (22)

where

|𝐩=1arB|𝐮. (23)

The transformation by Eq. (21) can be applied to each column vector step by step in which the place occupied by s in Eq. (2) is shifted one by one. Then, the tridiagonalized matrix BTD is given by

BTD=Qn-1Qn-2Q3Q2Q1BQ1Q2Q3Qn-2Qn-1. (24)

References

  • [1] A. S. Householder, J. ACM 5, 339 (1958).