From 597c959053fe8861538513663d3ca04ff8f5356b Mon Sep 17 00:00:00 2001 From: hachem Date: Sun, 6 Sep 2026 19:30:28 +0200 Subject: add: standard gate library --- include/core/gates.h | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 include/core/gates.h (limited to 'include') diff --git a/include/core/gates.h b/include/core/gates.h new file mode 100644 index 0000000..9ce521f --- /dev/null +++ b/include/core/gates.h @@ -0,0 +1,35 @@ +#pragma once + +#include "core/quantum_components.h" +#include "maths/matrix.h" + +struct PsiMatrix psi_rx_matrix(double theta); +struct PsiMatrix psi_ry_matrix(double theta); +struct PsiMatrix psi_rz_matrix(double theta); +struct PsiMatrix psi_p_matrix(double theta); +struct PsiMatrix psi_u1_matrix(double lambda); +struct PsiMatrix psi_u2_matrix(double phi, double lambda); +struct PsiMatrix psi_u3_matrix(double theta, double phi, double lambda); +struct PsiMatrix psi_crx_matrix(double theta); +struct PsiMatrix psi_cry_matrix(double theta); +struct PsiMatrix psi_crz_matrix(double theta); +struct PsiMatrix psi_cp_matrix(double theta); + +struct PsiQuantumGate psi_hadamard_gate(void); +struct PsiQuantumGate psi_pauli_x_gate(void); +struct PsiQuantumGate psi_pauli_y_gate(void); +struct PsiQuantumGate psi_pauli_z_gate(void); +struct PsiQuantumGate psi_s_gate(void); +struct PsiQuantumGate psi_t_gate(void); +struct PsiQuantumGate psi_sdg_gate(void); +struct PsiQuantumGate psi_tdg_gate(void); +struct PsiQuantumGate psi_sx_gate(void); +struct PsiQuantumGate psi_sxdg_gate(void); +struct PsiQuantumGate psi_identity_gate(void); +struct PsiQuantumGate psi_cnot_gate(void); +struct PsiQuantumGate psi_cz_gate(void); +struct PsiQuantumGate psi_swap_gate(void); +struct PsiQuantumGate psi_iswap_gate(void); +struct PsiQuantumGate psi_sqrt_swap_gate(void); +struct PsiQuantumGate psi_toffoli_gate(void); +struct PsiQuantumGate psi_fredkin_gate(void); -- cgit v1.3