X-Git-Url: https://s3miclassical.com/gitweb/?p=strong_simulation_gauss_sum_rank.git;a=blobdiff_plain;f=gausssums_multipleof6.c;fp=gausssums_multipleof6.c;h=b86aa4b8aafe9d6b3bd650a2dec1c597159b5cab;hp=0000000000000000000000000000000000000000;hb=41acfb8cfb426c10f7a16e8cb04337012b25e3fb;hpb=13d8b4a4c252c341d36d3d90f66ed28600777224 diff --git a/gausssums_multipleof6.c b/gausssums_multipleof6.c new file mode 100644 index 0000000..b86aa4b --- /dev/null +++ b/gausssums_multipleof6.c @@ -0,0 +1,176 @@ +#include +#include +#include +#include + +int readPaulicoeffs(int* alpha, int* beta, int* gamma, int* delta, int numqubits); +complex double Gausssum1d(int quadraticcoeff, int linearcoeff); +complex double Kroneck(int arg); + +// order of matrix elements is [row][column]!!! + +int main() +{ + + int i; + int x, y, xp, yp; + + int N; // number of qubits + scanf("%d", &N); + if(N%6!=0) { + printf("Error: N must be a multiple of 6!\n"); + return 1; + } + + int alpha[N], beta[N], gamma[N], delta[N]; + + double complex summand, sum; + + while(readPaulicoeffs(alpha, beta, gamma, delta, N)) { + + /* for(i=0; i