RE: Need for (FindFit, Refine) ?
- To: mathgroup at smc.vnet.net
- Subject: [mg42514] RE: Need for (FindFit, Refine) ?
- From: "Ersek, Ted R" <ErsekTR at navair.navy.mil>
- Date: Sat, 12 Jul 2003 05:19:13 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
It seems some people misunderstood what I was getting at with the new functions FindFit, and Refine. I agree that these new functions allow us to solve problems we couldn't easily solve before. However, I suggest that it would have been better if they added to the capabilities of Fit and FullSimplify that we are already familiar with. When they made it so we can solve (Algebraic Differential Equations) they didn't make a new function AlgebraicDSolve[eqn, y, x]. NO they improved the DSolve[eqn, y, x] that we were already used to. We always had Simplify[expr], and then they let use state assumtions. They didn't make a new function SimplifyWithAssumptions[expr, assum]. NO they improved the Simplify we already knew. I give another example. Drop is well designed because it allows several forms. Drop[list, n] Drop[list, -n] Drop[list, {n}] Drop[list, {m,n}] Drop[list, {m,n,s}] Drop[list, seq1, seq2, ...] A poorly designed system would have several functions. DropStart[ list, n ] DropEnd[ list, n ] DropSingle[ list, {n} ] DropSeveral[ list, {m,n} ] DropWithSteps[ list, {m,n,s} ] DropMany[ list, seq1, seq2, ...] By introducing FindFit and Refine the kernel begins to look like the system above with many flavors of Drop. One of the great things about Mathematica is that there is a small set of features that are very general, and you can do a great variety of things with these few features. I know Stephen Wolfram is very proud of this. Cases is one of the functions that are very versitle. In a poorly designed system we would have 50 functions to cover a tiny subset of what Cases can do (ie. GetIntegers, GetReals, GetSymbols, GetLists). Other places where Wolfram did a great job is with the tight integration of PackedArrays and SparseArrays. It's great that the new version is much faster, while keeping the use of PackedArrays and SparseArrays mostly transparent. At first one might think the functions (Tr, Most, and Total) have no added value because it's trivial to do this stuff without these functions. However, they apparently have the advantage that they run very fast with large data sets. -------- Ted Ersek