| 665 | } |
| 666 | |
| 667 | QMatrix getRandomDiagonalUnitary(int numQb) { |
| 668 | DEMAND( numQb >= 1 ); |
| 669 | |
| 670 | QMatrix matr = getZeroMatrix(1 << numQb); |
| 671 | for (size_t i=0; i<matr.size(); i++) |
| 672 | matr[i][i] = expI(getRandomReal(0,4*M_PI)); |
| 673 | |
| 674 | return matr; |
| 675 | } |
| 676 | |
| 677 | QMatrix getRandomUnitary(int numQb) { |
| 678 | DEMAND( numQb >= 1 ); |
no test coverage detected