I get the following Meijer function as a result of a symbolic integration:
expr = MeijerG[{{1, 3/2}, {}}, {{1, 1}, {1/2}}, x].
I try to calculate numerical values of this function for a series of arguments x > 0. This turns out to be not possible for 'Form'-ed real arguments.
Entering manually, e.g., x = 0.000000001 and evaluating expr for this argument is successful: expr = 4.42921*10^-8. However, the execution of expr after converting x in any "*Form", e.g., x = ScientificForm[x], is left undone (merely above given rhs- definition of expr is mirrored, but no error message is given). I have tried this for other formats like NumberForm, DecimalForm, AccountingForm with the same useless output.
For many application programs this problem may not be relevant, because they pass arguments directly to an evaluator. But many applications written in the python language and using an python-Mathematica-interface like the open source CAS Sage are transforming the argument in the scientific form, if abs(x) < 10^(-5). Thus, such applications cannot compute numerical results for small arguments by using the Mathematica version of the above mentioned MeijerG-function.
Is it possible by any means to circumvent this problem?
Formfor display. Don't use them in computation. Don't usex = ScientificForm[x]. Just usex. – b3m2a1 Nov 26 '19 at 23:35MeijerGfunction: it is the normal behavior of any function that tries to perform a numeric computation with an argument wrapped with one of*Formdisplay wrappers. – m_goldberg Nov 27 '19 at 02:59Formfrom the definition, e.g.,(x = 0.000000001) // ScientificForm– Bob Hanlon Nov 27 '19 at 03:31SageMath. Apparently the python language converts any number < 1.e-5 into a form that Mathematica interprets asScientificForm.So, I will pass my questtion to the StackExchange forum of Sage in order to find a solution avoiding this format change. – bekad Nov 27 '19 at 08:06