Ask Your Question
2

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_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

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

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)
edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

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

kcrisman gravatar image

I've reported this at http://trac.sagemath.org/ticket/18059. 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

Comments

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

Stats

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

Seen: 835 times

Last updated: Mar 26 '15