The  AskConstants program

Freely downloadable from  AskConstants.org

by David R. Stoutemyer

dstout at hawaii dot edu

The presentation was a live demonstration requiring the downloaded program.
This notebook is a collection of resulting Input/Output pairs and the images from that demonstration.
It can be viewed from either Mathematica or the free Wolfram cdf player.

The most important task after implementing  f [x]  is to implement  (f^(-1))[y] :

They help us solve equations involving the function.

Would you like math software that provided  Sin […]  but not  ArcSin […] ?

An inverse for  N [nonFloatConstant,  precision]  →  float  might allow us to :

discover exact results from results of NIntegrate […],  FindMinimum […],  FindRoot […],  etc.;

recover exact numerical result cofficients when only time or memory constraints make us use floats :

For example, solving large sets of linear or polynomial equations.

Propose [float]  is a quasi inverse for N [nonFloatConstant, …] :

Propose [float]  can return non-float constants that are concise and agree closely with  float.

Propose returns an empty list if cannot determine a such a non-float.

For example :

This 20-digit float input is a complicated 4D quadrature that  Integrate [Integrate [Integrate [Integrate [...]]]  cannot do :

Propose [0.012625017203357165027]

Agreement  is the number of agreeing digits between the float and the proposed non-float :

Entropy10  is a complexity measure ≃ the number of digits in the integers in the non-float,  ≃1 per operator, function, or symbolic constant such as  π :

Merit  =  agreement margin  =  Agreement - Entropy10.

Computing this quadrature at increasing  WorkingPrecision  through 100 increases the Agreement from nearly 20 to nearly 100.

This makes it likely beyond a reasonable doubt that the proposed non-float constant is the limit of the quadrature as  WorkingPrecision → ∞.

Thus  Propose  is a fast generator of highly-likely conjectures.

AskConstants provides a graphical interface to  Propose […] :

A scatter-plot of  Agreement and Merit versus Entropy10 for the acceptable and many rejected candidates makes it easier and faster to compare alternative proposals.

To invoke AskConstants :

AskConstants[];

giving the window :

There are some included examples with each result preceded by an opener-view  Explanation.

Here is included-Example 6, which is a test using an example that Integrate  can  do :

•  As llustrated, mousing over a plot point displays its expression, Agreement, Entropy10, and Merit.
•  Mousing over Magenta phrases gives their definition.

There is a table lookup phase followed by an integer least-squares regression phase.

You can choose which functions to include in the latter :

•  Notice that all functions have choosable inverses, perhaps multi-branched.
•  Ones named “RealInverse…” are implemented in AskContants, directly usable by any notebook or package.

Here is included Example 5, which proposes one of these RealInverse functions :

You can choose which named constants to include in the integer least-squares regression phase :

Included-Example 7 illustrates proposals including such named constants :

Test the Propose tab by using mathematical paste buttons to enter non-float constants and Merit goals:

After using the mathematics paste buttons then pressing Go :

The NSimplify tab :

When  Propose [NForMeritGoal [nonFloatConstant,  $LowestExcellentMerit]  returns a result equivalent to  nonFloatConstant,  then the returned result is often simpler than  nonFloatConstant.

This provides a way to simplify some expressions that even  FullSimplify […]  cannot simplify.

AskConstants includes an  NSimplify […]  function for this purpose.

The  NSimplify […]  tab permits you to enter  nonFloatConstant  with the help of math paste buttons.

Here are some included examples containing opener-view Explanations :

An included Factorial2 […]  example :

An included example for which  Radical expression → simpler trigonometric expression :

Beyond Galois :

The About tab :

Key ideas :

Scatter plot of  Agreement  versus  Entropy10  for quick visual comparison of alternatives

Merit  =  Agreement  -  Entropy10  converts a dual-objective optimization into single-objective.

Merit has a strong positive correlation with the likelihood of proposing the limit you seek.

Collecting  equivalent result sets  saves users investigation time.

The  Propose […]  function can be used by other functions and programs.

The  NSimplify […]  function can sometimes achieve simplifications impractical for FullSimplify […].

The  Zeros package  implements 14 more functions analogous to  BesselJZero […].

The  InfimaAndSuprema package  implements functions that return the abscissas and ordinates of the infima and suprema of 56 special functions.

The  RealInverseFunctions package  implements multi-branched real-domain inverse functions for 42 special functions.