[Numpy-discussion] fixing diag() for matrices
robert.kern at gmail.com
Tue Jul 25 11:55:00 CDT 2006
Sven Schreiber wrote:
> there was a thread about this before, diag() is currently only
> partly useful if you work with numpy-matrices, because the 1d->2d
> direction doesn't work, as there are no 1d-numpy-matrices. This is
> unfortunate because a numpy-matrix with shape (n,1) or (1,m) should be
> naturally treated as a vector, imho. So it would be nice if this could
> be fixed.
> It's probably not the most efficient solution, but what I want for
> numpy-matrix input x is to get:
> where diag is the current implementation. This means that if x is not a
> vector ("truly 2d"), then nothing is changed. But if one of the
> dimensions of x is ==1, then it's turned into a 1d-array, and diag works
> as it should.
> Does that sound reasonable?
Not for numpy.diag() in my opinion. However, I won't object to a
numpy.matlib.diag() that knows about matrix objects and behaves the way you want.
"I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth."
-- Umberto Eco
More information about the Numpy-discussion