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

Alan G Isaac aisaac at american.edu
Fri Jun 23 17:00:29 EDT 2006


Alan G Isaac wrote:

Why is a.flat not the same as a.A.flat?

On Fri, 23 Jun 2006, Travis Oliphant apparently wrote:

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"

I doubt I will prove the only one to stumble over this.

I can roughly understand why a.ravel() returns a matrix; but is there a good reason to forbid truly flattening the matrix?

My instincts are that a flatiter object should not have this hidden "feature": flatiter objects should produce a consistent behavior in all settings, regardless of the underlying array. Anything else will prove too surprising.

fwiw, Alan



More information about the NumPy-Discussion mailing list