Very nice ! I wasn’t aware of it… Now a couple questions/remarks :
- Is there a reason for this being implemented for ComplexBallField but not for ComplexField (except CDF) ? What about ComplexIntervalField ? - I am not aware of anything comparing the abilities of the various numerical tools available in Sagemath in the documentation. Did I miss it ? At the very least, a tutorial illustrating them would be useful. A better (but possibly quite heavier) text would be additions to the numerical computing chapters of a new edition of *Computational mathematics with Sagemath*, which is more and more in order… What do you think ? Le vendredi 11 juin 2021 à 21:27:05 UTC+2, vdelecroix a écrit : > Le 11/06/2021 à 20:22, Dima Pasechnik a écrit : > > On Fri, 11 Jun 2021, 18:25 Emmanuel Charpentier, < > > emanuel.c...@gmail.com> wrote: > > > >> OK. That was not an error of mine (nor my Sage installation), but a a > >> genuine problem. So no indication to file a ticket. > >> > >> Note : Numerics with"standard" are not a problem : > >> > >> sage: %time matrix([[CDF(u) for u in v] for v in > pM]).eigenvectors_right() > >> CPU times: user 1.95 ms, sys: 15 µs, total: 1.96 ms > >> Wall time: 1.85 ms > >> [(-1.5855741097050124 - 1.9835895314317984*I, > >> [(0.9524479486112228, -0.2837102376875301 - 0.11002559239003057*I, > >> 0.011400252227268036 - 0.010761481586469179*I)], > >> 1), > >> (0.10840730449357763 + 1.6730496133213792*I, > >> [(0.8835538411020463, 0.2631022513327894 - 0.3627905504445216*I, > >> 0.05890961187635257 + 0.12256626515553348*I)], > >> 1), > >> (0.4060235736555931 + 2.708455679766778*I, > >> [(0.8864942697472706, 0.26813150779882816 - 0.24992379361655742*I, > >> -0.24416421274380526 - 0.14196949964794017*I)], > >> 1)] > >> > >> But if you need extended precision, there's a snag : > >> > >> ``` > >> sage: C= ComplexField(200) > >> sage: %time foo = matrix([[C(u) for u in v] for v in > >> pM]).eigenvectors_right() > >> <timed exec>:1: UserWarning: Using generic algorithm for an inexact > ring, > >> which may result in garbage from numerical precision issues. > >> > > > > in fact, arb has some linear algebra implemented, only that functionality > > is not wrapped in Sage. > > hmmm, 10 years ago it was indeed not in sage but > > sage: sM = matrix(3, [-sqrt(2) - 1, 1/4*I*sqrt(759) - 1/4, -2*sqrt(3), > ....: 1/2*I*sqrt(3) + 1/2, 1/8*sqrt(33) + 1/8, -1/5*sqrt(29) + 3/5, > ....: 0, 1/4, 1/2*I*sqrt(23) + 1/2]) > sage: sM.change_ring(ComplexBallField(256)).eigenvectors_right_approx() > <ipython-input-2-597c50ed1766>:1: FutureWarning: This > class/method/function is marked as experimental. It, its functionality > or its interface might change without a formal deprecation. > See https://trac.sagemath.org/30393 for details. > sM.change_ring(ComplexBallField(Integer(256))).eigenvectors_right_approx() > [([-1.585574109705012818320754555380077143033164486087030751802791286603000260637687 > > > +/- 3.06e-79] - > [1.983589531431798407272840921819657822844388213332549281429493414447825431290207 > > > +/- 3.05e-79]*I, > > [([-0.7645889954375910796175588680760753644497544472611288268496784517551156034840851 > > > +/- 3.49e-80] + > [0.5679443307838031693126382504352883182783867453515207101490113908352846374511589 > > > +/- 4.71e-80]*I, > [0.2933600072059874975695356608056928703375239897336479003693686118090527352449637 > > > +/- 2.62e-80] - > [0.08085193950422595460559726747128398322364244288273211664977438986727139956036997 > > > +/- 1.86e-81]*I, > [-0.002734621817507568627793755191059520745414855464984622057215624183928681966128039 > > > +/- 3.48e-83] + > [0.01543687404549433149004830726668865175938723340836903249472149019570000983681407 > > > +/- 6.01e-82]*I)], > 1), > > ([0.1084073044935780329693711992135459902927450863702466775904749191406132984593997 > > > +/- 2.35e-80] + > [1.673049613321379085900796686139959744878064234423412272818114017801709044221350 > > > +/- 4.95e-79]*I, > > [([-0.2673371902772041016297440268511643741966917470300012123253823050737523650735768 > > > +/- 3.44e-80] - > [0.02255276973433239605480951065284270406141140134762632616605864073042511737197782 > > > +/- 6.64e-82]*I, > [-0.08886719147182478198522558738553193426651781904829084677832088009136722752956601 > > > +/- 2.61e-81] + > [0.1030539596890842335569665014655476103537849006257746372204680855562700952313454 > > > +/- 1.45e-80]*I, > [-0.01469578961696251938128853753478067963226607548513094281484268115068461631364436 > > > +/- 3.99e-82] - > [0.03858858880485532751435734250502627274540851776921042689105965744221705829132246 > > > +/- 3.42e-81]*I)], > 1), > > ([0.4060235736555933190310210654841992389482805815876850469981213132923920738981516 > > > +/- 2.51e-80] + > [2.708455679766779092170763267761045037964677499861201681854033953870245005022438 > > > +/- 1.50e-79]*I, > > [([0.2103718533466063742076462260260793168410401002165862474556218965077763660977134 > > > +/- 3.27e-80] + > [0.05448236953479104093710977337474251123511802942923003190706717417804356762302697 > > > +/- 3.17e-81]*I, > [0.07898952661654168047766696024137805415491440866540645841786257582178406891492673 > > > +/- 1.47e-81] - > [0.04282993479195057509885682538044990967004220531263985306993932362186424999425426 > > > +/- 2.1e-84]*I, > [-0.04921683614015854406786925932481355184588924524472501364264944877387240329246417 > > > +/- 4.04e-82] - > [0.04869634593105051448079497440445424999631243725298577782757982000687160120825688 > > > +/- 3.53e-81]*I)], > 1)] > -- You received this message because you are subscribed to the Google Groups "sage-support" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-support+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/sage-support/10f65f33-7187-4785-bbf4-eae750cf3846n%40googlegroups.com.