May 27, 2012 at 5:29 AM
Edited May 27, 2012 at 5:48 AM

Iridium has quite a few of "in place" functions for matrices. Numerics has a couple or pairwise functions (PairwiseMultiply; PairwiseDivide) and that's about it, I think, based on what I read in the beta docs. But Numerics is supposed to superseed
Iridium. What am I missing? For example, how do you compute an "in place" Power(x) function for a matrix in Numerics? Thanks.



In Numerics, most arithmetic operations support an "in place" mode as well: simply by passing one of the matrix operands also as result matrix, in which case  if possible  the operation will operate directly in place in that matrix.
Note that "pointwise" and "in place" are completely different things: "in place" means that the result is computed directly in one of the matrix operands (i.e. without allocating a new result matrix), while "pointwise" means to operate field by field (on
matching indices) between two matrices of the same size, ignoring any matrix semantics.
Yes indeed, it seems we are missing a PointwisePower function so far, extending PointwiseMultiply to generic exponents.



cdrnet wrote:
In Numerics, most arithmetic operations support an "in place" mode as well: simply by passing one of the matrix operands also as result matrix, in which case  if possible  the operation will operate directly in place in that matrix.
Note that "pointwise" and "in place" are completely different things: "in place" means that the result is computed directly in one of the matrix operands (i.e. without allocating a new result matrix), while "pointwise" means to operate field by field (on
matching indices) between two matrices of the same size, ignoring any matrix semantics.
Yes indeed, it seems we are missing a PointwisePower function so far, extending PointwiseMultiply to generic exponents.
Another thing that I have used in Iridium and I can't find how to do in Numerics is "element by element" operation like ArrayDivide (./ in Matlab).
Is there another way to do such operations?
Thanks.



Yes, Array* has become Pointwise*, e.g. Matrix.PointwiseDivide.
Thanks,
Christoph

