#3397 closed Feature Requests (duplicate)
provide overloads for operator* for matrix/vector multiplies
| Reported by: | Gunter | Owned by: | David Bellot |
|---|---|---|---|
| Milestone: | To Be Determined | Component: | uBLAS |
| Version: | Boost 1.40.0 | Severity: | Not Applicable |
| Keywords: | Cc: |
Description
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.
Change History (6)
comment:1 by , 13 years ago
| Type: | Bugs → Feature Requests |
|---|
comment:2 by , 13 years ago
comment:3 by , 13 years ago
comment:4 by , 13 years ago
| Owner: | changed from to |
|---|---|
| Status: | new → assigned |
I will explore eigen solution to the problem of 3 matrices
comment:5 by , 12 years ago
| Resolution: | → duplicate |
|---|---|
| Status: | assigned → closed |
a new ticket 4442 with a simple implementation has been opened and a patch proposed.
comment:6 by , 9 years ago
When is this functionality expected to merged into a boost release please?

(In [56045]) see #3397
vector_expression.hpp: added enable_if to expression scalar * vector and vector * scalar
matrix_expression.hpp: added enable_if to expression scalar * matrix and matrix * scalar