In computing the desired complex eigenpair of a matrix, we show that by adding Ruhe’s normalization to the matrix pencil, we obtain a square nonlinear system of equations. In this work, we show that the corresponding Jacobian is non-singular at the root and that with an appropriately chosen initial guesses, Ruhe’s normalization with a fixed complex vector not only converges quadratically but also faster than the earlier Algorithms for the numerical computation of the complex eigenpair of a matrix. The mathematical tools used in this work are Newton and Gauss-Newton’s methods.
In [
D x = λ P x , (1)
where x ∈ C n , x ≠ 0, λ ∈ C , D is a large real n × n non-symmetric matrix and P a real symmetric positive definite matrix. After adding the normalization [
x H P x = 1 , (2)
to (1), they obtained a combined system of equations of the form F ( u ) = 0, where u = [ x H , λ ] , given as
F ( u ) = [ ( D − λ P ) x − 1 2 x H P x + 1 2 ] = 0. (3)
In trying to solve the nonlinear system (3), two drawbacks were encountered. The first one is that if x from ( x , λ ) solves (3), then so does e x p i θ x for any θ ∈ [ 0 , 2 π ) , which means that x has no unique solution. Secondly, x ¯ in x H = x ¯ T is not differentiable since x ¯ does not satisfy the Cauchy-Riemann [
c H x = 1 , (4)
and
τ e s T x = τ , (5)
where c is a fixed complex vector and τ = max ( ‖ D ‖ , ‖ P ‖ ) for some fixed s. Adding each of the two normalization to (1), Ruhe and Tisseur then obtained the following combined system of equations;
F ( u ) = [ ( D − λ P ) x c H x − 1 ] = 0, (6)
and
F ( u ) = [ ( D − λ P ) x τ e s T x − τ ] = 0, (7)
which have the corresponding Jacobians
F u ( u ) = [ ( D − λ P ) − P x c H 0 ] , (8)
and
F u ( u ) = [ ( D − λ P ) − P x τ e s T 0 ] . (9)
In this paper, we show that the square Jacobian given by (8) is nonsingular at the root using the ABCD lemma if the eigenvalue of interest is algebraically simple. The major distinction between the two-norm normalization and Ruhe’s normalization is that the two-norm normalization is a natural normalization which makes the choice of c free. The Jacobian (9) above was shown to be singular in [
In this paper, we compare the numerical performance of the algorithm (Algorithm 1) based on Ruhe’s normalization (i.e., an application of Newton’s method on (6) using the Jacobian (8)) with previous algorithms developed by Akinola et al., in [
In this section, we proof the main result in this paper which states the condition under which the Jacobian matrix (8) (for P = I ) is non-singular at the root, that is x ∗ = ( x ∗ , λ ∗ ) . This is then followed by a presentation of Algorithm 1, which is actually Newton’s method for solving (6). The remaining algorithms have been discussed extensively in [
Algorithm 1 involves solving an ( n + 1 ) by ( n + 1 ) square system of equations using LU factorisation and does not involve splitting the eigenvalue and eigenvector into real and imaginary parts.
Algorithm 2 involves splitting the eigenpair into real and imaginary parts to obtain an under-determined non linear system of equations. This results in solving a ( 2 n + 1 ) real under-determined linear system of equations for ( 2 n + 2 ) real unknowns using Gauss-Newton method [
Algorithm 3 also involves splitting the eigenpair into real and imaginary parts but with the help of an added equation we obtained a square ( 2 n + 2 ) by ( 2 n + 2 ) system of linear equations which is solved using LU factorisation.
Algorithm 4 is closely related to Algorithm 1 in the sense that both uses complex arithmetic. While Algorithm 1 used a fixed complex vector which does not change throughout the computation, Algorithm 4 uses the natural two-norm normalization which ensures that the eigenvector is updated at each stage of the computation.
Theorem 2.1. Let ( D − λ ∗ I ) be an n by n matrix, x ∗ , c ∈ C n . Let
M = [ ( D − λ ∗ I ) − x ∗ c H 0 ] , (10)
be an ( n + 1 ) by ( n + 1 ) matrix. If D − λ ∗ I is singular and rank ( D − λ ∗ I ) = Math_49#, then M is nonsingular if and only if ψ H x ∗ ≠ 0 , for all ψ ∈ N ( D − λ ∗ I ) H \ { 0 } and c H ϕ ≠ 0 , for all ϕ ∈ N ( D − λ ∗ I ) \ { 0 } . Where N ( D − λ ∗ I ) is the nullspace of D − λ ∗ I .
Proof: Let M be nonsingular. Assume D − λ ∗ I is singular and c H ϕ = 0 , we want to show by contradiction that c H ϕ ≠ 0 . We multiply M from the right by the nonzero vector [ ϕ , 0 ] H to yield
[ ( D − λ ∗ I ) − x ∗ c H 0 ] [ ϕ 0 ] = [ ( D − λ ∗ I ) ϕ c H ϕ ] = [ 0 0 ] . (11)
This shows that we have multiplied the nonsingular matrix M by a nonzero vector to obtain the zero vector, this implies that M is singular, a contradiction, hence c H ϕ ≠ 0 . Similarly, let ψ H x ∗ = 0 , multiply M from the left by the nonzero vector [ ψ , 0 ] H to obtain
[ ψ 0 ] H [ ( D − λ ∗ I ) − x ∗ c H 0 ] = [ ψ H ( D − λ ∗ I ) − ψ H x ∗ ] = [ 0 H 0 ] .
This shows that M is singular, contradicting the nonsingularity of M , therefore, ψ H x ∗ ≠ 0 .
Conversely, let D − λ ∗ I be singular of rank ( D − λ ∗ I ) = n − 1 , and assume ψ H x ∗ ≠ 0 and c H ϕ ≠ 0 . We want to show that M is nonsingular. If we can show that the vector [ p , q ] H is zero in
[ ( D − λ ∗ I ) − x ∗ c H 0 ] [ p q ] = [ 0 0 ] ,
then M is nonsingular. After expanding the above equation, we obtain
( D − λ ∗ I ) p − q x ∗ = 0 (12)
c H p = 0. (13)
By using the fact that ψ H ( D − λ ∗ I ) = 0 H in ψ H ( D − λ ∗ I ) p − q ( ψ H x ∗ ) = 0 , we have q ( ψ H x ∗ ) = 0 . But by assumption, ψ H x ∗ ≠ 0 , hence q = 0 . With this value of q , we are left with ( D − λ ∗ I ) p = 0 in (12) and because D − λ ∗ I is singular, this implies that p = α ϕ . After substituting the value of p into (13), we have α c H ϕ = 0 from which α = 0 is immediate since c H ϕ ≠ 0 . Therefore, p = 0 and M is nonsingular.
Next, we present Algorithm 1 for computing the complex eigenpair of D using complex arithmetic. This is the main contribution to knowledge in this paper.
Stop Algorithm 1 as soon as ‖ Δ v ( k ) ‖ ≤ tol .
Next, we present Algorithm 4 for computing the complex eigenpair of D using complex arithmetic.
In this section, we compare the performance of the algorithm (Algorithm 1) obtained by adding Ruhe’s normalization with three other algorithms (Algorithm 2, Algorithm 3 and Algorithm 4) which were presented in the last section on three numerical examples. Throughout this section w ( k ) = [ x 1 ( k ) T , x 2 ( k ) T ] and λ ( k ) = [ α ( k ) , β ( k ) ] .
Example 3.1.
Consider the matrix
D = [ 0 1 − 1 0 ] .
We compared the performance of the four algorithms on the two by two matrix and the results are as presented in
β ( 0 ) = 9.9 × 10 − 1 i , x ( 0 ) = [ 1 0 ] + [ 1 0 ] i , and c = N ( A + i I ) . It was observed that
0 | 6.00000e−03+9.90000e−01i | 1.7e+02 | 2.0e+00 | 1.7e+02 | 2.7e+00 |
1 | 1.41739e+00+2.39290e+00i | 1.7e+02 | 3.7e+00 | 1.7e+02 | 3.4e+02 |
2 | 7.08322e−14−1.00000e+00i | 3.2e+02 | 1.4e−13 | 3.2e+02 | 6.3e+02 |
3 | 4.90140e−16−1.00000e+00i | 2.2e−11 | 5.4e−16 | 2.2e−11 | 4.4e−11 |
0 | 6.00000e−03 | 0.99000 | 1.1e+00 | 1.8e−02 | 1.1e+00 | 2.1e+00 |
1 | 3.09120e−03 | 1.00505 | 4.2e−01 | 4.3e−03 | 4.2e−01 | 6.4e−01 |
2 | 8.65482e−04 | 1.00141 | 8.2e−02 | 1.5e−03 | 8.2e−02 | 8.9e−02 |
3 | 6.54625e−05 | 1.00011 | 3.4e−03 | 1.2e−04 | 3.4e−03 | 3.4e−03 |
4 | 2.19153e−07 | 1.00000 | 5.6e−06 | 4.2e−07 | 5.7e−06 | 5.7e−06 |
5 | 1.23636e−12 | 1.00000 | 1.6e−11 | 2.4e−12 | 1.6e−11 | 1.6e−11 |
6 | 4.04413e−18 | 1.00000 | 7.9e−17 | 1.0e−18 | 7.9e−17 | 1.6e−16 |
0 | 6.00000e−03 | 0.99000 | 1.1e+00 | 1.8e−02 | 1.1e+00 | 2.1e+00 |
1 | 3.09120e−03 | 1.00505 | 4.2e−01 | 4.3e−03 | 4.2e−01 | 6.4e−01 |
2 | 8.65482e−04 | 1.00141 | 8.2e−02 | 1.5e−03 | 8.2e−02 | 8.9e−02 |
3 | 6.54625e−05 | 1.00011 | 3.4e−03 | 1.2e−04 | 3.4e−03 | 3.4e−03 |
4 | 2.19153e−07 | 1.00000 | 5.6e−06 | 4.2e−07 | 5.7e−06 | 5.7e−06 |
5 | 1.23636e−12 | 1.00000 | 1.6e−11 | 2.4e−12 | 1.6e−11 | 1.6e−11 |
6 | 4.41777e−18 | 1.00000 | 0.0e+00 | 0.0e+00 | 0.0e+00 | 0.0e+00 |
0 | 6.00000e−03+9.90000e−01i | 1.1e+00 | 1.8e−02 | 1.1e+00 | 2.1e+00 |
1 | −3.09120e−03+1.00505e+00i | 4.2e−01 | 4.3e−03 | 4.2e−01 | 6.4e−01 |
2 | −8.65482e−04+1.00141e+00i | 8.2e−02 | 1.5e−03 | 8.2e−02 | 8.9e−02 |
3 | −6.54625e−05+1.00011e+00i | 3.4e−03 | 1.2e−04 | 3.4e−03 | 3.4e−03 |
4 | −2.19153e−07+1.00000e+00i | 5.6e−06 | 4.2e−07 | 5.7e−06 | 5.7e−06 |
5 | −1.23633e−12+1.00000e+00i | 1.6e−11 | 2.4e−12 | 1.6e−11 | 1.6e−11 |
6 | 1.68283e−17+1.00000e+00i | 0.0e+00 | 8.4e−18 | 7.6e−17 | 1.5e−16 |
Algorithm 1 converged after only four iterations while it took seven iterates for the other three to converge to the eigenvalue λ ∗ = i .
Example 3.2.
The grcar matrix [
D ( i , j ) = ( − 1 , if i = j + 1 1 , if i ≤ j and j ≤ i + k 0 , Otherwise .
Example 3.3.
Consider the 200 by 200 matrix D bwm200.mtx from the matrix market library [
For this example, in all four algorithms we take α ( 0 ) = 0.0 , β ( 0 ) = 2.5 in line with [
0 | 9.00000e−02+2.00000e−01i | 1.2e+00 | 1.3e+00 | 1.8e+00 | 2.2e+00 |
1 | 1.08132e+00+1.08186e+00i | 1.5e+00 | 2.6e+00 | 3.0e+00 | 1.6e+00 |
2 | 3.72785e+00+9.63132e−01i | 9.1e−01 | 1.3e+00 | 1.6e+00 | 4.0e+00 |
3 | 2.47494e+00+7.62445e−01i | 5.7e−01 | 7.6e−01 | 9.4e−01 | 1.2e+00 |
4 | 1.71950e+00+7.19775e−01i | 7.6e−01 | 4.6e−01 | 8.9e−01 | 4.3e−01 |
5 | 1.26075e+00+7.25835e−01i | 3.7e−01 | 3.1e−01 | 4.8e−01 | 3.5e−01 |
6 | 1.56634e+00+7.38078e−01i | 3.1e−01 | 1.6e−01 | 3.5e−01 | 1.1e−01 |
7 | 1.62480e+00+5.86198e−01i | 1.1e−01 | 6.7e−02 | 1.3e−01 | 5.1e−02 |
8 | 1.58877e+00+6.42286e−01i | 1.9e−02 | 6.8e−03 | 2.0e−02 | 7.7e−03 |
9 | 1.58214e+00+6.43859e−01i | 4.3e−04 | 1.8e−04 | 4.6e−04 | 1.3e−04 |
10 | 1.58207e+00+6.43690e−01i | 2.1e−07 | 7.1e−08 | 2.2e−07 | 7.8e−08 |
11 | 1.58207e+00+6.43690e−01i | 4.6e−14 | 1.9e−14 | 4.9e−14 | 1.5e−14 |
0 | 9.00000e−02 | 0.20000 | 7.6e−01 | 1.4e+00 | 1.6e+00 | 2.0e+00 |
1 | 1.49489e+00 | 0.11791 | 1.1e+00 | 1.1e+00 | 1.5e+00 | 1.1e+00 |
2 | 2.03853e+00 | 1.09037 | 5.5e−01 | 5.1e−01 | 7.5e−01 | 1.3e+00 |
3 | 1.70500e+00 | 0.69852 | 4.6e−01 | 3.2e−01 | 5.6e−01 | 3.2e−01 |
4 | 1.50162e+00 | 0.45319 | 5.5e−01 | 3.8e−01 | 6.7e−01 | 1.8e−01 |
5 | 1.84080e+00 | 0.63082 | 3.1e−01 | 1.9e−01 | 3.6e−01 | 2.6e−01 |
6 | 1.66945e+00 | 0.55208 | 1.5e−01 | 1.3e−01 | 2.0e−01 | 7.6e−02 |
7 | 1.55071e+00 | 0.60360 | 7.0e−02 | 5.4e−02 | 8.9e−02 | 2.3e−02 |
8 | 1.58816e+00 | 0.64225 | 7.9e−03 | 6.2e−03 | 1.0e−02 | 4.5e−03 |
9 | 1.58207e+00 | 0.64358 | 1.4e−04 | 1.1e−04 | 1.8e−04 | 5.9e−05 |
10 | 1.58207e+00 | 0.64369 | 3.0e−08 | 2.1e−08 | 3.7e−08 | 1.8e−08 |
11 | 1.58207e+00 | 0.64369 | 2.0e−15 | 1.6e−15 | 2.5e−15 | 7.8e−16 |
0 | 9.00000e−02 | 0.20000 | 7.6e−01 | 1.4e+00 | 1.6e+00 | 2.0e+00 |
1 | 1.49489e+00 | 0.11791 | 1.1e+00 | 1.1e+00 | 1.5e+00 | 1.1e+00 |
2 | 2.03853e+00 | 1.09037 | 5.5e−01 | 5.1e−01 | 7.5e−01 | 1.3e+00 |
3 | 1.70500e+00 | 0.69852 | 4.6e−01 | 3.2e−01 | 5.6e−01 | 3.2e−01 |
4 | 1.50162e+00 | 0.45319 | 5.5e−01 | 3.8e−01 | 6.7e−01 | 1.8e−01 |
5 | 1.84080e+00 | 0.63082 | 3.1e−01 | 1.9e−01 | 3.6e−01 | 2.6e−01 |
6 | 1.66945e+00 | 0.55208 | 1.5e−01 | 1.3e−01 | 2.0e−01 | 7.6e−02 |
7 | 1.55071e+00 | 0.60360 | 7.0e−02 | 5.4e−02 | 8.9e−02 | 2.3e−02 |
8 | 1.58816e+00 | 0.64225 | 7.9e−03 | 6.2e−03 | 1.0e−02 | 4.5e−03 |
9 | 1.58207e+00 | 0.64358 | 1.4e−04 | 1.1e−04 | 1.8e−04 | 5.9e−05 |
10 | 1.58207e+00 | 0.64369 | 3.0e−08 | 2.1e−08 | 3.7e−08 | 1.8e−08 |
11 | 1.58207e+00 | 0.64369 | 2.0e−15 | 1.6e−15 | 2.5e−15 | 8.3e−16 |
0 | 9.00000e−02+2.00000e−01i | 7.6e−01 | 1.4e+00 | 1.6e+00 | 2.0e+00 |
1 | 1.49489e+00+1.17906e−01i | 1.1e+00 | 1.1e+00 | 1.5e+00 | 1.1e+00 |
2 | 2.03853e+00+1.09037e+00i | 5.5e−01 | 5.1e−01 | 7.5e−01 | 1.3e+00 |
3 | 1.70500e+00+6.98519e−01i | 4.6e−01 | 3.2e−01 | 5.6e−01 | 3.2e−01 |
4 | 1.50162e+00+4.53192e−01i | 5.5e−01 | 3.8e−01 | 6.7e−01 | 1.8e−01 |
5 | 1.84080e+00+6.30823e−01i | 3.1e−01 | 1.9e−01 | 3.6e−01 | 2.6e−01 |
6 | 1.66945e+00+5.52083e−01i | 1.5e−01 | 1.3e−01 | 2.0e−01 | 7.6e−02 |
7 | 1.55071e+00+6.03599e−01i | 7.0e−02 | 5.4e−02 | 8.9e−02 | 2.3e−02 |
8 | 1.58816e+00+6.42251e−01i | 7.9e−03 | 6.2e−03 | 1.0e−02 | 4.5e−03 |
9 | 1.58207e+00+6.43581e−01i | 1.4e−04 | 1.1e−04 | 1.8e−04 | 5.9e−05 |
10 | 1.58207e+00+6.43690e−01i | 3.0e−08 | 2.1e−08 | 3.7e−08 | 1.8e−08 |
11 | 1.58207e+00+6.43690e−01i | 2.0e−15 | 1.6e−15 | 2.5e−15 | 7.9e−16 |
the vector of all ones. Results of numerical experiments are as tabulated in Tables 9-12 respectively. We observed that while it took Algorithm 1 with a fixed complex vector six iterations to converge to the desired eigenvalue 1.81999 × 10 − 5 + 2.13950 i as shown in
As shown in
0 | 0.00000e+00+2.50000e+00i | 1.0e+00 | 5.5e−02 | 1.0e+00 | 3.8e+01 |
1 | −5.34905e−02+2.48607e+00i | 4.2e−02 | 3.7e−01 | 3.8e−01 | 5.5e−02 |
2 | −2.93885e−03+2.11634e+00i | 4.0e−03 | 2.3e−02 | 2.4e−02 | 1.6e−02 |
3 | 1.47186e−04+2.13954e+00i | 4.5e−05 | 1.3e−04 | 1.4e−04 | 9.5e−05 |
4 | 1.82101e−05+2.13950e+00i | 2.3e−09 | 1.1e−08 | 1.1e−08 | 6.1e−09 |
5 | 1.81999e−05+2.13950e+00i | 7.9e−15 | 1.2e−14 | 1.5e−14 | 1.8e−14 |
0 | 0.00000e+00 | 2.50000 | 3.8e+00 | 7.8e−01 | 3.9e+00 | 3.6e+01 |
1 | 2.34253e−01 | 1.75371 | 1.8e+00 | 2.2e−01 | 1.8e+00 | 7.8e+00 |
2 | 1.18745e−01 | 1.94460 | 8.1e−01 | 1.4e−01 | 8.2e−01 | 1.7e+00 |
3 | 4.47044e−02 | 2.06484 | 2.5e−01 | 7.0e−02 | 2.6e−01 | 3.4e−01 |
4 | 8.82702e−03 | 2.12479 | 3.1e−02 | 1.7e−02 | 3.5e−02 | 3.7e−02 |
5 | 2.48114e−04 | 2.13905 | 4.8e−04 | 5.2e−04 | 7.1e−04 | 7.1e−04 |
6 | 1.80714e−05 | 2.13950 | 1.2e−07 | 2.5e−07 | 2.8e−07 | 2.8e−07 |
7 | 1.81999e−05 | 2.13950 | 2.1e−14 | 2.9e−14 | 3.6e−14 | 6.0e−14 |
0 | 0.00000e+00 | 2.50000 | 3.8e+00 | 7.8e−01 | 3.9e+00 | 3.6e+01 |
1 | 2.34253e−01 | 1.75371 | 1.8e+00 | 2.2e−01 | 1.8e+00 | 7.8e+00 |
2 | 1.18745e−01 | 1.94460 | 8.1e−01 | 1.4e−01 | 8.2e−01 | 1.7e+00 |
3 | 4.47044e−02 | 2.06484 | 2.5e−01 | 7.0e−02 | 2.6e−01 | 3.4e−01 |
4 | 8.82702e−03 | 2.12479 | 3.1e−02 | 1.7e−02 | 3.5e−02 | 3.7e−02 |
5 | 2.48114e−04 | 2.13905 | 4.8e−04 | 5.2e−04 | 7.1e−04 | 7.1e−04 |
6 | 1.80714e−05 | 2.13950 | 1.2e−07 | 2.5e−07 | 2.8e−07 | 2.8e−07 |
7 | 1.81999e−05 | 2.13950 | 1.1e−14 | 9.2e−14 | 9.2e−14 | 6.3e−14 |
8 | 1.81999e−05 | 2.13950 | 1.7e−14 | 6.8e−14 | 7.0e−14 | 5.6e−14 |
9 | 1.81999e−05 | 2.13950 | 1.4e−14 | 6.8e−15 | 1.5e−14 | 5.1e−14 |
0 | 0.00000e+00+2.50000e+00i | 3.8e+00 | 7.8e−01 | 3.9e+00 | 3.6e+01 |
1 | 2.34253e−01+1.75371e+00i | 1.8e+00 | 2.2e−01 | 1.8e+00 | 7.8e+00 |
2 | 1.18745e−01+1.94460e+00i | 8.1e−01 | 1.4e−01 | 8.2e−01 | 1.7e+00 |
3 | 4.47044e−02+2.06484e+00i | 2.5e−01 | 7.0e−02 | 2.6e−01 | 3.4e−01 |
4 | 8.82702e−03+2.12479e+00i | 3.1e−02 | 1.7e−02 | 3.5e−02 | 3.7e−02 |
5 | 2.48114e−04+2.13905e+00i | 4.8e−04 | 5.2e−04 | 7.1e−04 | 7.1e−04 |
6 | 1.80714e−05+2.13950e+00i | 1.2e−07 | 2.5e−07 | 2.8e−07 | 2.8e−07 |
7 | 1.81999e−05+2.13950e+00i | 1.1e−14 | 3.7e−14 | 3.8e−14 | 6.3e−14 |
In this paper, we have shown using the ABCD Lemma that the Jacobian obtained from adding Ruhe’s normalization to the matrix pencil is non-singular at the root. With a proper choice of the fixed complex vector and an initial guess close to the eigenvalue of interest, we recommend the use of Algorithm 1 for the numerical computation of the desired complex eigenpair of a matrix because of its faster convergence.
The authors acknowledge valuable suggestions of an anonymous referee which helped in improving the final version of this paper. The main part of this work was done when the first author was a Ph.D. student at the University of Bath and duly acknowledge financial support in the form of a studentship.
Akinola, R.O., Musa, K., Nyam, I.A., Kutchin, S.Y. and Joshua, K.V. (2017) An Efficient Algorithm for the Numerical Computation of the Com- plex Eigenpair of a Matrix. Journal of Applied Mathematics and Physics, 5, 680-692. https://doi.org/10.4236/jamp.2017.53057