HI,
I'm trying to write a program that converts electromagnetic equations from 
CGS to MKS units. I've run into the following issues:

(1)  I have expressions like curl*H - c^(-1)*d_t*D, where curl and d_t 
express derivatives. In the process of conversion, sage switches the order 
and outputs:

 H*curl - D*d_t/c

I thought of defining a free algebra  over a symbolic ring, but this turns 
out to have problems. Apparently expand and simplify are not defined for 
expressions in a free algebra.  Sage chokes on the following code.

var('c, pi, c, mu_0,epsilon_0')
F.<curl,H,d_t,D,J> = FreeAlgebra(SR,5,'curl,H,d_t,D,J')

eqCGS =                                 curl*H  - c^(-1)*d_t*D             
            ### CGS expression on this line ###

eq = eqCGS *                            (1/2)*mu_0^(-1/2)*pi^(-1/2)         
       ### Multiplicative factor on this line ###


assume(c>0,mu_0>0,epsilon_0>0)
eq = eq.subs({c == mu_0^(-1/2)*epsilon_0^(-1/2)})
eq = eq.subs({H:2*H})
eq = eq.subs({D : 2*pi^(1/2)*epsilon_0^(-1/2)*D})
eq = eq.subs({J : (1/2)*pi^(-1/2)*epsilon_0^(-1/2)*J})
eq = eq.expand()
eq = eq.simplify()
show('Original~(CGS)~version')
show(eqCGS)
show('MKS~version')
show(eq)


Furthermore, the code does not substitute for c. 

Any guidance would be appreciated 



-- 
You received this message because you are subscribed to the Google Groups 
"sage-support" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-support+unsubscr...@googlegroups.com.
To post to this group, send email to sage-support@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-support.
For more options, visit https://groups.google.com/d/optout.

Reply via email to