Ask Your Question

Unable to simplify to float approximation

asked 2015-03-26 13:36:10 +0100

Nownuri gravatar image

updated 2015-03-26 17:32:43 +0100

kcrisman gravatar image

I have been struggling with an integration. When I tried symbolic integral, the sage didn't give any answer and stopped working. And then it gave errors for various numerical integral commands. Could you please let me know what the problem is and how to fix it is the code I used. I'm sorry for this long code. but It was necessary.

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_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') ;



theta_h= 2*pi/45; 



T4=matrix ([T1, T2, T3]);

T8=matrix ([T5, T6, T7]);





Phi_0 ;


f=diff(Phi_0*(1-exp(-r/L_s)), r); f

plot (f, xmin=0, xmax=20, ymin=0, ymax=0.01) ;

rho=1/(SA_0*r^2)*f; rho; SA_0; f;


numerical_integral(lambda phi: numerical_integral(lambda theta: numerical_integral(lambda r: y, 0,5)[0], 0, pi)[1], 0, pi)
edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2015-03-26 17:56:33 +0100

kcrisman gravatar image

I've reported this at I don't have an answer (yet) for why this is happening, because ordinarily it indicates there is something like a complex number as an intermediate result. But I will 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 but numerical_integral(lambda r: 0.240000000000000*e^(-1/20*r)/(4*pi - pi^2 + 2*r^2 + 8), 0,5) is fine!

edit flag offensive delete link more


Thank you for the answer. So does it mean this is responsible of Maxima or Sage? Not my code?

Nownuri gravatar imageNownuri ( 2015-03-27 05:00:24 +0100 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower


Asked: 2015-03-26 13:36:10 +0100

Seen: 738 times

Last updated: Mar 26 '15