Re: [eigen] block of dense-block should again be block

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]


On Sunday 27 June 2010 10:27:36 am Benoit Jacob wrote:
>
> >   If the associativity (endomorphism on the space of data-types,
> > actually)
>
> This flew 10 km above my head... a tiny white dot in the clear blue
> sky. What is an endomorphism, with respect to what structure?
>

Sorry. An endomorphism is a linear map from one set to itself. Therefore, a 
composition of such maps is closed - we continue getting elements from the 
same set. I was using this as an analogy - when we consider (sub)sets of 
types, functions that operate on an element of a type and return another 
element of the same type can be composed an arbitrary number of times and 
this is would be my expectation from block(). In other words, I'd expect 
block() to map a Block<Matrix> to Block<Matrix> and not to an object whose 
data type like Block<Block<Matrix>>  lies outside the {Block<Matrix>} 
singleton set. So with templates operating in type-space, the return-type 
computation should be an endomorphism (forget the linearity part)?

I could have used "closure" instead but in functional programming this term 
refers to the bound instance of a function with specific values for its 
parameters and parts of Boost heavily use this terminology in code-comments 
or typenames so this could cause more confusion.

Boost code is littered with yummy "type-algebra" stuff :-)

Thanks,
Manoj



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/