[Scilab-users] Fwd: Re: ?= =?utf-8?q? Re : problem with matrix of polynomials

2 messages
 I'll keep thinking about it, but in the meantime, I noticed that when displaying a = A*inv(A) we get the customary list of columns as the total width exceeds the available horizontal space. However, we get one "column 1" header and three "column 2" headers instead of "column 1", ..., "column 4". Seemingly it is not only the header which is repeated, but aldo the columns, i.e., column 2 appears three times. This seems to be a display bug.  Regards, Federico Miyara   Back to the possible reason of causing this issue when u substitute a value into the %s  into A*inv(A) Assume a = A*inv(A), a(1,1) which suppose to be ~ 1 is :  --> a(1,1) ans  =                                                                        1.630D-38 + 1.586D-40s + 4.110D-43s^2 + 1.120D-46s^3 + 1.998D-50s^4 + 3.586D-55s^5     ---------------------------------------------------------------------------                                                                                                   1.630D-38 + 4.283D-42s + 7.960D-46s^2 the coefficients in numerator and denominator are very small value and with complex number involve, there might be come kind of limitation in the numerical software.  this could be shown if you subs with smaller number:  --> horner(A*inv(A), %i*2*%pi*1) ans  =    0.9991047 + 0.0595012i   0.0000225 - 5.350D-08i   0.0000132 - 5.350D-08i   0.0000132 - 5.350D-08i    0.0000552 - 0.1037974i   0.9990938 + 0.0595013i  -0.0008828 - 2.194D-09i  -0.0008828 - 2.194D-09i    0.0000229 - 7.699D-10i   0.0008778 - 1.540D-09i   1.0008549 + 0.0595013i   0.0008789 - 1.549D-09i   -0.0000645 + 0.1025666i  -0.0008778 + 1.540D-09i  -0.0008789 + 1.549D-09i   0.9990971 + 0.0595013i you get the correct answer This is so far I could go, further details such as how the a double precision real or complex number handled in numerical software are beyond my knowledge. thanks. Regards, Chin Luh ---- On Mon, 09 Mar 2020 22:20:38 +0800 Antoine Monmayrant [hidden email] wrote ---- Hello, It seems that this value is below %eps==2.2e-16, so I though that once encoded in double the difference between 2e-20 and 0 is too small to be properly taken into account. Am I missing something? Antoine Le Lundi, Mars 09, 2020 15:11 CET, Chin Luh Tan <[hidden email]> a écrit:     initially I thought could it be possible the number is too small (or too large) to be handled  by double?    after trying scaling down the problem, I notice that in Scilab 6.0.2 onwards:   --> 2e-20*%i ans  =      0.    in Scilab 5.5.2   -->2e-20*%i ans  =       2.000D-20i      Could this be the issue?   thanks.   rgds, CL   ---- On Mon, 09 Mar 2020 21:04:12 +0800 Stéphane Mottelet <[hidden email]> wrote ----   Maybe an inversion made in state-space could me more reliable ? S. Le 09/03/2020 à 13:36, [hidden email] a écrit : > Hello Federico, > > cond() and rcond() do not accept rationals, but the determinant of A is very close to 0: > --> det(A) > ans = > > 3.573D-10 > ------------------------ > 0.0000027s² +7.433D-10s³ > > This likely explains that the inversion is not reliable. > > Regards > Samuel > _______________________________________________ > users mailing list > [hidden email] > https://antispam.utc.fr/proxy/1/c3RlcGhhbmUubW90dGVsZXRAdXRjLmZy/lists.scilab.org/mailman/listinfo/users -- Stéphane Mottelet Ingénieur de recherche EA 4297 Transformations Intégrées de la Matière Renouvelable Département Génie des Procédés Industriels Sorbonne Universités - Université de Technologie de Compiègne CS 60319, 60203 Compiègne cedex Tel : +33(0)344234688 http://www.utc.fr/~mottelet _______________________________________________ users mailing list [hidden email] http://lists.scilab.org/mailman/listinfo/users     _______________________________________________ users mailing list ```_______________________________________________ users mailing list [hidden email] http://lists.scilab.org/mailman/listinfo/users ``` _______________________________________________ users mailing list [hidden email] http://lists.scilab.org/mailman/listinfo/users