Is there any way to generate a random real matrix with all complex eigenvalues in Matlab? -
how can randomly create real squared matrix , of eigenvalues complex number λ=a+bi in matlab?
i'll first take random n x 2 data matrix, a, n > 2. want columns of have similar variance , there correlation between columns. can achieve using choleski decomposition of 2x2 covariance matrix. we'll take sample covariance matrix of a, lets call b. if change b(1,2) = -b(1,2) b have complex eigen values high probability.
the reason covariance matrix of form [a,b;b,c] , fundamental equation matrix (a-lam)*(c-lam) - b^2. in order have complex eigen values need 4*a*c -4*b^2 > (a+c)^2. can written -4*b^2 > (a-c)^2. can't happen, unless change b(1,2) = -b(1,2) requirement becomes 4*b^2 > (a-c)^2. since , c variances of columns of a, if have similar variance (a-c)^2 close zero. , if columns of have decent correlation 4b^2 far 0 , positive. therefore complex eigen values.
this shouldn't hard extend general nxn matrices.
Comments
Post a Comment