close all clear all A = [2664.90756576045 -1333.33333333333 -1.75910090621349 1.75910090621338 -1333.33333333333 1333.33333333333 3.01309687989229e-13 -1.75910090621349 5378.68380967978 -2668.42576757288 -36.5549718153830 -1.75910090621392 1.75910090621338 3.01309687989229e-13 -2668.42576757288 2664.90756576045 1.75910090621363 -36.5549718153830 2699.70343666962 -1331.57423242712 -1.75910090621392 1.75910090621363 -1331.57423242712 1331.57423242712]'; iA = [3 9 15 21 3 9 21 3 15 21 27 33 3 9 15 21 33 15 27 33 15 21 27 33]; jA = [3 3 3 3 9 9 9 15 15 15 15 15 21 21 21 21 21 27 27 27 33 33 33 33]; A = sparse(iA,jA,A,36,36); B = [467948717.948718 -125000000.000000 -64102564.1025641 -89743589.7435897 67307692.3076923 -288461538.461539 125000000.000000 -64102564.1025641 -125000000.000000 64102564.1025641 -125000000.000000 613782051.282051 190170940.170940 57692307.6923077 -256410256.410256 -71047008.5470085 125000000.000000 -100961538.461538 48076923.0769231 -125000000.000000 -48076923.0769231 6153.90669515670 439.615384615385 -1670.02136752137 -2116.80911680912 1327.99145299145 -27.7777777777778 -1680.28846153846 -259.615384615385 -1485.57692307692 -240.000000000000 439.615384615385 -434.711538461539 439.615384615385 3300.53151709402 150.528846153846 -1587.60683760684 461.805555555556 -141.025641025641 259.615384615385 284.254807692308 -330.528846153846 -439.615384615385 524.423076923077 150.528846153846 -1670.02136752137 150.528846153846 2318.79273504274 -222.489316239316 -189.503205128205 101.228632478632 1485.57692307692 -330.528846153846 689.903846153846 434.711538461539 150.528846153846 629.423076923077 -64102564.1025641 190170940.170940 164196047.008547 64102564.1025641 -119123931.623932 -43336004.2735043 64102564.1025641 -48076923.0769231 -28245192.3076923 -64102564.1025641 48076923.0769231 -49278846.1538462 -89743589.7435897 57692307.6923077 64102564.1025641 233974358.974359 -125000000.000000 16826923.0769231 -144230769.230769 67307692.3076923 -80929487.1794872 67307692.3076923 -256410256.410256 -119123931.623932 -125000000.000000 306891025.641026 71047008.5470085 57692307.6923077 -50480769.2307692 48076923.0769231 -2116.80911680912 -1587.60683760684 -222.489316239316 2956.95334757835 -1193.57638888889 -617.654914529915 -840.144230769231 -394.030448717949 -840.144230769231 1327.99145299145 461.805555555556 -189.503205128205 -1193.57638888889 1388.05422008547 175.280448717949 -134.415064102564 142.127403846154 -254.607371794872 -27.7777777777778 -141.025641025641 101.228632478632 -617.654914529915 175.280448717949 844.684829059829 645.432692307692 -75.9214743589744 344.951923076923 -71047008.5470085 -43336004.2735043 16826923.0769231 71047008.5470085 57458600.4273504 -16826923.0769231 -14122596.1538462 -288461538.461539 125000000.000000 64102564.1025641 935897435.897436 -250000000.000000 -179487179.487179 125000000.000000 -64102564.1025641 -288461538.461539 125000000.000000 -64102564.1025641 -125000000.000000 64102564.1025641 125000000.000000 -100961538.461538 -48076923.0769231 -250000000.000000 1227564102.56410 3.72529029846191e-09 125000000.000000 -512820512.820513 48076923.0769231 125000000.000000 -100961538.461538 48076923.0769231 -125000000.000000 -48076923.0769231 -1680.28846153846 259.615384615385 1485.57692307692 12307.8133903134 -4.26325641456060e-14 -5.68434188608080e-14 -4233.61823361823 2915.59829059829 194.711538461538 -1680.28846153846 -259.615384615385 -1485.57692307692 -240.000000000000 439.615384615385 -434.711538461539 -259.615384615385 284.254807692308 -330.528846153846 -4.26325641456060e-14 6601.06303418804 301.057692307692 -2915.59829059829 923.611111111111 -330.528846153846 259.615384615385 284.254807692308 -330.528846153846 -439.615384615385 524.423076923077 150.528846153846 -1485.57692307692 -330.528846153846 689.903846153846 -5.68434188608080e-14 301.057692307692 4637.58547008547 -194.711538461538 -330.528846153846 202.457264957265 1485.57692307692 -330.528846153846 689.903846153846 434.711538461539 150.528846153846 629.423076923077 -64102564.1025641 48076923.0769231 -28245192.3076923 3.72529029846191e-09 328392094.017094 64102564.1025641 -48076923.0769231 -86672008.5470086 64102564.1025641 -48076923.0769231 -28245192.3076923 -64102564.1025641 48076923.0769231 -49278846.1538462 -125000000.000000 -64102564.1025641 -144230769.230769 57692307.6923077 -16826923.0769231 -179487179.487179 125000000.000000 64102564.1025641 467948717.948718 -125000000.000000 97756410.2564103 -144230769.230769 67307692.3076923 -80929487.1794872 -125000000.000000 48076923.0769231 67307692.3076923 -50480769.2307692 125000000.000000 -512820512.820513 -48076923.0769231 -125000000.000000 613782051.282051 -48076923.0769231 57692307.6923077 -50480769.2307692 48076923.0769231 -240.000000000000 -439.615384615385 434.711538461539 -840.144230769231 -134.415064102564 645.432692307692 -4233.61823361823 -2915.59829059829 -194.711538461538 6153.90669515670 -2826.76816239316 434.711538461538 -840.144230769231 -394.030448717949 -840.144230769231 439.615384615385 524.423076923077 150.528846153846 -394.030448717949 142.127403846154 -75.9214743589744 2915.59829059829 923.611111111111 -330.528846153846 -2826.76816239316 3300.53151709402 150.528846153846 -134.415064102564 142.127403846154 -254.607371794872 -434.711538461539 150.528846153846 629.423076923077 -840.144230769231 -254.607371794872 344.951923076923 194.711538461538 -330.528846153846 202.457264957265 434.711538461538 150.528846153846 2318.79273504274 645.432692307692 -75.9214743589744 344.951923076923 64102564.1025641 -48076923.0769231 -49278846.1538462 -80929487.1794872 48076923.0769231 -14122596.1538462 -64102564.1025641 48076923.0769231 -86672008.5470086 97756410.2564103 -48076923.0769231 164196047.008547 -16826923.0769231 -14122596.1538462 -288461538.461539 125000000.000000 64102564.1025641 467948717.948718 -125000000.000000 64102564.1025641 -89743589.7435897 57692307.6923077 -64102564.1025641 125000000.000000 -100961538.461538 -48076923.0769231 -125000000.000000 613782051.282051 -190170940.170940 67307692.3076923 -256410256.410256 119123931.623932 -1680.28846153846 259.615384615385 1485.57692307692 6153.90669515670 -439.615384615385 1670.02136752137 -2116.80911680912 1587.60683760684 222.489316239316 -259.615384615385 284.254807692308 -330.528846153846 -439.615384615385 3300.53151709402 150.528846153846 -1327.99145299145 461.805555555556 -189.503205128205 -1485.57692307692 -330.528846153846 689.903846153846 1670.02136752137 150.528846153846 2318.79273504274 27.7777777777778 -141.025641025641 101.228632478632 -64102564.1025641 48076923.0769231 -28245192.3076923 64102564.1025641 -190170940.170940 164196047.008547 71047008.5470085 -43336004.2735043 -125000000.000000 -64102564.1025641 -144230769.230769 57692307.6923077 -16826923.0769231 -89743589.7435897 67307692.3076923 233974358.974359 80929487.1794872 -125000000.000000 48076923.0769231 67307692.3076923 -50480769.2307692 57692307.6923077 -256410256.410256 71047008.5470085 306891025.641026 -119123931.623932 -240.000000000000 -439.615384615385 434.711538461539 -840.144230769231 -134.415064102564 645.432692307692 -2116.80911680912 -1327.99145299145 27.7777777777778 3196.95334757835 -1633.19177350427 1052.36645299145 439.615384615385 524.423076923077 150.528846153846 -394.030448717949 142.127403846154 -75.9214743589744 1587.60683760684 461.805555555556 -141.025641025641 -1633.19177350427 1912.47729700855 -24.7516025641026 -434.711538461539 150.528846153846 629.423076923077 -840.144230769231 -254.607371794872 344.951923076923 222.489316239316 -189.503205128205 101.228632478632 1052.36645299145 -24.7516025641026 1474.10790598291 64102564.1025641 -48076923.0769231 -49278846.1538462 -80929487.1794872 48076923.0769231 -14122596.1538462 -64102564.1025641 119123931.623932 -43336004.2735043 80929487.1794872 -119123931.623932 106737446.581197]'; iB = [1 2 6 7 8 13 14 18 20 24 1 2 6 7 8 12 13 14 18 19 24 3 4 5 9 10 11 15 16 17 21 22 23 3 4 5 9 10 11 15 16 17 21 22 23 3 4 5 9 10 11 15 16 17 21 22 23 1 2 6 7 8 12 13 14 18 19 20 24 1 2 6 7 8 12 19 20 24 1 2 6 7 8 12 19 20 24 3 4 5 9 10 11 21 22 23 3 4 5 9 10 11 21 22 23 3 4 5 9 10 11 21 22 23 2 6 7 8 12 19 24 1 2 6 13 14 19 20 24 25 26 30 32 36 1 2 6 13 14 18 19 20 24 25 26 30 31 36 3 4 5 15 16 17 21 22 23 27 28 29 33 34 35 3 4 5 15 16 17 21 22 23 27 28 29 33 34 35 3 4 5 15 16 17 21 22 23 27 28 29 33 34 35 1 2 6 14 18 19 20 24 25 26 30 31 32 36 2 6 7 8 12 13 14 18 19 20 24 31 32 36 1 6 7 8 13 14 18 19 20 24 31 32 36 3 4 5 9 10 11 15 16 17 21 22 23 33 34 35 3 4 5 9 10 11 15 16 17 21 22 23 33 34 35 3 4 5 9 10 11 15 16 17 21 22 23 33 34 35 1 2 6 7 8 12 13 14 18 19 20 24 31 36 13 14 18 25 26 30 31 32 36 13 14 18 25 26 30 31 32 36 15 16 17 27 28 29 33 34 35 15 16 17 27 28 29 33 34 35 15 16 17 27 28 29 33 34 35 13 14 18 25 26 30 32 36 14 18 19 20 24 25 26 31 36 13 18 19 20 25 26 30 32 36 15 16 17 21 22 23 27 28 29 33 34 35 15 16 17 21 22 23 27 28 29 33 34 35 15 16 17 21 22 23 27 28 29 33 34 35 13 14 18 19 20 24 25 26 30 31 32 36]; jB = [1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 10 10 10 10 10 10 10 10 10 11 11 11 11 11 11 11 11 11 12 12 12 12 12 12 12 13 13 13 13 13 13 13 13 13 13 13 13 13 14 14 14 14 14 14 14 14 14 14 14 14 14 14 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 18 18 18 18 18 18 18 18 18 18 18 18 18 18 19 19 19 19 19 19 19 19 19 19 19 19 19 19 20 20 20 20 20 20 20 20 20 20 20 20 20 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 24 24 24 24 24 24 24 24 24 24 24 24 24 24 25 25 25 25 25 25 25 25 25 26 26 26 26 26 26 26 26 26 27 27 27 27 27 27 27 27 27 28 28 28 28 28 28 28 28 28 29 29 29 29 29 29 29 29 29 30 30 30 30 30 30 30 30 31 31 31 31 31 31 31 31 31 32 32 32 32 32 32 32 32 32 33 33 33 33 33 33 33 33 33 33 33 33 34 34 34 34 34 34 34 34 34 34 34 34 35 35 35 35 35 35 35 35 35 35 35 35 36 36 36 36 36 36 36 36 36 36 36 36]; B = sparse(iB,jB,B,36,36); %% first method to compute eigenvalues [v1,mu1] = eigs(B\A,5,'lr'); mu1 = diag(mu1); [~,i] = sort(mu1); i = flipud(i); mu1 = mu1(i); v1 = v1(:,i); err1 = norm(A*v1(:,1) - mu1(1)*B*v1(:,1)); disp(['error = ',num2str(err1)]) %% second method to compute eigenvalues [v2,mu2] = eig(full(A),full(B)); mu2 = diag(mu2); [~,i] = sort(mu2); i = flipud(i); mu2 = mu2(i); v2 = v2(:,i); err2 = norm(A*v2(:,1) - mu2(1)*B*v2(:,1)); disp(['error = ',num2str(err2)]) %% third method to compute eigenvalues [v3,mu3] = eigs(A,B,5,'la'); mu3 = diag(mu3); [~,i] = sort(mu3); i = flipud(i); mu3 = mu3(i); v3 = v3(:,i); err3 = norm(A*v3(:,1) - mu3(1)*B*v3(:,1)); disp(['error = ',num2str(err3)])