Generate a positive definite matrix

Depends on exactly what you want. A trivial way is

A = randn(n,n); A = A'*A; A = (A + A')/2

If you want to control the eigenvalues, you can use something like

Q, _ = qr(randn(n, n)); D = Diagonal(eigvals); A = Q*D*Q'

where eigvals is a vector of eigenvalues.

5 Likes