commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From S├ębastien Brisard (JIRA) <>
Subject [jira] [Created] (MATH-613) Equivalent of Blas DAXPY
Date Mon, 11 Jul 2011 11:25:59 GMT
Equivalent of Blas DAXPY

                 Key: MATH-613
             Project: Commons Math
          Issue Type: New Feature
    Affects Versions: 3.0
            Reporter: S├ębastien Brisard
            Priority: Minor

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}
{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
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.
For more information on JIRA, see:


View raw message