1: Initialize: Choose X 0 , compute R 0 : = B A X 0 , V 1 B 1 : = R 0 and set V 1 : = V 1 .

2: Arnoldi process: Perform m steps of the block Arnoldi process to compute V m + 1 and H ˜ m .

3: Solve the generalized eigenvalue problem

(2.8) L m T L m z i = λ G m T G m z i ,

to get the s smallest generalized eigenvalues, where L m and G m is defined in (2.7).

4: Scale block components of Z as shown in theorem 2.1 and form X m = X 0 + M 1 V m Y m .