Hi all,
I've recently started playing around with sympy. I am mainly
interested in the fcode printer module as I would like to be able to
write symbolic expressions and generate on the fly fortran code that
is inserted into a fortran subroutine that is part of a larger
parallel code.
After trying out a couple simple examples that compiled nicely into
fortran code I tried an example that is slightly more complicated, but
I can't seem to figure out how to write this properly in sympy. So
here is what I would like to express
$dw_p = \frac{V_p}{e^2} \sum_{q=1}^{N}{(w_p - w_q) \mu (x_p - x_q)}
\forall p=1,...,N$
In fortran this would be something like
do p=1,n
do q=1,n
dw(p) = dw(p) + (w(p) - w(q))*mu*(x(p)-x(q))
enddo
dw(p) = dw(p)*(V(p)/(e**2))
enddo
I tried to accomplish this with following python/sympy code:
http://codepad.org/O7L70QJV
But when I try to run this I get an exception:
IndexConformanceException: Indices are not consistent: -w[p] + w[q]
I must be doing something wrong, but I don't quite get what..
(actually the code I tried doesn't even contain the $\frac{V_p}{e^2}$,
but I don't know how to express this properly, apart from using
sympy.sum, but the fcode printer doesn't like sum.)
I was looking a bit through the documentation but wasn't sure were to
look actually and I even bugged the devs in the IRC channel who
adviced me to post this to the mailinglist. So I hope I'm not asking a
too obvious question...
Thanks in advance!
omar
--
You received this message because you are subscribed to the Google Groups
"sympy" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sympy?hl=en.