#include <stdio.h>
#include <math.h>
#include <complex.h>
#define N 4
#define EPS 1e-8
#define MAX_ITER 100
double complex A[N][N] = {
{1.0, 2.0, 3.0, 5.0},
{3.0, -5.0, 1.0, 4.0},
{5.0, 9.0, 2.0, -6.0},
{1.0, 7.0, 4.0, 1.0}
};
/* LU decomposition */
void lu_decomposition(double complex B[N][N],
double complex L[N][N],
double complex U[N][N])
{
for(int i=0;i<N;i++){
for(int j=0;j<N;j++){
L[i][j]=(i==j)?1.0+0.0*I:0.0+0.0*I;
U[i][j]=0.0+0.0*I;
}
}
for(int i=0;i<N;i++){
for(int j=i;j<N;j++){
double complex sum = 0.0 + 0.0*I;
for(int k=0;k<i;k++)
sum += L[i][k]*U[k][j];
U[i][j] = B[i][j] - sum;
}
for(int j=i+1;j<N;j++){
double complex sum = 0.0 + 0.0*I;
for(int k=0;k<i;k++)
sum += L[j][k]*U[k][i];
L[j][i] = (B[j][i]-sum)/U[i][i];
}
}
}
/* Forward substitution */
void forward_substitution(double complex L[N][N],
double complex x[N],
double complex y[N])
{
for(int i=0;i<N;i++){
double complex sum = 0.0 + 0.0*I;
for(int j=0;j<i;j++)
sum += L[i][j]*y[j];
y[i] = x[i] - sum;
}
}
/* Backward substitution */
void backward_substitution(double complex U[N][N],
double complex y[N],
double complex x[N])
{
for(int i=N-1;i>=0;i--){
double complex sum = 0.0 + 0.0*I;
for(int j=i+1;j<N;j++)
sum += U[i][j]*x[j];
x[i] = (y[i]-sum)/U[i][i];
}
}
void inverse_iteration(double complex lambda_hat)
{
double complex B[N][N];
double complex L[N][N];
double complex U[N][N];
double complex x[N] =
{
1.0+0.0*I,
1.0+0.0*I,
1.0+0.0*I,
1.0+0.0*I
};
double complex y[N];
double complex x_next[N];
for(int i=0;i<N;i++){
for(int j=0;j<N;j++){
B[i][j] = A[i][j];
if(i==j)
B[i][j] -= lambda_hat;
}
}
lu_decomposition(B,L,U);
printf("\n==================================================================\n"); printf(" Running Inverse Iteration for Matrix 1 (lambda_hat = %.3f %+.3fi)\n", printf("==================================================================\n");
int iter=0;
double diff;
double complex lambda = 0.0 + 0.0*I;
do{
forward_substitution(L,x,y);
backward_substitution(U,y,x_next);
/* largest magnitude component */
double max_mag = 0.0;
int idx = 0;
for(int i=0;i<N;i++){
if(cabs(x_next
[i
]) > max_mag
){ max_mag
= cabs(x_next
[i
]); idx = i;
}
}
double complex scale = x_next[idx];
for(int i=0;i<N;i++)
x_next[i] /= scale;
diff = 0.0;
for(int i=0;i<N;i++)
diff
+= cabs(x_next
[i
]-x
[i
]);
for(int i=0;i<N;i++)
x[i]=x_next[i];
lambda = lambda_hat + 1.0/scale;
// Updated layout to print elements similarly to Code 2
printf("Iter %2d: x = [(%.4f%+.4fi), (%.4f%+.4fi), (%.4f%+.4fi), (%.4f%+.4fi)], lambda = %.6f%+.6fi\n", iter + 1,
iter++;
}while(diff>EPS && iter<MAX_ITER);
// Final answer output block
printf("\n Discovered Answer:\n"); printf(" Eigenvector (x) = [(%.4f%+.4fi), (%.4f%+.4fi), (%.4f%+.4fi), (%.4f%+.4fi)]\n", printf("==================================================================\n");
// Verification block integrated safely inside the function scope
printf("\n Verification Check (A*x - lambda*x):\n"); for (int i = 0; i < N; i++) {
double complex ax_i = 0.0 + 0.0*I;
for (int j = 0; j < N; j++) {
ax_i += A[i][j] * x[j];
}
double complex lx_i = lambda * x[i];
double complex residue = ax_i - lx_i;
printf(" Row %d: A*x = (%9.5f%+.5fi), lambda*x = (%9.5f%+.5fi), Residual Magnitude = %e\n", i + 1,
}
printf("==================================================================\n"); }
int main()
{
printf("=== Matrix 1: Finding Missing Spectrum Elements via Complex-Shifts ===\n");
find_remaining_eigen_with_this_name_or_similar:
// You can safely modify these values when you want to change your guesses later
inverse_iteration(-5.4 + 0.0*I);
inverse_iteration(-2.1 + 1.7*I);
inverse_iteration(-2.1 - 1.7*I);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxtYXRoLmg+CiNpbmNsdWRlIDxjb21wbGV4Lmg+CiAKI2RlZmluZSBOIDQKI2RlZmluZSBFUFMgMWUtOAojZGVmaW5lIE1BWF9JVEVSIDEwMAogCmRvdWJsZSBjb21wbGV4IEFbTl1bTl0gPSB7CiAgICB7MS4wLCAyLjAsIDMuMCwgNS4wfSwKICAgIHszLjAsIC01LjAsIDEuMCwgNC4wfSwKICAgIHs1LjAsIDkuMCwgMi4wLCAtNi4wfSwKICAgIHsxLjAsIDcuMCwgNC4wLCAxLjB9Cn07CiAKLyogTFUgZGVjb21wb3NpdGlvbiAqLwp2b2lkIGx1X2RlY29tcG9zaXRpb24oZG91YmxlIGNvbXBsZXggQltOXVtOXSwKICAgICAgICAgICAgICAgICAgICAgIGRvdWJsZSBjb21wbGV4IExbTl1bTl0sCiAgICAgICAgICAgICAgICAgICAgICBkb3VibGUgY29tcGxleCBVW05dW05dKQp7CiAgICBmb3IoaW50IGk9MDtpPE47aSsrKXsKICAgICAgICBmb3IoaW50IGo9MDtqPE47aisrKXsKICAgICAgICAgICAgTFtpXVtqXT0oaT09aik/MS4wKzAuMCpJOjAuMCswLjAqSTsKICAgICAgICAgICAgVVtpXVtqXT0wLjArMC4wKkk7CiAgICAgICAgfQogICAgfQogCiAgICBmb3IoaW50IGk9MDtpPE47aSsrKXsKIAogICAgICAgIGZvcihpbnQgaj1pO2o8TjtqKyspewogICAgICAgICAgICBkb3VibGUgY29tcGxleCBzdW0gPSAwLjAgKyAwLjAqSTsKIAogICAgICAgICAgICBmb3IoaW50IGs9MDtrPGk7aysrKQogICAgICAgICAgICAgICAgc3VtICs9IExbaV1ba10qVVtrXVtqXTsKIAogICAgICAgICAgICBVW2ldW2pdID0gQltpXVtqXSAtIHN1bTsKICAgICAgICB9CiAKICAgICAgICBmb3IoaW50IGo9aSsxO2o8TjtqKyspewogICAgICAgICAgICBkb3VibGUgY29tcGxleCBzdW0gPSAwLjAgKyAwLjAqSTsKIAogICAgICAgICAgICBmb3IoaW50IGs9MDtrPGk7aysrKQogICAgICAgICAgICAgICAgc3VtICs9IExbal1ba10qVVtrXVtpXTsKIAogICAgICAgICAgICBMW2pdW2ldID0gKEJbal1baV0tc3VtKS9VW2ldW2ldOwogICAgICAgIH0KICAgIH0KfQogCi8qIEZvcndhcmQgc3Vic3RpdHV0aW9uICovCnZvaWQgZm9yd2FyZF9zdWJzdGl0dXRpb24oZG91YmxlIGNvbXBsZXggTFtOXVtOXSwKICAgICAgICAgICAgICAgICAgICAgICAgICBkb3VibGUgY29tcGxleCB4W05dLAogICAgICAgICAgICAgICAgICAgICAgICAgIGRvdWJsZSBjb21wbGV4IHlbTl0pCnsKICAgIGZvcihpbnQgaT0wO2k8TjtpKyspewogCiAgICAgICAgZG91YmxlIGNvbXBsZXggc3VtID0gMC4wICsgMC4wKkk7CiAKICAgICAgICBmb3IoaW50IGo9MDtqPGk7aisrKQogICAgICAgICAgICBzdW0gKz0gTFtpXVtqXSp5W2pdOwogCiAgICAgICAgeVtpXSA9IHhbaV0gLSBzdW07CiAgICB9Cn0KIAovKiBCYWNrd2FyZCBzdWJzdGl0dXRpb24gKi8Kdm9pZCBiYWNrd2FyZF9zdWJzdGl0dXRpb24oZG91YmxlIGNvbXBsZXggVVtOXVtOXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgZG91YmxlIGNvbXBsZXggeVtOXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgZG91YmxlIGNvbXBsZXggeFtOXSkKewogICAgZm9yKGludCBpPU4tMTtpPj0wO2ktLSl7CiAKICAgICAgICBkb3VibGUgY29tcGxleCBzdW0gPSAwLjAgKyAwLjAqSTsKIAogICAgICAgIGZvcihpbnQgaj1pKzE7ajxOO2orKykKICAgICAgICAgICAgc3VtICs9IFVbaV1bal0qeFtqXTsKIAogICAgICAgIHhbaV0gPSAoeVtpXS1zdW0pL1VbaV1baV07CiAgICB9Cn0KIAp2b2lkIGludmVyc2VfaXRlcmF0aW9uKGRvdWJsZSBjb21wbGV4IGxhbWJkYV9oYXQpCnsKICAgIGRvdWJsZSBjb21wbGV4IEJbTl1bTl07CiAgICBkb3VibGUgY29tcGxleCBMW05dW05dOwogICAgZG91YmxlIGNvbXBsZXggVVtOXVtOXTsKIAogICAgZG91YmxlIGNvbXBsZXggeFtOXSA9CiAgICB7CiAgICAgICAgMS4wKzAuMCpJLAogICAgICAgIDEuMCswLjAqSSwKICAgICAgICAxLjArMC4wKkksCiAgICAgICAgMS4wKzAuMCpJCiAgICB9OwogCiAgICBkb3VibGUgY29tcGxleCB5W05dOwogICAgZG91YmxlIGNvbXBsZXggeF9uZXh0W05dOwogCiAgICBmb3IoaW50IGk9MDtpPE47aSsrKXsKICAgICAgICBmb3IoaW50IGo9MDtqPE47aisrKXsKIAogICAgICAgICAgICBCW2ldW2pdID0gQVtpXVtqXTsKIAogICAgICAgICAgICBpZihpPT1qKQogICAgICAgICAgICAgICAgQltpXVtqXSAtPSBsYW1iZGFfaGF0OwogICAgICAgIH0KICAgIH0KIAogICAgbHVfZGVjb21wb3NpdGlvbihCLEwsVSk7CiAKICAgIHByaW50ZigiXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiIpOwogICAgcHJpbnRmKCIgUnVubmluZyBJbnZlcnNlIEl0ZXJhdGlvbiBmb3IgTWF0cml4IDEgKGxhbWJkYV9oYXQgPSAlLjNmICUrLjNmaSlcbiIsCiAgICAgICAgICAgY3JlYWwobGFtYmRhX2hhdCksIGNpbWFnKGxhbWJkYV9oYXQpKTsKICAgIHByaW50ZigiPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4iKTsKIAogICAgaW50IGl0ZXI9MDsKICAgIGRvdWJsZSBkaWZmOwogICAgZG91YmxlIGNvbXBsZXggbGFtYmRhID0gMC4wICsgMC4wKkk7CiAKICAgIGRvewogCiAgICAgICAgZm9yd2FyZF9zdWJzdGl0dXRpb24oTCx4LHkpOwogICAgICAgIGJhY2t3YXJkX3N1YnN0aXR1dGlvbihVLHkseF9uZXh0KTsKIAogICAgICAgIC8qIGxhcmdlc3QgbWFnbml0dWRlIGNvbXBvbmVudCAqLwogICAgICAgIGRvdWJsZSBtYXhfbWFnID0gMC4wOwogICAgICAgIGludCBpZHggPSAwOwogCiAgICAgICAgZm9yKGludCBpPTA7aTxOO2krKyl7CiAgICAgICAgICAgIGlmKGNhYnMoeF9uZXh0W2ldKSA+IG1heF9tYWcpewogICAgICAgICAgICAgICAgbWF4X21hZyA9IGNhYnMoeF9uZXh0W2ldKTsKICAgICAgICAgICAgICAgIGlkeCA9IGk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAKICAgICAgICBkb3VibGUgY29tcGxleCBzY2FsZSA9IHhfbmV4dFtpZHhdOwogCiAgICAgICAgZm9yKGludCBpPTA7aTxOO2krKykKICAgICAgICAgICAgeF9uZXh0W2ldIC89IHNjYWxlOwogCiAgICAgICAgZGlmZiA9IDAuMDsKIAogICAgICAgIGZvcihpbnQgaT0wO2k8TjtpKyspCiAgICAgICAgICAgIGRpZmYgKz0gY2Ficyh4X25leHRbaV0teFtpXSk7CiAKICAgICAgICBmb3IoaW50IGk9MDtpPE47aSsrKQogICAgICAgICAgICB4W2ldPXhfbmV4dFtpXTsKIAogICAgICAgIGxhbWJkYSA9IGxhbWJkYV9oYXQgKyAxLjAvc2NhbGU7CiAKICAgICAgICAvLyBVcGRhdGVkIGxheW91dCB0byBwcmludCBlbGVtZW50cyBzaW1pbGFybHkgdG8gQ29kZSAyCiAgICAgICAgcHJpbnRmKCJJdGVyICUyZDogeCA9IFsoJS40ZiUrLjRmaSksICglLjRmJSsuNGZpKSwgKCUuNGYlKy40ZmkpLCAoJS40ZiUrLjRmaSldLCBsYW1iZGEgPSAlLjZmJSsuNmZpXG4iLCAKICAgICAgICAgICAgICAgaXRlciArIDEsIAogICAgICAgICAgICAgICBjcmVhbCh4WzBdKSwgY2ltYWcoeFswXSksCiAgICAgICAgICAgICAgIGNyZWFsKHhbMV0pLCBjaW1hZyh4WzFdKSwKICAgICAgICAgICAgICAgY3JlYWwoeFsyXSksIGNpbWFnKHhbMl0pLAogICAgICAgICAgICAgICBjcmVhbCh4WzNdKSwgY2ltYWcoeFszXSksCiAgICAgICAgICAgICAgIGNyZWFsKGxhbWJkYSksIGNpbWFnKGxhbWJkYSkpOwogCiAgICAgICAgaXRlcisrOwogCiAgICB9d2hpbGUoZGlmZj5FUFMgJiYgaXRlcjxNQVhfSVRFUik7CiAKICAgIC8vIEZpbmFsIGFuc3dlciBvdXRwdXQgYmxvY2sKICAgIHByaW50ZigiXG4gRGlzY292ZXJlZCBBbnN3ZXI6XG4iKTsKICAgIHByaW50ZigiIEVpZ2VudmFsdWUgKGxhbWJkYSkgICA9ICUxMC42ZiAlKy42ZmlcbiIsIGNyZWFsKGxhbWJkYSksIGNpbWFnKGxhbWJkYSkpOwogICAgcHJpbnRmKCIgRWlnZW52ZWN0b3IgKHgpICAgICAgICA9IFsoJS40ZiUrLjRmaSksICglLjRmJSsuNGZpKSwgKCUuNGYlKy40ZmkpLCAoJS40ZiUrLjRmaSldXG4iLCAKICAgICAgICAgICBjcmVhbCh4WzBdKSwgY2ltYWcoeFswXSksCiAgICAgICAgICAgY3JlYWwoeFsxXSksIGNpbWFnKHhbMV0pLAogICAgICAgICAgIGNyZWFsKHhbMl0pLCBjaW1hZyh4WzJdKSwKICAgICAgICAgICBjcmVhbCh4WzNdKSwgY2ltYWcoeFszXSkpOwogICAgcHJpbnRmKCI9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiIpOwogCiAgICAvLyBWZXJpZmljYXRpb24gYmxvY2sgaW50ZWdyYXRlZCBzYWZlbHkgaW5zaWRlIHRoZSBmdW5jdGlvbiBzY29wZQogICAgcHJpbnRmKCJcbiBWZXJpZmljYXRpb24gQ2hlY2sgKEEqeCAtIGxhbWJkYSp4KTpcbiIpOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBOOyBpKyspIHsKICAgICAgICBkb3VibGUgY29tcGxleCBheF9pID0gMC4wICsgMC4wKkk7CiAgICAgICAgZm9yIChpbnQgaiA9IDA7IGogPCBOOyBqKyspIHsKICAgICAgICAgICAgYXhfaSArPSBBW2ldW2pdICogeFtqXTsKICAgICAgICB9CiAgICAgICAgZG91YmxlIGNvbXBsZXggbHhfaSA9IGxhbWJkYSAqIHhbaV07CiAgICAgICAgZG91YmxlIGNvbXBsZXggcmVzaWR1ZSA9IGF4X2kgLSBseF9pOwogICAgICAgIHByaW50ZigiIFJvdyAlZDogQSp4ID0gKCU5LjVmJSsuNWZpKSwgbGFtYmRhKnggPSAoJTkuNWYlKy41ZmkpLCBSZXNpZHVhbCBNYWduaXR1ZGUgPSAlZVxuIiwgCiAgICAgICAgICAgICAgIGkgKyAxLCAKICAgICAgICAgICAgICAgY3JlYWwoYXhfaSksIGNpbWFnKGF4X2kpLCAKICAgICAgICAgICAgICAgY3JlYWwobHhfaSksIGNpbWFnKGx4X2kpLCAKICAgICAgICAgICAgICAgY2FicyhyZXNpZHVlKSk7CiAgICB9CiAgICBwcmludGYoIj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuIik7Cn0KIAppbnQgbWFpbigpCnsKICAgIHByaW50ZigiPT09IE1hdHJpeCAxOiBGaW5kaW5nIE1pc3NpbmcgU3BlY3RydW0gRWxlbWVudHMgdmlhIENvbXBsZXgtU2hpZnRzID09PVxuIik7CgogICAgZmluZF9yZW1haW5pbmdfZWlnZW5fd2l0aF90aGlzX25hbWVfb3Jfc2ltaWxhcjogCiAgICAvLyBZb3UgY2FuIHNhZmVseSBtb2RpZnkgdGhlc2UgdmFsdWVzIHdoZW4geW91IHdhbnQgdG8gY2hhbmdlIHlvdXIgZ3Vlc3NlcyBsYXRlcgogICAgaW52ZXJzZV9pdGVyYXRpb24oLTUuNCArIDAuMCpJKTsKICAgIGludmVyc2VfaXRlcmF0aW9uKC0yLjEgKyAxLjcqSSk7CiAgICBpbnZlcnNlX2l0ZXJhdGlvbigtMi4xIC0gMS43KkkpOwogCiAgICByZXR1cm4gMDsKfQo=
=== Matrix 1: Finding Missing Spectrum Elements via Complex-Shifts ===
==================================================================
Running Inverse Iteration for Matrix 1 (lambda_hat = -5.400 +0.000i)
==================================================================
Iter 1: x = [(-0.3354+0.0000i), (-0.5824-0.0000i), (1.0000+0.0000i), (0.0721+0.0000i)], lambda = -5.350763+0.000000i
Iter 2: x = [(-0.3379-0.0000i), (-0.5939-0.0000i), (1.0000-0.0000i), (0.0763-0.0000i)], lambda = -5.492612+0.000000i
Iter 3: x = [(-0.3379+0.0000i), (-0.5937-0.0000i), (1.0000-0.0000i), (0.0761-0.0000i)], lambda = -5.489178+0.000000i
Iter 4: x = [(-0.3379-0.0000i), (-0.5937-0.0000i), (1.0000-0.0000i), (0.0761-0.0000i)], lambda = -5.489255+0.000000i
Iter 5: x = [(-0.3379+0.0000i), (-0.5937-0.0000i), (1.0000-0.0000i), (0.0761-0.0000i)], lambda = -5.489254+0.000000i
Iter 6: x = [(-0.3379-0.0000i), (-0.5937-0.0000i), (1.0000-0.0000i), (0.0761-0.0000i)], lambda = -5.489254+0.000000i
Discovered Answer:
Eigenvalue (lambda) = -5.489254 +0.000000i
Eigenvector (x) = [(-0.3379-0.0000i), (-0.5937-0.0000i), (1.0000-0.0000i), (0.0761-0.0000i)]
==================================================================
Verification Check (A*x - lambda*x):
Row 1: A*x = ( 1.85508+0.00000i), lambda*x = ( 1.85508+0.00000i), Residual Magnitude = 8.030443e-11
Row 2: A*x = ( 3.25883+0.00000i), lambda*x = ( 3.25883+0.00000i), Residual Magnitude = 2.493117e-12
Row 3: A*x = ( -5.48925+0.00000i), lambda*x = ( -5.48925+0.00000i), Residual Magnitude = 0.000000e+00
Row 4: A*x = ( -0.41759+0.00000i), lambda*x = ( -0.41759+0.00000i), Residual Magnitude = 1.728266e-10
==================================================================
==================================================================
Running Inverse Iteration for Matrix 1 (lambda_hat = -2.100 +1.700i)
==================================================================
Iter 1: x = [(-0.4181+0.0652i), (-0.3703+0.0217i), (1.0000-0.0000i), (-0.2179-0.1941i)], lambda = -2.115342+1.685657i
Iter 2: x = [(-0.4141+0.0673i), (-0.3707+0.0224i), (1.0000+0.0000i), (-0.2172-0.1894i)], lambda = -2.103743+1.674409i
Iter 3: x = [(-0.4141+0.0673i), (-0.3707+0.0224i), (1.0000+0.0000i), (-0.2172-0.1894i)], lambda = -2.103484+1.674116i
Iter 4: x = [(-0.4141+0.0673i), (-0.3707+0.0224i), (1.0000+0.0000i), (-0.2172-0.1894i)], lambda = -2.103481+1.674115i
Iter 5: x = [(-0.4141+0.0673i), (-0.3707+0.0224i), (1.0000+0.0000i), (-0.2172-0.1894i)], lambda = -2.103481+1.674115i
Discovered Answer:
Eigenvalue (lambda) = -2.103481 +1.674115i
Eigenvector (x) = [(-0.4141+0.0673i), (-0.3707+0.0224i), (1.0000+0.0000i), (-0.2172-0.1894i)]
==================================================================
Verification Check (A*x - lambda*x):
Row 1: A*x = ( 0.75849-0.83477i), lambda*x = ( 0.75849-0.83477i), Residual Magnitude = 4.659298e-12
Row 2: A*x = ( 0.74222-0.66768i), lambda*x = ( 0.74222-0.66768i), Residual Magnitude = 2.149513e-11
Row 3: A*x = ( -2.10348+1.67411i), lambda*x = ( -2.10348+1.67411i), Residual Magnitude = 8.005932e-16
Row 4: A*x = ( 0.77391+0.03470i), lambda*x = ( 0.77391+0.03470i), Residual Magnitude = 5.726044e-11
==================================================================
==================================================================
Running Inverse Iteration for Matrix 1 (lambda_hat = -2.100 -1.700i)
==================================================================
Iter 1: x = [(-0.4181-0.0652i), (-0.3703-0.0217i), (1.0000-0.0000i), (-0.2179+0.1941i)], lambda = -2.115342-1.685657i
Iter 2: x = [(-0.4141-0.0673i), (-0.3707-0.0224i), (1.0000-0.0000i), (-0.2172+0.1894i)], lambda = -2.103743-1.674409i
Iter 3: x = [(-0.4141-0.0673i), (-0.3707-0.0224i), (1.0000-0.0000i), (-0.2172+0.1894i)], lambda = -2.103484-1.674116i
Iter 4: x = [(-0.4141-0.0673i), (-0.3707-0.0224i), (1.0000-0.0000i), (-0.2172+0.1894i)], lambda = -2.103481-1.674115i
Iter 5: x = [(-0.4141-0.0673i), (-0.3707-0.0224i), (1.0000-0.0000i), (-0.2172+0.1894i)], lambda = -2.103481-1.674115i
Discovered Answer:
Eigenvalue (lambda) = -2.103481 -1.674115i
Eigenvector (x) = [(-0.4141-0.0673i), (-0.3707-0.0224i), (1.0000-0.0000i), (-0.2172+0.1894i)]
==================================================================
Verification Check (A*x - lambda*x):
Row 1: A*x = ( 0.75849+0.83477i), lambda*x = ( 0.75849+0.83477i), Residual Magnitude = 4.659298e-12
Row 2: A*x = ( 0.74222+0.66768i), lambda*x = ( 0.74222+0.66768i), Residual Magnitude = 2.149513e-11
Row 3: A*x = ( -2.10348-1.67411i), lambda*x = ( -2.10348-1.67411i), Residual Magnitude = 8.005932e-16
Row 4: A*x = ( 0.77391-0.03470i), lambda*x = ( 0.77391-0.03470i), Residual Magnitude = 5.726044e-11
==================================================================