Re: Maple Vs Mathematica
- From: "Nasser Abbasi" <nma@xxxxxxxxx>
- Date: Mon, 05 Dec 2005 13:22:07 GMT
"John Francis" <jf_newspost@xxxxxxxxxxx> wrote in message
news:1133773557.937587.288500@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
>> There is one advantage to Maple over Mathematica (if this is
>> important
>> for you): in Maple one can list the source code for most of the
>> system
>> functions. In Mathematica the source code is not available to look
>> at.
>
> That isn't right. All the parts of Mathematica that you load from
> packages, Graph theory, combinatorics, most of the number theory
> etc
> you can find in plain text files at
> C:\Program Files\Wolfram
> Research\Mathematica\5.2\AddOns\StandardPackages\
>
> A good fraction of the kernel functions can also be seen, though not
> in
> a very convenient way.
> Make sure the function is loaded internally by using it once. eg
> LaplaceTransform[x,x,t]
> Then make it viewable with
> ClearAttributes[LaplaceTransform, ReadProtected]
> Now read the source code with
> ??LaplaceTransform
>
Thanks, I did not know I could do that.
btw, I did the above and looked at the source code for
LaplaceTransform.
I wonder if this code was actually written by a person or was it
generated by some other automated software or somehow
converted/compiled from other source? may be C? The reason is that it
seems to me the code is so much hard to follow, it is almost hard for
me to see how a person could have actually typed that code themselves?
but may be it is possible, I've seen advanced Mathematica code that is
impossible for me to even start to understand what it does :)
For the benefits of those who do not have Mathematica, here is a small
fraction of the above code:
LaplaceTransform[System`LaplaceTransformDump`expr_,
System`LaplaceTransformDump`ts:{__},
System`LaplaceTransformDump`ss_List,
System`LaplaceTransformDump`opts___] :=
Module[{System`LaplaceTransformDump`lt,
System`LaplaceTransformDump`index},
LaplaceTransform[System`LaplaceTransformDump`lt,
Delete[System`LaplaceTransformDump`ts,
System`LaplaceTransformDump`index],
Delete[System`LaplaceTransformDump`ss,
System`LaplaceTransformDump`index],
System`LaplaceTransformDump`opts] /;
Length[Union[System`LaplaceTransformDump`ts]] ==
Length[System`LaplaceTransformDump`ts] ==
Length[System`LaplaceTransformDump`ss] &&
And @@ (FreeQ[System`LaplaceTransformDump`ss, #1] & ) /@
System`LaplaceTransformDump`ts &&
Scan[If[Head[System`LaplaceTransformDump`lt = LaplaceTransform[
System`LaplaceTransformDump`expr,
System`LaplaceTransformDump`ts[[#1]],
System`LaplaceTransformDump`ss[[#1]],
System`LaplaceTransformDump`opts]] =!=
LaplaceTransform, System`LaplaceTransformDump`index = #1;
Return[True]] & ,
Range[Length[System`LaplaceTransformDump`ts]]]]
> I would say that between these two methods, about 60% of Mathematica
> source is viewable. You wan't get very far with the high-performance
> functions like Det, Inverse etc which are compiled C rather than
> written in Mathematica language.
>
> I don't think either system makes C source available.
>
>
You could be right, I am not sure. I think also the Maple kernel
itself is written in C.
Nasser
.
- Follow-Ups:
- Re: Maple Vs Mathematica
- From: Albert Reiner
- Re: Maple Vs Mathematica
- References:
- Maple Vs Mathematica
- From: kush99
- Re: Maple Vs Mathematica
- From: Nasser Abbasi
- Re: Maple Vs Mathematica
- From: John Francis
- Maple Vs Mathematica
- Prev by Date: Re: Complex variable
- Next by Date: Re: Question about Maple (a color problem)
- Previous by thread: Re: Maple Vs Mathematica
- Next by thread: Re: Maple Vs Mathematica
- Index(es):
Relevant Pages
|