find a closed form for a decimal approximation of a number
a real or complex floating-point number or expression
equations in the form of option=value, where option is one of all, BasisSizeAlg, BasisPolyConst, BasisProdConst, BasisSumConst, extension, LearnBasis, Rational, Algebraic, FuncRat, FuncAlg, PolyConst, FuncPoly, SumConst, FuncSum, ProdConst, and FuncProd.
If the input is a floating-point constant x, for example, 1.414213562, the identify command searches for an exact expression for the number. In this case, it determines that this is the constant 2.
If the input is a complex floating-point constant, for example, 1.386294361+3.141592654⁢I, the identify command is applied to the real and imaginary parts separately. In this case, it determines that this is the constant 2⁢ln⁡2+I⁢π.
The identify command applies the tests listed in the following section. If the input cannot be identified as an exact constant, then the numerical value x is returned. For the identify command to succeed, enough digits must be provided to approximate the number.
If the input is not a (complex) floating-point constant, then the identify command maps recursively over the input expression applying itself to each floating-point constant in the expression.
The tests made are as follows.
Test if x rational.
Test if x is algebraic of degree 6 (default) or less.
Test if x is a function of a rational number e.g. ln⁡5.
Test if x is a function of an algebraic number of degree 6 or less.
Test if x is of the form a1+a2⁢t+a3t+a4⁢t+a5t+...+an⁢tk where t is a known transcendental constant e.g. π or ⅇ or ln⁡2.
(optional) Test if x is a function of the above form.
Test if x is of the form a1⁢t1+a2⁢t2+an⁢tn+...+a0 where ti are known algebraic or transcendental constants.
Test if x is of the form t1a1⁢t2a2⁢...⁢tnan where ti are certain constants and ai are rational.
The test for rational constants is made by looking at the continued fraction expansion of x. The test for an algebraic number up to degree 6, that is, a root of a polynomial m⁡z of degree 6 or less, is made by applying Bailey and Ferguson's IntegerRelations[PSLQ] algorithm to [x0,x1,x2,...,x6] to compute the minimal polynomial m⁡z for x and then solving for the roots and selecting the right one. If the solve command is not able to solve for the root in terms of radicals, the answer may be returned in the form of a RootOf.
The remaining arguments to the identify command are treated as options. They are equations of the form option=value. The following options are supported.
The option all=true specifies trying all tests, including the optional ones. The option all=false specifies only the tests that are explicitly asked for, as specified below.
The option BasisSizeAlg=n specifies when testing whether x is an algebraic number, to search up to degree n (default is 6).
The option BasisPolyConst=B1 specifies the use of basis B1, a list of real constants (default is π,ⅇ,ln⁡2, when making test 5, that is, t is chosen from this list.
The option BasisSizePoly=n specifies the value of n to use in test 5.
The option BasisSumConst=B2 specifies the use of basis B2, a list of real constants (default is 1,2,3,π,ln⁡2,ln⁡3,ζ⁡3,ζ⁡5) when making test 7, that is, ti is chosen from this list.
The option BasisSizeSum=n specifies the value of n to use in test 7 (default 3).
The option BasisProdConst=B3 specifies the use of basis B3, a list of real constants (default is 2,3,5,7,π,ⅇ,ln⁡2,ln⁡3,ζ⁡3,ζ⁡5) when making test 9, that is, ti is chosen from this list.
The option BasisSizeProd=n specifies the value of n to use in test 9 (default 3).
The option extension=B specifies adding the elements of B, a list of real constants, to the bases B1,B2,B3, when making tests 5, 7, and 9.
The option LearnBasis=true specifies the use of nonrational constants found in tests 1-4 when making tests 5-10. The default for this option is false.
Rational, Algebraic, FuncRat, FuncAlg, PolyConst, SumConst, and ProdConst
The options Rational=false, Algebraic=false, FuncRat=false, FuncAlg=false, PolyConst=false, SumConst=false, and ProdConst=false specify not to perform tests 1, 2, 3, 4, 5, 7, and 9 respectively.
FuncPoly, FuncSum, and FuncProd
The options FuncPoly=true, FuncSum=true, FuncProd=true specify the performance of tests 6, 8 and 10 respectively.
f ≔ 0.1428571429⁢x2+8.885765876⁢x+9.869604404
f ≔ expand⁡2+Pi⁢y+12
f ≔ evalf⁡f
z ≔ evalf⁡ⅇI⁢Pi5,20
Download Help Document