Page 1 of 1
Good Numerical Analysis and Statistics Libraries in C#
Posted: December 6th, 2008, 12:25 pm
by Cuchulainn
Any good ones?Only native C# libraries preferred.
Good Numerical Analysis and Statistics Libraries in C#
Posted: December 6th, 2008, 4:18 pm
by axsaxs
Good Numerical Analysis and Statistics Libraries in C#
Posted: December 9th, 2008, 8:28 am
by DanZee
We use this one for standard mathematical functions:
http://www.extremeoptimization.com/
Good Numerical Analysis and Statistics Libraries in C#
Posted: December 9th, 2008, 8:58 am
by Cuchulainn
I think if C# is to get critical mass in finance that some concerted attempt must be made, the way that the boost (very profi) libraries do it. I am worried that we may need to do our own plumbing and this feels like doing in C# what we used to do in C++ but we don't need to do because boost does it for us.In short, C# Boost would be ideal.
Good Numerical Analysis and Statistics Libraries in C#
Posted: December 13th, 2008, 6:34 pm
by xeno
QuoteOriginally posted by: CuchulainnI think if C# is to get critical mass in finance that some concerted attempt must be made, the way that the boost (very profi) libraries do it. I am worried that we may need to do our own plumbing and this feels like doing in C# what we used to do in C++ but we don't need to do because boost does it for us.In short, C# Boost would be ideal.I'm curious, Cuch, what you think should be in this "C# Boost" library? After all, one of the purposes for Boost was to address cross-platform issues, something that C# doesn't have to deal with. Also, the .NET BCL is perhaps a little richer than the C++ Standard Libraries. What "plumbing" do you have in mind? Like everyone else, I've got oodles of helper/utilities that I wish I don't need to maintain myself. :-)I use the Extreme Optimization library myself. It's neither good nor bad. Most of the times, it has stuff I need so no need to roll out the Numerical Recipes book. However, it's a little painful having to write xyz.Lenght (note misspelling) in a few places.-xeno
Good Numerical Analysis and Statistics Libraries in C#
Posted: December 13th, 2008, 7:04 pm
by Cuchulainn
xeno,I would like to see "level 3" libraries such as in boost:maths +stats+special functions(boost has LOTS)uBLASmulti-arrayRNGetc. //I also need to have generic parameters as in TinyArray<T, N> where N is an integer. And for operators such as * and + I must use Reflection to emit code to generate them.so, I think my proposal is very modest QuoteLike everyone else, I've got oodles of helper/utilities that I wish I don't need to maintain myself. :-)Are these a product in the market?
Good Numerical Analysis and Statistics Libraries in C#
Posted: December 14th, 2008, 4:58 am
by xeno
QuoteOriginally posted by: Cuchulainnxeno,I would like to see "level 3" libraries such as in boost:maths +stats+special functions(boost has LOTS)uBLASmulti-arrayRNGetc. I see. I would have use for all of the above. I have to admit, the last time I used Boost was around 2002(?), and mostly for the smart pointer and bind stuff. I'm surprised to see how much it has grown since then. Quote//I also need to have generic parameters as in TinyArray<T, N> where N is an integer. And for operators such as * and + I must use Reflection to emit code to generate them.so, I think my proposal is very modest QuoteLike everyone else, I've got oodles of helper/utilities that I wish I don't need to maintain myself. :-)Are these a product in the market?Nope, it's not a product, just in-house use. My day job is a buy-side quant.The utilities I mentioned are things like: * DateTime helpers, e.g. date.NextWeekDay(), DateRange, and other date arithmetic* String helpers, e.g. prices.JoinWith(",") similar to Python's ",".join(prices)* Tuple<T1,T2>, Tuple<T1,T2,T3>, etc similar to Boost::Tuple* Python's zip: take two or more IEnumerable and return an IEnumerable of Tuples* Math helpers: d.StandardDeviation(), d.Percentile(x), etc where d is an IEnumerable<double>. Note that the BCL already has d.Sum() and d.Average().* CSV Reader/writer.* Excel reader/writer.I also have a hand-rolled WPF chart library that I work on once in a while. (The ones I've seen either suck or have so steep a learning curve that I give up, but I guess that's another discussion. For WinForms, I recommend ZedGraph. Barely.)So yes, I certainly would have use for a "C# Boost".-xeno
Good Numerical Analysis and Statistics Libraries in C#
Posted: December 14th, 2008, 3:01 pm
by Cuchulainn
Yes, boost is truly amazing these days. I use it mostly for the number-crunching duties.For the desktop, I think it is hard to beat C# and .NET. I like it because:. good integration with Excel (almost as easy as VBA???). design patterns are directly implementable (fast development time). Use Reflection to configure (Excel) appsIt's possible to create the vital data structures but doing the advanced stuff oneself is really time-consuming (e.g. Day count stuff, Chi^2 distributions..). The boost developers would do it as a great service? especially
Good Numerical Analysis and Statistics Libraries in C#
Posted: December 14th, 2008, 3:20 pm
by Cuchulainn
zedgraph
Good Numerical Analysis and Statistics Libraries in C#
Posted: December 15th, 2008, 4:03 am
by spmacdonald
Good Numerical Analysis and Statistics Libraries in C#
Posted: December 15th, 2008, 3:24 pm
by jurowilmott1
Why don't you look at
http://www.vni.com/products/imsl/cSharp/overview.php. Their code is fast and covers a lot (lot more than extreme optimization library or any other C# library I looked at relatively recently) but their licensing is beyond painful.
Good Numerical Analysis and Statistics Libraries in C#
Posted: December 16th, 2008, 6:43 pm
by Cuchulainn
QuoteOriginally posted by: jurowilmott1Why don't you look at
http://www.vni.com/products/imsl/cSharp/overview.php. Their code is fast and covers a lot (lot more than extreme optimization library or any other C# library I looked at relatively recently) but their licensing is beyond painful.I see it has some interpolation stuff but it is not clear what exactly. Then you would have to use it in a yield curve module. It might be just better to port existing code from C++, which takes little time if the code has been set up using templates (i.e. no pointers). BTW those generic constraints are really robust.