diff options
| author | hachem <im@hachem.wtf> | 2026-09-06 19:30:28 +0200 |
|---|---|---|
| committer | hachem <im@hachem.wtf> | 2026-09-06 19:30:28 +0200 |
| commit | 597c959053fe8861538513663d3ca04ff8f5356b (patch) | |
| tree | b0ac8f7fb5648237eb3be0a099dd76a757cb102b /include | |
| parent | b2a5d3d5a2faac05b1b722d96d11d9b191c7cffc (diff) | |
add: standard gate library
Diffstat (limited to 'include')
| -rw-r--r-- | include/core/gates.h | 35 |
1 files changed, 35 insertions, 0 deletions
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); |
