I have a row vector A, A = [a1 a2 a3 ..... an] and I would like to create a diagonal matrix, B = diag(a1, a2, a3, ....., an) with the elements of this row vector. How can this be done in Python?

**UPDATE**

This is the code to illustrate the problem:

import numpy as np

a = np.matrix([1,2,3,4])

d = np.diag(a)

print (d)

the output of this code is [1], but my desired output is:

[[1 0 0 0]

[0 2 0 0]

[0 0 3 0]

[0 0 0 4]]