Rather use one single matrix here. You can do A=A*A.transpose().
As for the scalling, just use CMath's random normal to set every element. This way you get better conditions numbers