X-Git-Url: https://s3miclassical.com/gitweb/?p=strong_simulation_stabilizer_rank.git;a=blobdiff_plain;f=matrix.h;fp=matrix.h;h=6d78d3bb154c08b0feb2db677e52b5b9ef65c5d7;hp=0000000000000000000000000000000000000000;hb=f36d60f8c85e0879a7d2b52e816638d2b4fdf86a;hpb=a85d4d567fc589503c5e263e1520295c8d433a45 diff --git a/matrix.h b/matrix.h new file mode 100644 index 0000000..6d78d3b --- /dev/null +++ b/matrix.h @@ -0,0 +1,18 @@ +void deallocate_mem(int ***arr, int rows); +void printMatrix(int** a, int rows, int cols); +void printVector(int* a, int length); +int** multMatrix(int **A, int **B, int ro1, int co1, int ro2, int co2); +void multMatrixMod(int **A, int **B, int **C, int ro1, int co1, int ro2, int co2, int mod); +int** outerMatrix(int **A, int **B, int ro1, int co1, int ro2, int co2); +void outerMatrixMod(int **A, int **B, int **C, int ro1, int co1, int ro2, int co2, int mod); +void outerVectorMod(int *A, int *B, int *C, int ro1, int ro2, int mod); +void transp(int **a, int **b, int rows, int cols); +int dotProductMod(int *a, int *b, int length, int mod); +int trace(int **a, int rows, int cols); +void scalarmultMatrix(int scalar, int **a, int **b, int rows, int cols); +int** addMatrix(int **A, int **B, int rows, int cols); +void addMatrixMod(int **A, int **B, int **C, int rows, int cols, int mod); +void appendBlockMatrix(int **A, int **B, int **C, int ro1, int co1, int ro2, int co2); +void addVectorMod(int *A, int *B, int *C, int length, int mod); +void addSubMatrix(int **A, int **B, int ro1, int co1, int rooff1, int cooff1, int rooff2, int cooff2); +void appendVector(int *A, int *B, int *C, int ro1, int ro2);