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