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

Keith Goodman kwgoodman at gmail.com
Fri Jun 23 09:55:47 CDT 2006

On 6/23/06, Sven Schreiber <svetosch at gmx.net> wrote:
> Keith Goodman schrieb:
> > How do I make a NxN diagonal matrix with a Nx1 column vector x along
> > the diagonal?
> >
> >>> help(n.diag)
> Help on function diag in module numpy.lib.twodim_base:
> diag(v, k=0)
>     returns the k-th diagonal if v is a array or returns a array
>     with v as the k-th diagonal if v is a vector.

I tried

>> x = rand(3,1)

>> diag(x)
array([ 0.87113114])

Isn't rand(3,1) a vector?

Off list I was given the example:

That works. But my x is a Nx1 matrix. I can't get it to work with matrices.

Joris: The Numpy Example List looks good. I hadn't come across that before.

More information about the Numpy-discussion mailing list