On Fri, 28 Sep 2012, Sven Schreiber wrote:
Good morning,
I just noticed the new (?) function diagcat() with the following help text:
"Returns the direct sum of A and B, that is a block-diagonal matrix
holding A in its north-west corner and B in its south-east corner. "
Why would that be a _sum_?
Because that's its name :)
http://en.wikipedia.org/wiki/Matrix_addition#Direct_sum
Intuitively, you can think of this operator as a sum if you view matrices
as the space spanned by their columns. The direct sum of two matrices
results in a space which is equal to the two original spaces "put
together", so to speak.
Also, what happens if A and B are not square? (I know, I could just
try
that out, but too lazy, and that wouldn't necessarily answer what's
intended as a result.)
Nothing spectacular. You just have non-square zero blocks in the
north-east and south-west corners of the result.
And while I'm at it: I also noticed trimr() which trims rows.
Don't know
whether that's new, but why introduce a special function for this
operation, couldn't it always be easily done by indexing, as in
M[ttop+1:rows(M)-tbot] ?
It's been around for a while. Maybe you're right. We may want to suppress
a few redundant functions for 2.0.
--------------------------------------------------
Riccardo (Jack) Lucchetti
Dipartimento di Economia
Università Politecnica delle Marche
(formerly known as Università di Ancona)
r.lucchetti(a)univpm.it
http://www2.econ.univpm.it/servizi/hpp/lucchetti
--------------------------------------------------