I think the package is ready now; https://github.com/baruchel/numerical-routines/tree/master/spad
The PSLQ (which was once selected as one of the "Top Ten Algorithms of the Century) (see: https://en.wikipedia.org/wiki/Integer_relation_algorithm ) is an algorithm useful for detecting integer relations between numerical values. Thus it is a very useful algorithm for "experimental mathematics". See some example below: * computing a numerical value with three other constants and then find back the coefficients; * finding the coefficients for the relation [gamma(11/2),1,sqrt(Pi)] * detecting the algebreaic equation for which the golden number is a solution (ie. detecting that phi actually is an algebraic number) The session below shows these three examples: (1) -> )lib PSLQ Pslq is now explicitly exposed in frame initial Pslq will be automatically loaded when needed from /home/pi/docs/maths/numerical-routines/spad/PSLQ.NRLIB/PSLQ (1) -> digits(64) (1) 20 Type: PositiveInteger (2) -> z := numeric( 4 + 3/2*%pi - %e) (2) 5.9941071519_2564462233_3677603566_5918285385_0700536269_9156495449_261 Type: Float (3) -> v := oneDimensionalArray([z, 1.0, %pi, %e]) (3) [5.9941071519_2564462233_3677603566_5918285385_0700536269_9156495449_261, 1.0, 3.1415926535_8979323846_2643383279_5028841971_6939937510_5820974944_592, 2.7182818284_5904523536_0287471352_6624977572_4709369995_9574966967_628] Type: OneDimensionalArray(Expression(Float)) (4) -> pslq(v, 1.0E-36) (4) [- 2.0,8.0,3.0,- 2.0] Type: OneDimensionalArray(Float) (5) -> g := Gamma(11/2)$DoubleFloatSpecialFunctions (5) 52.342777784553526 Type: DoubleFloat (6) -> w := oneDimensionalArray([g :: Float, 1.0, sqrt(%pi)]) (6) [52.3427777845_5352603259_5982542261_4812850952_1484375, 1.0, 1.7724538509_0551602729_8167483341_1451827975_4945612238_7128213807_79] Type: OneDimensionalArray(Expression(Float)) (7) -> pslq(w, 1.0E-10) (7) [- 32.0,0.0,945.0] Type: OneDimensionalArray(Float) (8) -> phi := numeric( (1+sqrt(5))/2 ) (8) 1.6180339887_4989484820_4586834365_6381177203_0917980576_2862135448_623 Type: Float (9) -> x := oneDimensionalArray([1,phi,phi^2]) (9) [1.0, 1.6180339887_4989484820_4586834365_6381177203_0917980576_2862135448_623, 2.6180339887_4989484820_4586834365_6381177203_0917980576_2862135448_623] Type: OneDimensionalArray(Float) (10) -> pslq(x, 1.0E-24) (10) [1.0,1.0,- 1.0] Type: OneDimensionalArray(Float) (11) -> -- You received this message because you are subscribed to the Google Groups "FriCAS - computer algebra system" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/fricas-devel. For more options, visit https://groups.google.com/d/optout.
