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

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

*To*: eigen@xxxxxxxxxxxxxxxxxxx
*Subject*: Re: [eigen] block of dense-block should again be block
*From*: Manoj Rajagopalan <rmanoj@xxxxxxxxx>
*Date*: Sun, 27 Jun 2010 12:28:24 -0400
*Organization*: EECS Dept., University of Michigan, Ann Arbor, MI, USA

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