[Numpy-discussion] How do I make a diagonal matrix? (original) (raw)
Travis Oliphant oliphant at ee.byu.edu
Fri Jun 23 17:01:09 EDT 2006
- Previous message (by thread): [Numpy-discussion] How do I make a diagonal matrix?
- Next message (by thread): [Numpy-discussion] How do I make a diagonal matrix?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Alan G Isaac wrote:
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? Because matrices are never 1-d. This is actually pretty consistent behavior.
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.
I think you are right that this is a bug, though. Because array() (which is where the behavior comes from) should return a base-class array (not a sub-class).
-Travis
- Previous message (by thread): [Numpy-discussion] How do I make a diagonal matrix?
- Next message (by thread): [Numpy-discussion] How do I make a diagonal matrix?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]