Opened 6 years ago
#18059 new defect
runaway 'unable to simplify to float approximation' in iterated numerical integral
Reported by: | kcrisman | Owned by: | |
---|---|---|---|
Priority: | critical | Milestone: | sage-6.6 |
Component: | calculus | Keywords: | |
Cc: | Merged in: | ||
Authors: | Reviewers: | ||
Report Upstream: | N/A | Work issues: | |
Branch: | Commit: | ||
Dependencies: | Stopgaps: |
Description
See this ask.sagemath question. Apparently sometimes iterated numerical integrals don't recognize that they are just of one variable on the inside - or something. The following example is probably nowhere near minimal but is from the reporter:
var('T1, T2, T3, T4, T5, T6, T7, T8, r, r_0, r_2, r_a, r_s,theta_a, phi_a, theta_c, theta, phi, A'); r_a=2; theta_a=pi/2; phi_a=0; r_s=vector([r, theta, phi]); r_0=vector([r_a, theta_a, phi_a]); T1=vector ([sin(theta)*cos(phi), sin(theta)*sin(phi), cos(theta)]); T2=vector ([cos(theta)*cos(phi), cos(theta)*sin(phi), -sin(theta)]); T3=vector ([-sin(phi), cos(phi), 0]); T5=vector ([sin(theta_a)*cos(phi_a), sin(theta_a)*sin(phi_a), cos(theta_a)]); T6=vector ([cos(theta_a)*cos(phi_a), cos(theta_a)*sin(phi_a), -sin(theta_a)]); T7=vector ([-sin(phi_a), cos(phi_a), 0]); var('L_s, SA_0, SA_1, SA_2, theta_h, I_0, I, rho, I_1, Phi_0, Phi_1, Phi_2, E_v') ; L_s=20; I_0=2.4; theta_h= 2*pi/45; Phi_0=I_0*SA_0; Phi_0; T4=matrix ([T1, T2, T3]); T8=matrix ([T5, T6, T7]); (r_s*T4)*(r_0*T8); A=((r_s*T4)*(r_0*T8)); theta_c=arccos(A/(r*r_a)); r_2=sqrt(r^2+r_a^2-2*r*r_a*cos(theta_c)); Phi_0 ; Phi_0*(1-exp(-r/L_s)); f=diff(Phi_0*(1-exp(-r/L_s)), r); f rho=1/(SA_0*r^2)*f; rho; SA_0; f; y=rho/(r_2)^2*r^2*sin(theta)^2; numerical_integral(lambda phi: numerical_integral(lambda theta: numerical_integral(lambda r: y, 0,5)[0], 0, pi)[1], 0, pi)
Note that numerical_integral(lambda r: y.subs(theta=1,phi=1),0,5)
yields this problem while z = y.subs(theta=pi/2,phi=pi/2); numerical_integral(z,0,5)
does not, and yet numerical_integral(lambda r: z,0,5)
does.
Note: See
TracTickets for help on using
tickets.