sagemath / sage

Main repository of SageMath
https://www.sagemath.org
Other
1.37k stars 462 forks source link

Calculation involving nintegral works with Sage 6.3 but not with Sage 6.4 #17606

Open fd9ae00d-a4d8-47d9-8268-a6c51bc76704 opened 9 years ago

fd9ae00d-a4d8-47d9-8268-a6c51bc76704 commented 9 years ago

The following code:

var('u')
assume(u>0)

fu=1/8*(I*sqrt(2)*(erf(1/2*sqrt(2)*(I*pi + 2*u + 1)) - erf(1/2*sqrt(2)*(-I*pi + 2*u + 1)))*e^(u + 1/2) + sqrt(2)*(-I*erf(1/2*sqrt(2)*(I*pi - 2*u + 1)) + I*erf(1/2*sqrt(2)*(-I*pi - 2*u + 1)))*e^(u + 1/2) - (sqrt(2)*e^(1/8) - sqrt(2)*e^(2*u + 1/8))*(erf(1/4*sqrt(2)*(2*I*pi + 4*u + 1)) + erf(1/4*sqrt(2)*(-2*I*pi + 4*u + 1))) - (sqrt(2)*e^(1/8) - sqrt(2)*e^(2*u + 1/8))*(erf(1/4*sqrt(2)*(2*I*pi - 4*u + 1)) + erf(1/4*sqrt(2)*(-2*I*pi - 4*u + 1))))*e^(-u)/sqrt(pi)

fu.nintegral(u,0,2)

returns:

(1.4275778409741315, 3.656408002774788e-14, 63, 0)

with Sage 6.3, but with Sage 6.4 returns:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "_sage_input_4.py", line 10, in <module>
    exec compile(u'open("___code___.py","w").write("# -*- coding: utf-8 -*-\\n" + _support_.preparse_worksheet_cell(base64.b64decode("ZnUubmludGVncmFsKHUsMCwyKQ=="),globals())+"\\n"); execfile(os.path.abspath("___code___.py"))
  File "", line 1, in <module>

  File "/tmp/tmpbwhja8/___code___.py", line 3, in <module>
    exec compile(u'fu.nintegral(u,_sage_const_0 ,_sage_const_2 )
  File "", line 1, in <module>

  File "sage/symbolic/expression.pyx", line 10244, in sage.symbolic.expression.Expression.nintegral (build/cythonized/sage/symbolic/expression.cpp:51090)
  File "/usr/lib/sagemath/local/lib/python2.7/site-packages/sage/calculus/calculus.py", line 792, in nintegral
    raise TypeError(err)
TypeError: ECL says: Error executing code in Maxima: 

Component: calculus

Keywords: nintegral, integral

Author: Andrew Lyasoff

Issue created by migration from https://trac.sagemath.org/ticket/17606

jdemeyer commented 9 years ago
comment:1

Attachment: Sage-6.3-6.4-diff.sws.gz

jdemeyer commented 9 years ago

Description changed:

--- 
+++ 
@@ -2,14 +2,10 @@

var('u') -assume(u>0 -``` +assume(u>0)

- fu=1/8*(I*sqrt(2)*(erf(1/2*sqrt(2)*(I*pi + 2*u + 1)) - erf(1/2*sqrt(2)*(-I*pi + 2*u + 1)))*e^(u + 1/2) + sqrt(2)*(-I*erf(1/2*sqrt(2)*(I*pi - 2*u + 1)) + I*erf(1/2*sqrt(2)*(-I*pi - 2*u + 1)))*e^(u + 1/2) - (sqrt(2)*e^(1/8) - sqrt(2)*e^(2*u + 1/8))*(erf(1/4*sqrt(2)*(2*I*pi + 4*u + 1)) + erf(1/4*sqrt(2)*(-2*I*pi + 4*u + 1))) - (sqrt(2)*e^(1/8) - sqrt(2)*e^(2*u + 1/8))*(erf(1/4*sqrt(2)*(2*I*pi - 4*u + 1)) + erf(1/4*sqrt(2)*(-2*I*pi - 4*u + 1))))*e^(-u)/sqrt(pi) -

-``` fu.nintegral(u,0,2)

 returns:
fchapoton commented 5 years ago
comment:3

works fine in 8.9.b7

fchapoton commented 4 years ago

Changed keywords from nintegral to nintegral, integral

DaveWitteMorris commented 4 years ago

error message from 9.2b12

DaveWitteMorris commented 4 years ago
comment:5

Attachment: error_with_9-2b12.txt

The lines give me an error with 9.2b12 (on MacOS 10.15.2). Full error message is attached.

RuntimeError: ECL says: Error executing code in Maxima: quad_qags: Cannot numerically evaluate errexp1 at 1.0

During handling of the above exception, another exception occurred:
    ...
TypeError: ECL says: Error executing code in Maxima: quad_qags: Cannot numerically evaluate errexp1 at 1.0.

During handling of the above exception, another exception occurred:
    ...
TypeError: ECL says: Error executing code in Maxima: quad_qags: Cannot numerically evaluate errexp1 at 1.0

No error with 9.1 (on my laptop and on CoCalc).