Community Tip - Visit the PTCooler (the community lounge) to get to know your fellow community members and check out some of Dale's Friday Humor posts! X
I am working with a semi-positive 413 x 413 input-output table from the Bureau of Economic Analysis.When I use the default precision in MathCad 14, I get that the rank is 410 and I find that there are indeed only 410 nonzero eigenvalues (i.e. the last three of 413 calculated eigenvalues are zero).
However, when I increase the precision of the result, the last three eigenvalues come in as nonzero, on the order of E-17 and E-18. Nonetheless the rank remains at 410 even when I increase the precision to E-300. So now I have an apparent contradiction: a full complement of eigenvalues (413) which implies a rank of 413: and a calculated rank which is stubbornly at 410. Which one of these contradictory results should I trust?
The matrix in question is attached as a .csv file. Any help would be greatly appreciated.
Anwar .
Values on the order of 10^-17 to 10^-18 are just errors due to numeric roundoff. Ignore them, as the rank function does.
Thank you, that is most helpful.
However, when I increase the precision of the result, the last three eigenvalues come in as nonzero, on the order of E-17 and E-18.
I think you are confusing precision of calculation and number of displayed decmals. In some calculations using numeric approximation algorithms you can influence the precision of the result by changing the value of the system variables TOL resp. CTOL.
But I guess you simply changed the number of decimals to be displayed to its max (17). Mathcads calculation usually will go up to a precision of 16 digits at its best. So what you see, as Richard already wrote, seems to be just numeric roundoffs. BTW, in the result format menu, tab Tolerance, you can change the value for the zero threshold (default:; 15; can be set up to 307). If you enlarge this value you see the values in the range of E-18 even if you just let display 3 decimals. It looks like this value is ignored if the number of displayed decimals is set to its max (17). Not sure if we should call this a bug but I tend to do so..