7/26/2007
Apparently so. The name is Archimedes (you probably heard of him!). Their sub-head is Moving Medicine through Mathematics. I also found this through job ads.
It must be an interesting place. Apparently the main guy, Eddy (no relation to Sean R. Eddy) is a way out guy who came from Kaiser Southern California. A BusinessWeek backgrounder on him is titled: Medical Guesswork.
If my father read this he would agree! Apparently this MD says that doctors have no freakin' idea what works and what does not work.
Now that the Eddy guy had proved he was crazy, he got together with some particle physicist and they do Bio-Infomatics modelling.
Their tutorial is full of equations! Apparently they are doing Smalltalk.
But they are in SF so I need to run into them sometime.
Regards.. The number seems to be very small right now. These are seldom seen.
7/23/2007
My background/caveats
- I am a former scientific programmer. When I first started (during service in the Air Force), I coded in Fortran 77. Later I used both PL/I and C (i.e. K&R). I have strong views about what I consider a "modern" development environment.
- I can definitely be considered a Mathematica bigot. I have used Mma for about 4 years and I have mid-to-advanced level familiarity with the product. So this review is not unbiased (out of the gate).
- The current version (i.e. R2007a) is the first Matlab version I have ever used.
- I have seen and experienced the widespread, broad-based Matlab marketing effort (TMW has full-page ads in my IEEE biotech magazine). And I am familiar with Matlab's deep penetration in financial engineering and bioinformatics (2 of my current interests). I recently watched an impressive webcast (by TMW) about one of the financial toolboxes.
- Also I read about Cleve Moler and the history of Matlab as well as seen a few (somewhat dated) timing tests between MMa, Matlab, R, S-Plus, et.al.
On first blush
- Matlab has an easily approachable interface. When the person first encounters it, after having done absolutely no reading, and typing in cos(pi) and hitting <Enter>, Matlab obligingly replies: ans = -1. Hey I am a Matlab maven already! ;-) Doing the same thing in Mma yields Possible spelling error... and returns cos pi. Definitely a different first feeling!
- I immediately noticed fixed pitch fonts. And the MDI interface is one that XL abandoned many years ago. I start to remember that of all of the Matlab code I have seen, I have never noticed a superscript for squared.
- Perusing the help has several examples that work with just cut-and-paste. But all of the routine names have (roughly) 7 characters or less and the system has a line orientation, where a continuation notation is needed.
- This interface looks like Fortran and also acts like it in some respects.
The Good
- There is immense breadth in the toolboxes as well as the base. The documentation for the Financial Derivatives and Fixed Income toolboxes read like textbooks.
- One of the books I am studying uses Simulink extensively. This graphical interface to simulation is widely used and holds the promise of easier understanding of models. I need to use this more to give a more in-depth opinion.
- The community support for the product is impressive as evidenced by its wide-spread use.
- The help system with the examples and references is fantastic.
The Bad
- Some of the same items from the first blush section do not bode well for a modern, satisfying development experience.
- There seems to be a focus on loops in code as evidenced by another well-respected matlab book I am reading.
- Several omissions and/or imposed limitations seem arbitrary and hard to justify. Examples include randn, inv, factor, precision.
- Then there are annoyances that are unfathomable to me in a software product released in 2007. Examples include: 1) no test for save when ending the workspace (requested on the TMW website in 2007!) and 2) no auto-seed for randn!
The Ugly (conclusion)
- I can guess that the overlap of functional capability between Mathematica and Matlab is much larger than the unique features of either one. Both are impressive CASs from a breadth as well as depth standpoint.
- It seems that Matlab is the higher cost system for the same functions. In Matlab, many Mma functions require toolkit purchases. My guess also is that the total range of Matlab toolkits exceeds the range of Mma and their add-on third-party products.
- There are a couple of large areas where there is no comparison (MMa wins easily) and looking into Matlab has made the importance of these features more stark for me. These are: 1) symbolic and programming language support and 2) typsetting Notebooks. Both of these features put the development experience in a different category when compared to Matlab.
I have blogged on a couple of these points and I will blog on more of these in the future.
References
7/22/2007
I have posted a Mathematica tutorial that describes:
- one method to annotate a graphic to show an intended idea regardless of the function plotted
- the modularity and transparency of Mma's internal representation
Regards.. 7/16/2007
This book is accompanied by a large set of Matlab code called CompEcon. The documentation for the Matlab code is contained in the book.
The book is broken up into 2 main sections. The first 6 chapters survey many computational methods. The last 5 chapters discussed various types of models and describes which methods are appropriate for the model being discussed.
I studied some numerical methods in college and recently I have been reading about the Mathematica optimization functions.
So as I read the first section of the book, I found its exposition to be quite clear and the color graphics of the book to be stunning. Most chapters have descriptions of CompEcon toolkit functions.
In the section on finite-dimensional optimization, the authors describe a toolbox function called neldmead, an implementation of the Nelder-Mead optimization method. A bell went off in my head since I recently read about this method as a built-in option to Mma's NMinimize function.
Then I started to look up several of the other toolkit routines in the first section of the book. It seems that most of these functions are already built into Mma. I hope to describe how to run each of the functions below in Mma.
In general, I wonder why these professors would spend a good portion of their lives writing code that apparently Matlab does not have built in and [according to my inexhaustive analysis] is built into Mma.
Maybe these are functions that would require various Matlab toolboxes which would cost extra.
I will post here as I figure out which Mma commands correspond to the CompEcon toolbox functions listed below.
Regards.. --------------------------------------------------
7/15/2007
After my previous posting on this subject, I wanted to try this in Matlab (since it stands for Matrix Laboratory).
My first problem was one of precision. Above about 1300, Matlab just gave Inf as an answer.
I asked about this in the Matlab group. After getting a cryptic reply implying my question was frivolous, a couple of weeks later I was able to understand the reply and how to do this in Matlab.
The answer is in the Symbolic Toolbox using a command called vpa (for variable precision arithmetic).
But when I ran it using this, it took 26 seconds to compute the 10,000 number. Obviously, Matlab does not shine when it comes to this problem.
Regards..Roger W.
References:
I am starting to wonder if these comparisons are unfair. By this I mean, maybe these only play to Mathematica's strengths. Like how the sample documentation for some software packages show how to factor 3456*9753. Alas, how to know?? Here are the results:
Problem: Obtain prime factors for a very large number, such as (2^227)-1.
Answers: (from Mma)
- 26986333437777017
- 7 992 177 738 205 979 626 491 506 950 867 720 953 545 660 121 688 631
Mathematica V5 computes the exact factors in about 550 seconds (about 10 minutes) on my H/W. It has always amazed me that Mma can compute this at all.
Matlab R2007a cannot perform this factorization as far as I can tell. I will try vpa later. The Matlab Help command explains that TMW has decided do disable this for numbers greater than 2^32! The matlab doc entry does not mention this restriction at all.
Regards..Roger W. Refs:
7/13/2007I am doing some studying of computational financial mathematics. Part of this involves numerical approximation and performance of algorithms.
During this quest I have stumbled upon 2 ways to very rapidly compute the Subject: number.
I guess I could not have imagined what this number might be. Now as a result of Mma, I can see this number. In scientific notation, it is:
8.76173253291634579427152197110606E62695.
The first computation is the standard recursive definition. On my machine, this takes 1.781 seconds to compute.
The second computation involves the nested powers of a simple 2x2 matrix with 2 column vectors equal to (0,1) and (1,1). If this matrix is multiplied by itself 300,000 times, the 2,2 element contains the number above. On my machine Mma takes 0.047 seconds to perform this computation.
Currently, I do not know how to make Matlab compute this number.
Regards.. I was suprised by these results. The summary is that [for this test] compiled Mma takes about 30% of the time of Matlab to perform this computation. Everywhere else I have seen Mma has been getting faster with each release but not as fast yet. Is there a simple explanation? If this is a valid test, is it posted on the Mma site somewhere? Here are the details: test used: http://www.stats.uwo.ca/faculty/aim/epubs/MatrixInverseTiming/default.htm(note there are some results on this page and I did not make the measurements with C++) H/W: separate Intel Core 2 Duo 6700 (2.67Ghz * 2) machines with 324MB(Mma) and 512MB (Matlab) O/S: Windows XP Sp2 Computation Platform: Mma 5.2 and Matlab R2007A Timing: MMa Uncompiled (3.016s) Compiled (1.203s) Matlab Total Time (4.169s) SelfTime (3.982s) Regards..
This will describe experience I have looking for Congruent Light.
|
|
|
|