X-Git-Url: https://s3miclassical.com/gitweb/?p=strong_simulation_stabilizer_rank.git;a=blobdiff_plain;f=randominputcommutingHermitianPauli.c;fp=randominputcommutingHermitianPauli.c;h=348a9c1597a7f7c8295201518d305b7b0d866c87;hp=0000000000000000000000000000000000000000;hb=f36d60f8c85e0879a7d2b52e816638d2b4fdf86a;hpb=a85d4d567fc589503c5e263e1520295c8d433a45 diff --git a/randominputcommutingHermitianPauli.c b/randominputcommutingHermitianPauli.c new file mode 100644 index 0000000..348a9c1 --- /dev/null +++ b/randominputcommutingHermitianPauli.c @@ -0,0 +1,58 @@ +#include +#include +#include +#include + +// order of matrix elements is [row][column]!!! + +/*********************************************************/ +/* Generates random Hermitian Paulis that are commuting! */ +/*********************************************************/ +int main( int argc, char *argv[]) +{ + + if(argc != 3) { + printf("randominputPauli arguments: \"number of qubits\" \"number of T gates\"\n"); + exit(0); + } + + int N = atoi(argv[1]); // number of qubits + int T = atoi(argv[2]); // number of T gate magic states (set to the first 'K' of the 'N' qubits -- the rest are set to the '0' computational basis state) + + printf("%d\n", N); + printf("%d\n", T); + + int Pauli[N][N]; + srand((unsigned)time(NULL)); + + + int i, j, k; + + int sign = 1; + + for(i=0; i