Re: [eigen] Eigen "views" |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/eigen Archives
]
On 16.08.2011 08:41, Gael Guennebaud wrote:
there are some major differences though:
With PermutationMatrix you can do transposed products.
With such views you can repeat a row (or column) multiple times,
remove some, etc.
The conclusion is that though there is a non null intersection none of
them is a subset of the other one.
Maybe I'm missing something, but I would say this means that permutation
matrices _are_ a subset of views. I guess internally you store
permutation matrices exactly as you would store views, i.e. by a vector
of indexes, don't you?
I would even say that (in a limited way) transposed products with views
are also possible. Having a permutation matrix P, with corresponding
indexes p (P = I(:,p);) one can write in Matlab notation:
B = A*P, or B = A(:,p);
B = A*P', or B(:,p)= A;
B = P*A, or B(p,:)= A;
B = P'*A, or B = A(p,:);
assuming all dimensions agree, and I did not mix anything up.
That means at least the expressions A*P and P'*A are equivalent if P is
just a view.
The question would be what should happen with expressions such as
B(:,p) = ...;
if indexes in p are not unique. Matlab, as it seems, then uses the last
corresponding entry of p, i.e., it basically just overwrites the
row/column every time.
Christoph
--
----------------------------------------------
Dipl.-Inf. Christoph Hertzberg
Cartesium 0.051
Universität Bremen
Enrique-Schmidt-Straße 5
28359 Bremen
Tel: (+49) 421-218-64252
----------------------------------------------