kwant.rmt
– Random matrix theory Hamiltonians¶kwant.rmt.
gaussian
(n, sym='A', v=1.0, rng=None)[source]¶Make a n * n random Gaussian Hamiltonian.
Parameters: 


Returns: 

Notes
The representations of symmetry operators are chosen according to Phys. Rev. B 85, 165409.
Matrix indices are grouped first according to orbital number, then sigmaindex, then tauindex.
This implementation should be sufficiently efficient for large matrices, since it avoids any matrix multiplication.
kwant.rmt.
circular
(n, sym='A', charge=None, rng=None)[source]¶Make a n * n matrix belonging to a symmetric circular ensemble.
Parameters: 


Returns: 

Notes
The representations of symmetry operators are chosen according to Phys. Rev. B 85, 165409, except class D.
Matrix indices are grouped first according to channel number, then sigmaindex.
This function uses QR decomposition to probe symmetric compact groups, as detailed in arXiv:mathph/0609050. For a reason as yet unknown, scipy implementation of QR decomposition also works for symplectic matrices.