From: none Date: 2005-07-08T07:50:47+09:00 Subject: Re: Ruby as mathematical language I have an email to Ara to add me as an editor. I think you are right about getting something running. If we wrap a whole bunch of libraries, it might be slow, but a design is what we are after, and optimization can happen later. While I am thinking about it, here is a somewhat random brain dump of everything I would like to see: Symbolic --Solving symbolic algebra --Applying "normal" mathematics to data as blocks Data: --Data acquisition (netCDF, internet, SQL, native, etc) --Data storage --Session persistence --Concurrent access --Data communication --Views of data--I prefer as matrices with sparse extra info, but in R you can have data frames with all sorts of weird types in the rows ("ordered factors") --SQL --Data organization while working (hierarchies, stacks a la HP calculators, that R command where you say "I am working on dataframe x now", etc, setting up contexts in a session to make working easier) --Speed and space considerations --Views and handles--maybe pass through to persistent storage sometimes? Math --Numerical routines (linear algebra is often the base, but minimization, etc) --.... I show my lack of more than a B.A. in math here... --Pay attention to various branches, from statisticians to number theorists --Units! (I hate units!) Visualization --2-d plots, but with many plots on a page, many lines or whatever on a plot --3-d --Fancy stuff like VTK, or ??? --Slightly specialized applications (viewing directed graphs, etc) Other --Geographic stuff --Learning curve: starting should be easy, progressing should be linear --Integration with version control Output --Printable graphics--latex, pdfs, etc --Integrating text with graphics nicely --Integrating our text with other programs Playing nice with the rest of the world --Internet --Databases --Metadata, central who knows what --Instrument input Interaction modes/stuff --Interactive session --Batch --Server --Hooks Models (other languages) --Octave/Matlab --R/Splus --IDL --Connection based visualization languages (OpenDX) --Connection based processing (ArcView Model Builder) --Verilog --ML/Prolog pattern matching etc (useful?) --Erlang message passing (just brainstorming, remember...)