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.

Reply via email to