Details

    • Type: New Feature
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 3.0
    • Fix Version/s: 3.0
    • Labels:

      Description

      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

      RealVector map(BivariateRealFunction f, RealVector y)

      and

      RealVector mapToSelf(BivariateRealFunction f, RealVector y)

      The former would return a new vector v such that

      v[i] <- f(this[i], y[i])}}

      and the latter would update this,

      this[i] <- f(this[i], y[i])

      Emulating DAXPY would then simply be a matter of implementing the appropriate bivariate function.
      While we are at it, how about

      RealVector map(TrivariateRealFunction f, RealVector y, RealVector z)
      RealVector mapToSelf(TrivariateRealFunction f, RealVector y, RealVector z)

        Attachments

        1. MATH-613-20110727.patch
          24 kB
          Sébastien Brisard
        2. MATH-613-20110727.patch
          25 kB
          Sébastien Brisard
        3. MATH-613-20110727.patch
          26 kB
          Sébastien Brisard

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              celestin Sébastien Brisard
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: