Sven Schreiber wrote:
> Hi,
> 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:
> mat(diag(x.A.squeeze))
> 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 

Robert Kern

"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

Take Surveys. Earn Cash. Influence the Future of IT
Join's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
Numpy-discussion mailing list

Reply via email to