What do you get from cond(m)?

Den torsdag den 15. januar 2015 skrev ShaoWei Teo <[email protected]>:

> Hi group,
>
> I am using Julia v0.3.4.  I would like to find the inverse of matrices,
> lets say the 15X15 matrix:-
> m =
> 2.69E-05        -2.25E-05       1.25E-05        -2.30E-05       -1.09E-05
>      9.02E-06        -1.42E-05       -4.29E-06       1.47E-05
> 2.11E-06        -2.27E-06       1.61E-06        2.15E-05        1.42E-05
>     -4.05E-05
> -2.25E-05       0.000247072     -7.98E-06       2.24E-05        6.45E-05
>       5.80E-06        8.79E-05        9.02E-05        -3.00E-06
>  0.000103897     7.80E-05        1.98E-06        0.000156923     8.07E-06
>       4.72E-05
> 1.25E-05        -7.98E-06       4.21E-05        -3.97E-05       -4.36E-05
>      3.42E-05        -8.94E-05       -5.93E-05       3.43E-05
> -3.79E-05       6.44E-06        6.72E-06        2.05E-05        4.11E-05
>     -7.26E-05
> -2.30E-05       2.24E-05        -3.97E-05       0.000106283     5.56E-05
>       -2.98E-05       9.56E-05        6.94E-05        -3.99E-05
>  5.84E-05        -7.42E-05       2.62E-06        -7.48E-05       -4.52E-05
>      0.000142413
> -1.09E-05       6.45E-05        -4.36E-05       5.56E-05
> 0.000225041     -2.71E-05       0.000313224     0.000229185     -3.48E-05
>      0.000149339     -1.68E-05       -1.15E-05       0.00013528
> -4.35E-05       0.000184476
> 9.02E-06        5.80E-06        3.42E-05        -2.98E-05       -2.71E-05
>      3.13E-05        -6.18E-05       -3.87E-05       2.98E-05
> -2.03E-05       7.29E-06        7.13E-06        2.97E-05        3.44E-05
>     -5.49E-05
> -1.42E-05       8.79E-05        -8.94E-05       9.56E-05
> 0.000313224     -6.18E-05       0.000598084     0.000395901     -7.03E-05
>      0.000264016     -9.28E-05       -1.04E-05       0.000167989
>  -7.99E-05       0.000271952
> -4.29E-06       9.02E-05        -5.93E-05       6.94E-05
> 0.000229185     -3.87E-05       0.000395901     0.000279212     -4.60E-05
>      0.000190289     -3.90E-05       -8.30E-06       0.000143872
>  -5.35E-05       0.000199811
> 1.47E-05        -3.00E-06       3.43E-05        -3.99E-05       -3.48E-05
>      2.98E-05        -7.03E-05       -4.60E-05       3.38E-05
> -1.98E-05       1.32E-05        5.89E-06        3.18E-05        3.79E-05
>     -7.77E-05
> 2.11E-06        0.000103897     -3.79E-05       5.84E-05
> 0.000149339     -2.03E-05       0.000264016     0.000190289     -1.98E-05
>      0.000211512     -5.33E-05       -4.02E-06       8.48E-05
> -1.75E-05       0.000103224
> -2.27E-06       7.80E-05        6.44E-06        -7.42E-05       -1.68E-05
>      7.29E-06        -9.28E-05       -3.90E-05       1.32E-05
> -5.33E-05       0.000201486     -1.31E-05       0.000143599     1.20E-05
>     -6.10E-05
> 1.61E-06        1.98E-06        6.72E-06        2.62E-06        -1.15E-05
>      7.13E-06        -1.04E-05       -8.30E-06       5.89E-06
> -4.02E-06       -1.31E-05       4.74E-06        -4.32E-06       6.33E-06
>     -8.79E-06
> 2.15E-05        0.000156923     2.05E-05        -7.48E-05
>  0.00013528      2.97E-05        0.000167989     0.000143872     3.18E-05
>       8.48E-05        0.000143599     -4.32E-06       0.000328454
>  3.34E-05        -1.27E-05
> 1.42E-05        8.07E-06        4.11E-05        -4.52E-05       -4.35E-05
>      3.44E-05        -7.99E-05       -5.35E-05       3.79E-05
> -1.75E-05       1.20E-05        6.33E-06        3.34E-05        4.63E-05
>     -8.88E-05
> -4.05E-05       4.72E-05        -7.26E-05       0.000142413
>  0.000184476     -5.49E-05       0.000271952     0.000199811     -7.77E-05
>      0.000103224     -6.10E-05       -8.79E-06       -1.27E-05
>  -8.88E-05       0.000293684
>
> The inverse inv(m) gives me the Float64 Matrix:-
> [-1.8345175120029102e19 2.626073219959966e18 1.0233761566875374e19
> -8.128315942052952e18 -3.3234007922514022e19 -1.898384479428384e19
> 5.081174598392018e17 -7.705410108368609e18 1.1441360031270352e20
> 8.430493533140435e18 -2.321540821257999e19 -1.0085533031449038e20
> 2.0744634717598732e19 -8.232751641424237e19 2.106717109550696e19;
>  -3.6770633619746806e18 8.734391653902778e17 -3.7486183144198605e17
> -2.508377412749517e18 -8.56606769814874e18 -3.9726057326039137e18
> 7.740491964701125e17 -3.8765638765844183e18 2.9905494520045e19
> 2.038100133687466e18 -6.420070217604945e18 -2.700937311808455e19
> 5.742654594613092e18 -1.9640859860948464e19 6.393401367553399e18;
>  -5.253882493491519e19 6.930233748145572e17 -2.24537790846379e18
> -3.444202990090169e19 -8.356465304100261e19 -6.7270071872586244e19
> -8.5755111650019e18 -1.7912467425384497e19 2.6774624597866414e20
> 2.465761647831547e19 -6.336978394623304e19 -2.0416819107237275e20
> 6.0255672041952666e19 -1.659374694009981e20 6.411658505425713e19;
>  -1.4370753097499436e18 -1.7941600933626627e18 -3.876366579612313e18
> 7.238656120198908e18 2.938911335412165e18 1.2851048560164764e19
> -3.528032674462339e18 1.1084473131631098e19 -2.501600425894175e19
> -3.723502687387879e18 2.4282363737752745e18 -1.0041278599104991e18
> -2.1457213472321462e18 1.517745630619805e19 -8.431272192497873e18;
>  -3.149062696398924e19 1.1990532340485752e18 1.551152719869855e19
> -1.3959545846004068e19 -4.705858871162055e19 -3.495674123148457e19
> -4.552353609834832e18 -3.6943751493603717e18 1.5364148357148852e20
> 1.3208774563193307e19 -3.295416933608881e19 -1.2533541458607889e20
> 3.0524348584896328e19 -1.0871257507512789e20 2.9651485208129835e19;
>  1.4785225947958063e19 -2.353063515910276e18 -5.075306755919784e18
> 2.488016852656103e19 2.975695767117064e19 4.678793588392979e19
> -1.7350968806387753e18 2.3184981870792475e19 -1.2009928358753165e20
> -1.460288532305525e19 2.325461230999244e19 4.939222408005098e19
> -2.2344149628451893e19 7.129300228520111e19 -3.47379478245272e19;
>  -8.760710777503551e18 2.0820170071757635e18 1.8330636273101212e18
> -5.443721214753727e18 -1.955367510960686e19 -9.71308977871736e18
> 1.7570105723511562e18 -8.182978615955723e18 6.91700914925114e19
> 4.795745226051396e18 -1.4281293365463515e19 -6.170953993029623e19
> 1.2684846982292826e19 -4.715955714269346e19 1.4035569024730708e19;
>  3.1013816431032986e18 -4.702703162886415e18 -5.365248303218067e18
> 8.240132970580418e18 1.8649242931509158e19 1.3026023285907743e19
> -7.36724566649862e18 1.9187691108456964e19 -8.252136299396543e19
> -6.084394081007362e18 1.3556460236484053e19 6.2187694405483856e19
> -1.130648371162246e19 5.723245779161172e19 -1.78367800487994e19;
>  5.523839505362299e19 2.7754007811208223e18 -4.059175220954572e19
> 8.729964405988898e18 6.1786972931760685e19 4.3608662220214895e19
> 1.7108106419315851e19 -2.4594421730904048e19 -1.780263540129462e20
> -1.5513592450882286e19 3.951550103884256e19 1.6077580263050786e20
> -3.715761157348381e19 1.4259036854214089e20 -2.3944222475675365e19;
>  -5.396706630639557e17 6.359256931813245e17 -4.760092778161976e17
> -4.641674138352063e18 -3.305295341505192e18 -7.618844139364807e18
> 1.163804069772311e18 -5.823013676532714e18 1.6721142161360017e19
> 2.2951302402495393e18 -2.932364057727011e18 -3.010307467195758e18
> 2.8380070330569984e18 -8.501128307722335e18 5.960447991551695e18;
>  -2.914005541462017e19 7.208643007112548e17 1.0293120042627432e19
> -1.3456770183547843e19 -4.356091851542855e19 -3.190129834784284e19
> -4.735020124474059e18 -3.6021190032095805e18 1.3982250855847969e20
> 1.2069386068065915e19 -3.107597900536396e19 -1.145405665830758e20
> 2.9000505211660042e19 -9.623482285139762e19 2.8167108260250477e19;
>  -1.0685499961537275e20 4.780939056815013e18 6.2758996300933595e19
> -6.668695569740839e19 -1.6023665518359944e20 -1.573345141511233e20
> -1.3599982718361033e19 -2.884088959530033e19 5.4983767795853525e20
> 5.404857199228669e19 -1.1306789208158739e20 -3.799034312271774e20
> 1.0597573955383912e20 -3.808151150507216e20 1.1675242284126406e20;
>  2.8460773001216754e19 -8.168312835421422e17 -8.868769130308903e18
> 1.2873038948051194e19 4.3245683384181015e19 3.0031497212259918e19
> 4.423017084232225e18 3.892019568246309e18 -1.3833519293578602e20
> -1.163628010486122e19 3.0972717555753304e19 1.1584417047629296e20
> -2.8839676989925392e19 9.485107868215453e19 -2.7823139318235673e19;
>  -9.422159848797633e18 -1.262802559234384e18 3.327989110994949e19
> 7.582471996988298e18 5.6096683310162074e17 -3.5374717112013875e18
> -5.267187002003409e18 2.0119488507954856e19 -5.281649109861383e18
> 9.440912144736794e16 5.529777075744912e18 1.7935600102237612e18
> -5.588541755342156e18 -1.9376469015986725e19 -1.2705940404663874e19;
>  1.8250674888204698e19 1.7278205445080038e18 -2.8113778074366305e18
> 2.1148875992329667e18 2.0957646380786745e19 9.106691503914852e18
> 6.781368485072161e18 -8.879120188347007e18 -5.26404361282851e19
> -3.853928290816942e18 1.4696070432003002e19 5.722886879247717e19
> -1.4102711344746449e19 3.733546458290386e19 -8.299450957232601e18]
>
> This is incorrect as m * inv(m) is not identity.
>
> Even when I use BigFloat for m, I get its inverse to be:-
> -2.47E+04       -4.98E+05       5.84E+06        -2.67E+06       3.01E+06
>       -7.98E+06       -8.35E+05       4.61E+05        -5.96E+06
>  1.38E+06        2.58E+06        2.11E+07        -1.99E+06       3.20E+06
>       -1.17E+05
> -4.98E+05       -3.06E+05       1.58E+06        -1.16E+06       6.83E+05
>       -3.18E+06       -6.34E+05       5.16E+05        -1.57E+06
>  5.57E+05        5.62E+05        7.09E+06        -3.40E+05       1.23E+06
>       2.18E+05
> 5.84E+06        1.58E+06        -2.92E+07       -6.37E+06       -4.90E+06
>      3.87E+06        4.51E+06        -1.70E+07       1.89E+07
> 8.29E+04        -7.84E+06       -1.93E+07       7.16E+06        6.74E+06
>     1.27E+07
> -2.67E+06       -1.16E+06       -6.37E+06       -1.52E+06       -2.11E+06
>      -1.70E+06       -2.34E+06       1.73E+06        6.97E+05
> 2.72E+05        -2.43E+06       -6.30E+05       2.77E+06        4.66E+06
>     2.07E+06
> 3.01E+06        6.83E+05        -4.90E+06       -2.11E+06       9.17E+05
>       -6.08E+05       1.89E+06        -5.44E+06       1.56E+06
> 1.98E+05        -2.42E+05       3.23E+06        1.40E+05        3.00E+06
>     2.68E+06
> -7.98E+06       -3.18E+06       3.87E+06        -1.70E+06       -6.08E+05
>      -8.91E+06       -7.01E+06       1.12E+07        -9.57E+06
>  1.34E+06        -1.97E+04       1.77E+07        1.22E+06        6.79E+06
>       -1.59E+06
> -8.35E+05       -6.34E+05       4.51E+06        -2.34E+06       1.89E+06
>       -7.01E+06       -1.17E+06       9.99E+05        -4.22E+06
>  1.26E+06        1.68E+06        1.66E+07        -1.12E+06       2.48E+06
>       1.26E+05
> 4.61E+05        5.16E+05        -1.70E+07       1.73E+06        -5.44E+06
>      1.12E+07        9.99E+05        -3.04E+06       1.07E+07
> -1.97E+06       -5.76E+06       -3.12E+07       4.89E+06        4.64E+05
>     3.34E+06
> -5.96E+06       -1.57E+06       1.89E+07        6.97E+05        1.56E+06
>       -9.57E+06       -4.22E+06       1.07E+07        -6.48E+06
>  1.56E+06        3.66E+06        1.79E+07        -2.94E+06       -5.67E+06
>      -5.16E+06
> 1.38E+06        5.57E+05        8.29E+04        2.72E+05        1.98E+05
>       1.34E+06        1.26E+06        -1.97E+06       1.56E+06
> -1.07E+05       1.66E+05        -2.50E+06       -3.38E+05       -1.67E+06
>      1.75E+05
> 2.58E+06        5.62E+05        -7.84E+06       -2.43E+06       -2.42E+05
>      -1.97E+04       1.68E+06        -5.76E+06       3.66E+06
> 1.66E+05        -1.39E+06       -3.87E+05       1.26E+06        3.43E+06
>     3.72E+06
> 2.11E+07        7.09E+06        -1.93E+07       -6.30E+05       3.23E+06
>       1.77E+07        1.66E+07        -3.12E+07       1.79E+07
> -2.50E+06       -3.87E+05       -2.65E+07       -2.00E+06       -3.98E+06
>      7.89E+06
> -1.99E+06       -3.40E+05       7.16E+06        2.77E+06        1.40E+05
>       1.22E+06        -1.12E+06       4.89E+06        -2.94E+06
>  -3.38E+05       1.26E+06        -2.00E+06       -1.21E+06       -3.92E+06
>      -3.63E+06
> 3.20E+06        1.23E+06        6.74E+06        4.66E+06        3.00E+06
>       6.79E+06        2.48E+06        4.64E+05        -5.67E+06
>  -1.67E+06       3.43E+06        -3.98E+06       -3.92E+06       -3.15E+06
>      -5.01E+06
> -1.17E+05       2.18E+05        1.27E+07        2.07E+06        2.68E+06
>       -1.59E+06       1.26E+05        3.34E+06        -5.16E+06
>  1.75E+05        3.72E+06        7.89E+06        -3.63E+06       -5.01E+06
>      -4.36E+06
>
> Could it be that I am using `inv()` wrongly?  Or is there a bug in the
> implementation?

Reply via email to