Randomize

for a wavefunction psi the method Randomize() will change all prefactors to random numbers. Real functions stay real, complex stay complex. Randomize does not add determinants to the basis.

Example

We can define the following function: $$|\psi\rangle = \left(\frac{1}{\sqrt{4}} a^{\dagger}_0 a^{\dagger}_1 + \frac{1}{\sqrt{4}} a^{\dagger}_0 a^{\dagger}_2 + (1+I)\frac{1}{\sqrt{4}} a^{\dagger}_1 a^{\dagger}_2 \right)|0\rangle.$$ Randomization will turn $\psi$ into $$|\psi\rangle = \left(\alpha a^{\dagger}_0 a^{\dagger}_1 + \beta a^{\dagger}_0 a^{\dagger}_2 + \gamma a^{\dagger}_1 a^{\dagger}_2 \right)|0\rangle.$$ with $\alpha$, $\beta$, and $\gamma$ random complex numbers.

Input

Example.Quanty
NF=3
NB=0
psi = NewWavefunction(NF, NB, {{"110",sqrt(1/4)},{"101",sqrt(1/4)},{"011",(1+I)*sqrt(1/4)}})
print(psi)
psi.Randomize()
print(psi)

Result

WaveFunction: Wave Function
QComplex         =          1 (Real==0 or Complex==1)
N                =          3 (Number of basis functions used to discribe psi)
NFermionic modes =          3 (Number of fermions in the one particle basis)
NBosonic modes   =          0 (Number of bosons in the one particle basis)

#      pre-factor             +I  pre-factor         Determinant
1   5.000000000000E-01         0.000000000000E+00       110
2   5.000000000000E-01         0.000000000000E+00       101
3   5.000000000000E-01         5.000000000000E-01       011

WaveFunction: Wave Function
QComplex         =          1 (Real==0 or Complex==1)
N                =          3 (Number of basis functions used to discribe psi)
NFermionic modes =          3 (Number of fermions in the one particle basis)
NBosonic modes   =          0 (Number of bosons in the one particle basis)

#      pre-factor             +I  pre-factor         Determinant
1   4.123403010817E-01        -6.670525008798E-02       110
2   5.285982509213E-02        -4.533726157538E-01       101
3  -7.307037171865E-01         2.885430185954E-01       011