I think your arguments are weak, though given the audience, perhaps they 
would be appealing.

Here's what I think constitute good arguments for people to know about CAS. 
Maybe even sympy.

1. Scientists, mathematicians and programmers all have a rich language and 
context for
discussing the solution of difficult problems.  Users of traditional 
numerical computation 
much couch their solutions in terms of objects that are floating-point 
numbers or collections of
them such as matrices

2. Symbolic computation allows for a much broader class of objects, and 
supports
the manipulation of formulas, algebraic equations,
differential equations, series, geometric descriptions, and more.

As a simple example, solution of the quadratic equation in s,  
s^2+(a/n)*(n^2-1)*s -a^2=0
can be easily expressed, and trivially solved in a CAS to find the 
solutions s=-a*n and s=a/n.
The presence of extra parameters (a,n) in the problem and the solution 
would pose difficulties
for a numeric solution.

3. Many algorithms of applied mathematics, usually portrayed in references 
and texts as appropriate
for "hand calculation"  can in fact be encoded in symbolic form, using 
formulas as input and output.
Famously, these include symbolic integration, differentiation, expansion in 
series, summation.

4. Routines may be written which, through symbolic manipulation, produce 
specialized versions
of algorithms tailored to tasks which themselves be numeric, but whose 
programming "by hand"
would be too laborious and error-prone to seriously consider. As examples, 
super-accurate
programs for scientific subroutine libraries have been developed.

5. CAS can be used to symbolically execute and prove the correctness of 
algorithms that
might otherwise be challenges to understand.

6.  And more...



On Friday, May 2, 2014 2:50:02 PM UTC-7, Aaron Meurer wrote:
>
> FYI, my SciPy talk for SymPy was not accepted (it was accepted for the 
> poster session). My talk on conda was accepted, as was the SymPy 
> tutorial. 
>
> Aaron Meurer 
>
> On Tue, Apr 1, 2014 at 4:58 PM, Ondřej Čertík 
> <[email protected]<javascript:>> 
> wrote: 
> > On Mon, Mar 31, 2014 at 9:14 PM, Matthew Rocklin 
> > <[email protected]<javascript:>> 
> 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+. 
> > 
> > That's funny, I forgot that I said that and just had the same reaction. 
> > 
> > However, we are still missing rational function approximation in SymPy 
> > or mpmath. 
> > That's what is used to implement things like log_gamma or erf (error 
> > function) in 
> > Fortran or C. So I have just created an issue for it: 
> > 
> > https://github.com/sympy/sympy/issues/7359 
> > 
> > and I spent time explaining exactly how it works in it and giving 
> examples, 
> > including for example the implementation of erf() in gfortran. 
> > 
> > Aaron, you were asking about examples of numerical cancellation. I 
> > worked out one in the 
> > issue as well. 
> > 
> > Ondrej 
> > 
> >> 
> >> You're right that this is similar to my last talk.  The last one though 
> was 
> >> mostly about an application (numerical linear algebra).  I actually 
> want to 
> >> talk a bit more about the philosophy and some of the more abstract 
> tools 
> >> that people might actually use.  Your first impression is a valuable 
> one 
> >> though, I should go through my last talk and make sure that I'm not 
> >> repeating too much that shouldn't be repeated. 
> >> 
> >> 
> >> On Mon, Mar 31, 2014 at 6:03 PM, Aaron Meurer 
> >> <[email protected]<javascript:>> 
> wrote: 
> >>> 
> >>> That's a good point. One of the nicest things about symbolics, when 
> you 
> >>> can get it, is that it can make things drastically more efficient by 
> doing 
> >>> mathematical simplifications. Evaluating integrals symbolically is a 
> nice 
> >>> example of this (especially for SymPy, which has some pretty nice 
> algorithms 
> >>> to compute definite integrals). 
> >>> 
> >>> I'm reminded of a popular blog post (I can't find a link right now) 
> about 
> >>> how know math is important for programmers. It has the example of how 
> all 
> >>> these programming languages show how they they compute factorial, and 
> how 
> >>> tail recursion can make it linear or whatever, but the actual best way 
> to 
> >>> compute it is to use loggamma, which gives the answer in constant 
> time. 
> >>> 
> >>> Aaron Meurer 
> >>> 
> >>> 
> >>> On Mon, Mar 31, 2014 at 7:51 PM, Tim Lahey 
> >>> <[email protected]<javascript:>> 
> wrote: 
> >>>> 
> >>>> 
> >>>> 
> >>>> On 31 Mar 2014, at 20:29, Aaron Meurer wrote: 
> >>>> 
> >>>>> On Mon, Mar 31, 2014 at 11:32 AM, Matthew Rocklin 
> >>>>> <[email protected] <javascript:>>wrote: 
> >>>>> 
> >>>>>> I like that you emphasized the utility for numerics, I think that 
> this 
> >>>>>> is 
> >>>>>> likely to be a selling point for the SciPy crowd. 
> >>>>>> 
> >>>>> 
> >>>>> Yes, this was very intentional. I may need some help gathering up 
> some 
> >>>>> nice 
> >>>>> motivating examples if this is accepted. 
> >>>> 
> >>>> 
> >>>> One motivating example for me is the integration of products of 
> functions 
> >>>> over areas and volumes. For finite elements, you'll get products of 
> pairs of 
> >>>> trial functions (usually polynomials). It's even more useful for 
> products of 
> >>>> trig functions. Performing the integration of any of theses is easy 
> enough 
> >>>> with numerical integration, but it's much more efficient to calculate 
> the 
> >>>> integrals symbolically and then perform the evaluation for each 
> element. 
> >>>> 
> >>>> Cheers, 
> >>>> 
> >>>> Tim. 
> >>>> 
> >>>> 
> >>>> -- 
> >>>> 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 [email protected] <javascript:>. 
> >>>> To post to this group, send email to 
> >>>> [email protected]<javascript:>. 
>
> >>>> 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.
>  
>
> >>>> 
> >>>> For more options, visit https://groups.google.com/d/optout. 
> >>> 
> >>> 
> >>> -- 
> >>> 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 [email protected] <javascript:>. 
> >>> To post to this group, send email to [email protected]<javascript:>. 
>
> >>> 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.
>  
>
> >>> 
> >>> For more options, visit https://groups.google.com/d/optout. 
> >> 
> >> 
> >> -- 
> >> 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 [email protected] <javascript:>. 
> >> To post to this group, send email to [email protected]<javascript:>. 
>
> >> 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/CAJ8oX-HZABscP43PDuoAeWhcpBYW2w39G8qPx0%2BZCbKcYbJdJg%40mail.gmail.com.
>  
>
> >> 
> >> For more options, visit https://groups.google.com/d/optout. 
> > 
> > -- 
> > 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 [email protected] <javascript:>. 
> > To post to this group, send email to [email protected]<javascript:>. 
>
> > 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/CADDwiVCXMe1zA53fyuoNO%2BaWO2mFqjjfYUNzAtAOSTuJE5N5Jw%40mail.gmail.com.
>  
>
> > For more options, visit https://groups.google.com/d/optout. 
>

-- 
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 [email protected].
To post to this group, send email to [email protected].
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/4a139099-679f-41ca-874d-faa2c2006845%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to