diff options
| author | hachem <im@hachem.wtf> | 2026-09-06 18:53:29 +0200 |
|---|---|---|
| committer | hachem <im@hachem.wtf> | 2026-09-06 18:53:29 +0200 |
| commit | ab08fa6065b5b08627b51203eb92ef65ed7b5ea2 (patch) | |
| tree | 09a22fbfcf95a7fd74edeb0dd3af9a6320f66b3a /src/maths/matrix.c | |
| parent | 565af48c1eff190ce836293a0eda75c0dc695c82 (diff) | |
c: quantum gate and state foundations
Diffstat (limited to 'src/maths/matrix.c')
| -rw-r--r-- | src/maths/matrix.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/maths/matrix.c b/src/maths/matrix.c index 400c2a7..44b953c 100644 --- a/src/maths/matrix.c +++ b/src/maths/matrix.c @@ -30,6 +30,15 @@ struct PsiMatrix psi_clone_matrix(struct PsiMatrix m) return psi_new_matrix_from(m.data, m.rows, m.cols); } +struct PsiMatrix psi_identity_matrix(size_t size) +{ + struct PsiMatrix m = psi_new_matrix(size, size); + for (size_t i = 0; i < size; i++) + m.data[i * size + i] = psi_new_complex(1.0, 0.0); + + return m; +} + void psi_free_matrix(struct PsiMatrix *m) { free(m->data); |
