[Numpy-discussion] How do I make a diagonal matrix?

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.


More information about the NumPy-Discussion mailing list