commons-issues mailing list archives

Site index · List index
Message view
Top
From "Phil Steitz (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (MATH-613) Equivalent of Blas DAXPY
Date Wed, 27 Jul 2011 19:08:09 GMT
```
[ https://issues.apache.org/jira/browse/MATH-613?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13071921#comment-13071921
]

Phil Steitz commented on MATH-613:
----------------------------------

Final patch looks good to me, other than missing @throws for the DimensionMismatchExceptions,
which we should add.  Thanks for the patch!

Out of curiosity, Sebastian, is it not possible for you to remove attachments that you added
yourself (i.e., the earlier versions of the patch?)  This is really a JIRA access control
question.

> Equivalent of Blas DAXPY
> ------------------------
>
>                 Key: MATH-613
>                 URL: https://issues.apache.org/jira/browse/MATH-613
>             Project: Commons Math
>          Issue Type: New Feature
>    Affects Versions: 3.0
>            Reporter: Sébastien Brisard
>            Priority: Minor
>              Labels: linear, vector
>         Attachments: MATH-613-20110727.patch, MATH-613-20110727.patch, MATH-613-20110727.patch
>
>
> In Blas, the method {{DAXPY}} computes an in-place linear combination of two vectors.
More precisely, a call to {{DAXPY(a, x, y)}} updates vector {{y}} with the value of {{a *
x + y}}. This can lead to very compact code, which I feel the need for in Commons-Math. However,
DAXPY also has its limitations. For example, it cannot perform the other combination {{y <-
x + a * y}}.
> I think it would be useful that {{RealVector}} had a method for computing {{a * this
+ b * y}}, and storing the result in {{this}}. In the spirit of the {{mapToSelf}} method,
I propose to create two new methods in {{Interface RealVector}}
> {noformat}RealVector map(BivariateRealFunction f, RealVector y){noformat}
> and
> {noformat}RealVector mapToSelf(BivariateRealFunction f, RealVector y){noformat}
> The former would return a new vector {{v}} such that
> {noformat}v[i] <- f(this[i], y[i])}}{noformat}
> and the latter would update {{this}},
> {noformat}this[i] <- f(this[i], y[i]){noformat}
> Emulating {{DAXPY}} would then simply be a matter of implementing the appropriate bivariate
function.
> While we are at it, how about
> {noformat}RealVector map(TrivariateRealFunction f, RealVector y, RealVector z){noformat}
> {noformat}RealVector mapToSelf(TrivariateRealFunction f, RealVector y, RealVector z){noformat}

--
This message is automatically generated by JIRA.