--
You received this message because you are subscribed to the Google Groups "sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sympy+un...@googlegroups.com.
To post to this group, send email to sy...@googlegroups.com.
Visit this group at http://groups.google.com/group/sympy.
To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/CAKgW%3D6K3OmDsdApN%3DOEvFrRQ4ohEQ1npVfwgUsyxd-K-TLaLOA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
Good solutions to hard problems require both domain and algorithmic expertise. Domain experts know what to do and computer scientists know how to do it well. Coordination between the algorithmic and domain programmer is challenging to do well and difficult to scale. It is also arguably one of the most relevant blocks to scientific progress today.
This talk draws from experience supporting mathematical programmers in the SymPy project. SymPy is a computer algebra system, a complex problem that requires the graph manipulation algorithms of a modern compiler alongside the mathematics of several PhD theses. SymPy draws from a broad developer base with experienced and novice developers alike and so struggles to maintain a cohesive organized codebase.
We approach this development problem by separating software engineering into a collection of small functions, written by domain experts, alongside an abstract control system, written by algorithmic programmers. We facilitate this division with techniques taken from other languages and compiler technologies. Notably we motivate the use of a few general purpose libraries for multiple dispatch, pattern matching, and programmatic control.
I like that you emphasized the utility for numerics, I think that this is likely to be a selling point for the SciPy crowd.
I think that it's correct to inform the reader about what symbolics are but I think that the first couple of sentences (which do this) could be stronger/more direct. Right now they sound conversational. It's not clear to me how to fix this though.
Maybe start with something like "SymPy is a computer algebra system. It provides easy access to a wealth of automated mathematics that helps programmers to reason about their problem producing more clear and efficient numeric solutions." and then go into what symbolics are?
I would cut the top bullet point, e.g.- Why you should care about symbolic mathematics, even if you are only interested in doing numerics.- How symbolic mathematics can help you solve problems more effectivelyI have a pretty cynical view about people when they're reading text though (perhaps this comes from teaching freshmen :)) As a result sentences that carry more than one idea seem dirty to me.
To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/CAJ8oX-EKtRvNmb8SnyAxUaV%3D3m3_%3D2kfe%3D%3DKRsPKj13_bUSBOA%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/CAJ8oX-Ei01ZAgWSJmb2Cdm6Q%2BOovh4L4C25c7p2PwQc2shB5qw%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sympy+unsubscribe@googlegroups.com.
To post to this group, send email to sy...@googlegroups.com.
Visit this group at http://groups.google.com/group/sympy.
To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/AE5C61B5-8C69-49AE-BAFF-85E5AC924F8F%40gmail.com.
To unsubscribe from this group and stop receiving emails from it, send an email to sympy+un...@googlegroups.com.
To post to this group, send email to sy...@googlegroups.com.
Visit this group at http://groups.google.com/group/sympy.
To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/CAKgW%3D6K8F9weBP-7yjpzrN9hQ5FR54TK_QdCPqbzBdwo20zKdg%40mail.gmail.com.
On Mon, Mar 31, 2014 at 9:14 PM, Matthew Rocklin <mroc...@gmail.com> wrote:
> http://www.evanmiller.org/mathematical-hacker.html
>
> I reference that blog post pretty often. I fully intend to reference it
> again in my talk (if it is accepted).
>
> The interesting thing about the Factorial / Gamma / loggamma example is that
> to find the solution you need to find someone who knows both that n! =
> Gamma(n+ 1) and who knows that a loggamma routine is commonly found in lower
> level languages. Those bits of information are usually held by different
> experts. Ondrej said "Of course, that's obvious" when I first reposted the
> article on G+.
long int fac(unsigned long int n) {
return lround(exp(lgamma(n+1)));
}
Again, no recursion is required as long as one...