[Boost-bugs] [Boost C++ Libraries] #3397: provide overloads for operator* for matrix/vector multiplies

Subject: [Boost-bugs] [Boost C++ Libraries] #3397: provide overloads for operator* for matrix/vector multiplies
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2009-09-03 21:41:48


#3397: provide overloads for operator* for matrix/vector multiplies
------------------------------+---------------------------------------------
 Reporter: guwi17 | Owner: guwi17
     Type: Bugs | Status: new
Milestone: To Be Determined | Component: uBLAS
  Version: Boost 1.40.0 | Severity: Not Applicable
 Keywords: |
------------------------------+---------------------------------------------
 Since many people a familiar with using operator* we should add the
 corresponding overloads to uBLAS. A good reference is the syntax used by
 MATLAB. The final syntax should be

 {{{
     matrix<double> A;
     vector<double> x;
     vector<double> y;

     cout << 2.0 * y << endl;
     cout << y * 2 << endl;
     cout << A * 2 << endl;
     cout << 2 * A << endl;
     cout << A * y << endl;
     cout << trans(y) * A << endl;
     cout << A * A << endl;

 }}}

 Similar to trans() we should provide herm() for complex matrices.

 the syntax for inner and outer products could be
 {{{
     vector<double> x,a,b;
     x = trans(a) * b; // inner prod
     x = a * trans(b); // outer prod
 }}}

 the syntax for products with higher precision should be
 {{{
   prec(A*b);
   prec(trans(a) * b);
 }}}

 a *= operator should also be provided
 {{{
 b *= A;
 A *= B;
 }}}
 which could be mapped to the correspondy axpy_prod() call.

 further tasks:

 * find a solution for the product of three matrices which is currently
 only possible by stating an explicit temporary matrix.

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/3397>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:01 UTC