[kepler-users] Recommended approach for new matrix operators

Thomas M. Parris parris at isciences.com
Fri Feb 12 05:50:36 PST 2010


Dear Keplerites,

We find ourselves in need of some new operators for matrices.  Examples
include:

	o relational "by element" operators (e.g., <, <=, ==, >=, >), and a
 
	o a "con" operator in which the output element is chosen from one of
two correspinding input elements using a third corresponding boolean input
element.

I see three possible implementation approaches:

	Option 1. user defined functions in the expression evaluator (using
the map function)
		I'm worried about performance.  Our matrices tend to be
large (720 x 360) and we have lots (1000s) of them.  Will this an issue?  It
looks like the map operator expects arrays instead of matrices so there will
be overhead for conversions back and forth in addition to any overhead for
the map operator itslef (including interpration of the function).

	Option 2. simple transformer actors
		This is by far the easiest option to implement and is likely
what we will do first to get us going.

	Option 3. extensions to the expression evaluator
		This option does not look to difficult and has the advantage
of improved readability in workflows with lots of computations.

I welcome advice/comment.  Are my performance worries for Option 1
overstated?  Would there be general interest in make additional matrix
operations available through the expression evaluator?

With regards,
Tom
p.s. Once we climb the svn/ant learning curve a bit more, we'll contribute
any new actors (or mods to the expression evaulator) to the code base.

----------------------------------------------------
Thomas M. Parris
Vice President
ISciences, LLC
61 Main Street, Suite 200
Burlington, VT 05401
Voice: +802-864-2999
Fax:   +617-344-2580
Email: parris at isciences.com

http://www.isciences.com/  http://www.terraviva.net/
---------------------------------------------------- 




More information about the Kepler-users mailing list