i have maple, mathematica and matlab. i wouldnt like to choose between them, because they're all good.mathematica and maple are very similar in computer algebra, i cant say which one's better. i usually try to confirm results running on both packages. somehow, i still dont trust them completely, so i have to confirm formulae with pen and paper. i used to trust REDUCE more than these two. besides, they often can't simplify results in the form i want. tracing is crappy in both packages, it's not easy to read how exactly they did this and that. they both have numerical packages, but i dont trust them too, i have to write my own numerical routines if there's something important to reproduce the results.matlab is good for matrix manipulations, its comp algebra is supposed to b on par with maple, but i dont feel it that way. i dont do any symobolic math on matlab. i find graphing in matlab superior to mathematica and maple.

QuoteOriginally posted by: jawabeanmathematica and maple are very similar in computer algebra, i cant say which one's better. besides, they often can't simplify results in the form i want.Having used only Mathematica, I have to agree with you that simplification is most of the times not in the form we want/need ... especially when powers are involved.

I've been using MatLab in trying to compute a definite integral where the inegrand contained a gamma function of complex argument and a modified bessel function of the second kind where both the argument and the order are complex and where the integration is carried out with respect to the order of the bessel, the argument of the gamma function and some other weights. After running into problems due to the fact that MatLab did not handle the complex orders for the modified bessel I tried looking through Matlab exchange to see if anyone had implemented the code. Indeed, one guy claimed that he had done so. I downloaded the code which included calls to a C++ written .dll file. Again the function could deal with the complex order but now was not able to deal with a vector when calculating the integral (Matlab apparently calculates integrals by constructing vectors that it dots with a grid). I had to write a new piece of code using the Matlab exchange code. After leaving the damn thing run for the entire night I got a plot of my integral which contained patches as the code could not generate many pieces of the graphs (i.e. the way it calculated things was so imprecise that many zeros became NaNs). In any case....the graph was still ok as the integral I was computing had some symmetries which I could use to fill the missing patches and realize that some singularities I was afraid of did not exist. Finally i had to prove that the integral along with a sum added to one for some values of the parameters....the imprecision of the code was so much that I kept getting completely different and quite divergent numbers in place of 1!....finally I managed to get some help in Mathematica...the patches have disappeared, the integral sums to 1 and the plots take about 1 hour instead of 11 not to mention that a code which required a few hundred lines was all already implemented very well in Mathematica......I am not sure that MatLab is so bad when it comes to data otherwise people wouldnt be using it as much....but as far as numerical stuff and Maths...my experience was quite concluding.

Last edited by haZim on June 23rd, 2007, 10:00 pm, edited 1 time in total.

- ZmeiGorynych
**Posts:**876**Joined:**

QuoteOriginally posted by: nikolFranckly, I would use ROOT, if bank would allow it.... as is it even more superior than MatLab and anything I can imagine...Why? We tried it and found it to be a pain, and it tries to do everything which means it's not the best solution for any one problem.For example, can you tell me what plots root can do that matlab can't?HDF5 is more flexible and powerful than root trees for storing large structured datasets.ROOT C++ interpreter (CINT) is neat, but last time I looked it was very limited, eg no templates. So why?

- ZmeiGorynych
**Posts:**876**Joined:**

I think the Matlab vs Mathematica distinction boils down to how one's brain is wired. Both can do pretty much everything an average quant user is likely to need, both can be pushed to the wall by expert users, both are quite mature, well-documented applications.I think if your natural way of thinking about a problem is to scribble equations first and compare them against data later, Mathematica is your natural friend, and if you (like myself) first slice and dice the data looking for patterns (both expected and new), and then only try to wrap math around what you see, MATLAB is the way to go.Another issue is that a MATLAB license is perpetual (you only get free updates for a year, but you may keep using that version forever), whereas Mathematica, last I heard, had the unspeakable policy of making you pay EVERY YEAR.

- ZmeiGorynych
**Posts:**876**Joined:**

Oh, and BTW MATLAB's financial toolbox is quite overpriced for what it is. If you consider MATLAB, just get base, optimization and statistics toolboxes (plus any interfaces to excel, datafeeds etc if your interests lie that way).

- guillaume07
**Posts:**37**Joined:**

Scilab is a great tool too and is it free....

QuoteOriginally posted by: ZmeiGorynychAnother issue is that a MATLAB license is perpetual (you only get free updates for a year, but you may keep using that version forever), whereas Mathematica, last I heard, had the unspeakable policy of making you pay EVERY YEAR.That's wrong. You pay for Mathematica once for an individual license which is perpetual; you pay again (at the upgrade rate) only if you want to upgrade to a new version.

- stonexu1984
**Posts:**83**Joined:**

garch toolbox is also worth to get. For univariate, I prefer mathwork's garch to UCSD's

QuoteOriginally posted by: AlanQuoteOriginally posted by: ZmeiGorynychAnother issue is that a MATLAB license is perpetual (you only get free updates for a year, but you may keep using that version forever), whereas Mathematica, last I heard, had the unspeakable policy of making you pay EVERY YEAR.That's wrong. You pay for Mathematica once for an individual license which is perpetual; you pay again (at the upgrade rate) only if you want to upgrade to a new version.If you buy the Premium License (use in 2 computers plus free upgrades plus Premium support and stuff) then you pay every year.

-- If you buy the Premium License (use in 2 computers plus free upgrades plus Premium support and stuff) then you pay every year.But not the full price. You pay a maintenance price. -- whereas Mathematica, last I heard, had the unspeakable policy of making you pay EVERY YEAR.The same rules apply for Matlab and Mathematica

Last edited by dibble on July 17th, 2007, 10:00 pm, edited 1 time in total.

- jaegerstar2000
**Posts:**2**Joined:**

Mathematica has a time series package which has a huge bug in it for determining (G)ARCH.I want my money back and the sales department is quiet. Technical support are lookinginto it. But, no end in sight.......The bug is that the package does not respect the non-negativity on the coefficients. Which meanssometimes you will receive a complex solution!!!(see other posts by me on the internet for a more detailed explanation to this problem).Mathematica version 6.0Timeseries Package Version: 1.0Until they fix it, do not purchase the package as you will not get your money back.Instead, Engle recommends Eviews. I recommend either: MATLAB, Ox, Eviews, SAS, Gauss and maybeR-Project: tSeries for fitting GARCH.Ian Gregory.

- ZmeiGorynych
**Posts:**876**Joined:**

QuoteOriginally posted by: guillaume07Scilab is a great tool too and is it free....We played with it a year or so ago and found it was incredibly slow on datasets of any size at all (considering it's MATLAB we're benchmarking against, that's quite an achievement ) as well as not supporting the full set of matlab commands, nor the same quality of GUI. Why bother with clones - I'd either get the real thing, or use another language such as python.

I would like to know if any actuaries are using Mathematica and, if so, to what extent does it replace APL in their applications.

Can anyone match or beat either of these running times?If so what's your setup? (Matlab/Mathematica Version #, CPU, Brand, Model, Op. Sys., Memory)Matlab---------------------------M = rand(300,300);t=0.25; T=2;tic; inv(M) * (expm(-t*M) - expm(-T*M)); toc;Elapsed time is 0.288171 secondsMathematica---------------------------M = Table[Random[], {i, 1, 300}, {j, 1, 300}];t = 0.25; T= 2;Timing[Inverse[M].(MatrixExp[-M t] - MatrixExp[-M T]);] {0.375 Second, Null}

Last edited by Alan on August 25th, 2007, 10:00 pm, edited 1 time in total.