Hello,
I am trying to generate a random diagonal matrix, defined by a random vector over a field RR. The problem is that I need to round all the values to two decimal places, make entries evenly positive and negative (not necessary of equal amount) and, ideally, avoid zeroes.
I have a code [round(4*random()-2,2)for i in[1 .. 8]]
that produces a list of values that I need of size 8. However, I am struggling to combine it with a command diagonal_matrix
and insert it there.
Also, I don't really understand why do we need to multiply it by 4 in here [round(4*random()-2,2)for i in[1 .. 8]]
and why it produces negative values only, if I multiply it by 2 instead of 4. Could someone explain it please?
Is there any other simpler and more elegant way to solve this problem? Thank you.