On Wed, Jul 1, 2009 at 8:56 PM, Jason Grout<jason-s...@creativetrax.com> wrote:
>
> Ondrej Certik wrote:
>> On Wed, Jul 1, 2009 at 6:33 PM, William Stein<wst...@gmail.com> wrote:
>>> 2009/7/2 Stéfan van der Walt <ste...@sun.ac.za>:
>>>> 2009/7/1 William Stein <wst...@gmail.com>:
>>>>> Perhaps I'm missing the point, but I'm taking this as a message to
>>>>> focus in Sage more on the algebraic/symbolic side of mathematics
>>>>> (e.g., Magma, Maple, Mathematica) rather than the numerical side, at
>>>>> least for the time being.    I don't have a problem with that
>>>>> personally, since that is what I do best, and where most of my
>>>>> personal interests are.
>>>> I'm joining this conversation late, so I am glad to see the
>>>> conclusions reached so far (not to give up on numerics!).
>>>>
>>>> If I may highlight a distinction (maybe obvious to some) between SAGE
>>>> and NumPy-based experiments:
>>>>
>>>> Sage provides a "language" for eloquently expressing
>>>> algebraic/symbolical problems.  On the other hand, NumPy is mainly a
>>>> library (that provides a data structure with accompanying operations).
>>>>
>>>> This means that users of that library expect to run their code
>>>> unmodified on any Python platform where it is available (Sage
>>>> included).  Whether this expectation is reasonable or not is up for
>>>> debate, but I certainly found it surprising that I had to modify my
>>>> code in order to compute things in Sage.
>>> Either that, or you click on the "python" switch at the top of the
>>> notebook or type "sage -ipython", or from within Sage you type
>>> "preparser(False)".
>>>
>>>> On a more practical level, it frightens me that Maxima spawns so
>>>> easily without my even knowing, simply by refering to a certain
>>>> variable or by using the wrong "exp".
>>> FYI, that is no longer the case.  In Sage-4.0, we replaced Maxima by
>>> the C++ library Ginac (http://www.ginac.de/) for all basic symbolic
>>> manipulation.
>>>
>>>>  That's the kind of thing that kills numerics performance!
>>> There is often a tension between numerics performance and correct
>>> answers.  The following is in MATLAB:
>>>
>>>>> format rat;
>>>>> a = [-101, 208, 105; 76, -187, 76]
>>>>> rref(a)
>>> ans =
>>>       1              0          -2567/223
>>>       0              1          -3839/755
>>>
>>> The same echelon form in Sage:
>>>
>>> a = matrix(QQ, 2, [-101, 208, 105,   76, -187, 76])
>>> a.echelon_form()
>>> [          1           0 -35443/3079]
>>> [          0           1 -15656/3079]
>>>
>>> Trying the same computation on larger matrices, and one sees that
>>> matlab is way faster than Sage.  But of course the answers are
>>> nonsense... to anybody not doing numerics.  To a numerical person they
>>> mean something, because matlab is really just doing everything with
>>> floats, and "format rat" just makes them print as rational
>>> approximations to those floats.
>>>
>>> So indeed, mixing numerics with mathematics is a very difficult
>>> problem, and nobody really seems to have solved it to everybody's
>>> satisfaction.
>>
>> I think people need both approaches, but I why you cannot just pass an
>> option to echelon_form() to use fast floating point numbers (besides
>> nobody yet implementing it)? Then we can have both.
>
>
> Because it is pretty easy to do:
>
> A.change_ring(RR).echelon_form()
>
> which also allows things like
>
> A.change_ring(RealField(200)).echelon_form()
>
> for extended precision.
>
> Is this not sufficient?

If it's as fast as numpy, then I think it's sufficient.

Ondrej

--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to 
sage-devel-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to