This method returns a random symmetric positive semidefinite real matrix of a given size $n$. The rank $r$ can also be specified: by default, the matrix will be full rank (with probability 1). An upper bound $s$ on the spectral radius can also be specified: by default, the matrix will have spectral radius $<= 1$.
i1 : randomPSD 5
o1 = | .585298 -.0545901 .0184505 -.0599728 -.149145 |
| -.0545901 .761001 -.0118983 -.160458 -.02979 |
| .0184505 -.0118983 .56512 .0605255 -.0250409 |
| -.0599728 -.160458 .0605255 .609506 -.00367036 |
| -.149145 -.02979 -.0250409 -.00367036 .761799 |
5 5
o1 : Matrix RR <--- RR
53 53
|
i2 : A1 = randomPSD(5, 3)
o2 = | .0822059 .117626 -.109793 -.00518272 -.0292519 |
| .117626 .168797 -.149976 -.0126384 -.0536067 |
| -.109793 -.149976 .295902 -.204962 -.0805114 |
| -.00518272 -.0126384 -.204962 .460442 -.0253618 |
| -.0292519 -.0536067 -.0805114 -.0253618 .349651 |
5 5
o2 : Matrix RR <--- RR
53 53
|
i3 : A2 = randomPSD(5, 3.0)
o3 = | .466141 -.549293 .0814037 .326059 -.171432 |
| -.549293 2.32094 -.225548 -.826411 -.0874656 |
| .0814037 -.225548 .538414 .404872 .190896 |
| .326059 -.826411 .404872 .890458 .0658219 |
| -.171432 -.0874656 .190896 .0658219 .577543 |
5 5
o3 : Matrix RR <--- RR
53 53
|
i4 : (A1, A2)/eigenvectors -- note the difference!
o4 = (({.626892 }, | .162261 -.415623 .116326
{.350611 } | .218178 -.595049 .197553
{.379495 } | -.620177 .364839 .146256
{1.51739e-17+1.30211e-17*ii} | .733874 .580879 .109056
{1.51739e-17-1.30211e-17*ii} | .05366 -.051451 -.956116
------------------------------------------------------------------------
-.178725-.396284ii -.178725+.396284ii |), ({2.93272}, | .248943
-.49545+.279603ii -.49545-.279603ii | {.851128} | -.856474
-.585215 -.585215 | {.637309} | .163236
-.289702+.00376418ii -.289702-.00376418ii | {.178755} | .419929
-.246678+.00998711ii -.246678-.00998711ii | {.193582} | .0386539
------------------------------------------------------------------------
-.183226 .443654 .667494 -.511935 |))
.297886 .368634 .197344 .0536749 |
.62407 .206671 -.464468 -.57048 |
.422352 .467183 .138583 .638603 |
.556639 -.637422 .52969 -.0421905 |
o4 : Sequence
|
i5 : A3 = randomPSD(5, 3, 7.0)
o5 = | 1.20614 -.134804 -.0319069 -.60937 .0177087 |
| -.134804 .16531 -.000970882 .12522 -.0189459 |
| -.0319069 -.000970882 .0606769 -.175278 .226441 |
| -.60937 .12522 -.175278 .932231 -.734734 |
| .0177087 -.0189459 .226441 -.734734 .86079 |
5 5
o5 : Matrix RR <--- RR
53 53
|
i6 : eigenvectors(A3, Hermitian => true)
o6 = ({2.92622e-17}, | -.318815 .103276 .179599 -.74438 .548938 |)
{2.83051e-16} | .187759 -.0800419 .97172 .0750933 -.0919877 |
{.150772 } | -.504576 -.835891 .0245115 .185606 .107882 |
{1.08742 } | -.658315 .279092 .0981496 -.153387 -.674958 |
{1.98696 } | -.418483 .454226 .115199 .618289 .472227 |
o6 : Sequence
|