Re: [eigen] Eigen "views"

[ Thread Index | Date Index | More Archives ]

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.


On Mon, Aug 15, 2011 at 9:49 PM, Jim Bosch <talljimbo@xxxxxxxxx> wrote:
> On 08/15/2011 12:24 PM, Benoit Jacob wrote:
>> (Disclaimer: I've been away for a while so I might not be up to date.
>> If Gael contradicts me, listen to him)
>> This has been asked for many times, and I think there was consensus
>> that this would be a welcome addition. It also isn't hard to
>> implement. It's just that nobody has actually done the work yet :)
>> If you want to do it yourself, the right Eigen way to do it is to add
>> a new expression class, holding references to the original vector and
>> to the integer vector of indices. For a simple expression class to
>> start from as an example, look at the Minor class in Eigen2Support,
>> it's as easy as it gets. The core part of the implementation would be
>> the coeff() accessor methods in this class, and they would look like:
>>    CoeffReturnType MyViewExpression::coeff(Index i)
>>    {
>>       return m_originalVector.coeff(m_indicesVector.coeff(i));
>>    }
> I'd like to suggest that the "right way" might also include some
> interoperability with the PermutationMatrix class.  I could see that getting
> a lot more complicated, of course, when it comes to permuting the rows or
> columns of a matrix, but it's essentially just a different syntax for the
> same operation.
> Thanks!
> Jim Bosch

Mail converted by MHonArc 2.6.19+