[Numpy-discussion] How do I make a diagonal matrix? (original) (raw)

Travis Oliphant oliphant at ee.byu.edu
Fri Jun 23 15:19:36 EDT 2006


Alan G Isaac wrote:

Alan G Isaac wrote:

Hmm. One would think that diag() would accept a flatiter object, but it does not. Shouldn't it??

On Fri, 23 Jun 2006, Travis Oliphant apparently wrote: It doesn't? try: a = rand(3,4) diag(a.flat).shape OK, but then try: a=N.mat(a) N.diag(a.flat).shape (1,) Why is a.flat not the same as a.A.flat?

It is the same object except for the pointer to the underlying array.
When asarray(a.flat) get's called it looks to the underlying array to get the sub-class and constructs that sub-class (and matrices can never be 1-d). Thus, it's a "feature"

-Travis



More information about the NumPy-Discussion mailing list