Implementation of quantum modular arithmetic operations needed for Shor's algorithm.
This namespace provides functions to create quantum circuits that implement modular addition, multiplication, and exponentiation operations.
Implementation of quantum modular arithmetic operations needed for Shor's algorithm. This namespace provides functions to create quantum circuits that implement modular addition, multiplication, and exponentiation operations.
(ancilla-assisted-mod-exp-circuit n-control n-target n-ancilla a N)
Create a modular exponentiation circuit using ancilla qubits for improved efficiency.
This implementation uses additional qubits to reduce the circuit depth.
Parameters:
Returns: Quantum circuit implementing modular exponentiation with ancilla qubits
Create a modular exponentiation circuit using ancilla qubits for improved efficiency. This implementation uses additional qubits to reduce the circuit depth. Parameters: - n-control: Number of qubits in control register - n-target: Number of qubits in target register - n-ancilla: Number of ancilla qubits - a: The base for exponentiation - N: The modulus Returns: Quantum circuit implementing modular exponentiation with ancilla qubits
(binary-representation num n)
Convert number to binary representation with n bits.
Parameters:
Returns: Vector of 0s and 1s
Convert number to binary representation with n bits. Parameters: - num: Number to convert - n: Number of bits in representation Returns: Vector of 0s and 1s
(controlled-modular-addition-circuit x-qubits y-qubits a N)
Create a quantum circuit for controlled modular addition.
Implements |x⟩|y⟩ -> |x⟩|y + a*x mod N⟩ where a is a constant.
Parameters:
Returns: Quantum circuit implementing controlled modular addition
Create a quantum circuit for controlled modular addition. Implements |x⟩|y⟩ -> |x⟩|y + a*x mod N⟩ where a is a constant. Parameters: - x-qubits: List of qubit indices for the control register - y-qubits: List of qubit indices for the target register - a: The constant to add (when control is |1⟩) - N: The modulus Returns: Quantum circuit implementing controlled modular addition
(controlled-modular-exponentiation-circuit n-control n-target a N)
Create a quantum circuit for controlled modular exponentiation.
This is the core quantum operation needed for Shor's algorithm. It implements |x⟩|y⟩ -> |x⟩|y * a^x mod N⟩ for superposition states.
Parameters:
Returns: Quantum circuit implementing controlled modular exponentiation
Create a quantum circuit for controlled modular exponentiation. This is the core quantum operation needed for Shor's algorithm. It implements |x⟩|y⟩ -> |x⟩|y * a^x mod N⟩ for superposition states. Parameters: - n-control: Number of qubits in control register - n-target: Number of qubits in target register (should be ⌈log₂(N)⌉) - a: The base for exponentiation - N: The modulus Returns: Quantum circuit implementing controlled modular exponentiation
(controlled-modular-multiplication-circuit x-qubits y-qubits a N)
Create a quantum circuit for controlled modular multiplication.
Implements |x⟩|y⟩ -> |x⟩|y * a^x mod N⟩ where a is a constant. This uses repeated modular addition to implement multiplication.
Parameters:
Returns: Quantum circuit implementing controlled modular multiplication
Create a quantum circuit for controlled modular multiplication. Implements |x⟩|y⟩ -> |x⟩|y * a^x mod N⟩ where a is a constant. This uses repeated modular addition to implement multiplication. Parameters: - x-qubits: List of qubit indices for the control register - y-qubits: List of qubit indices for the target register - a: The constant base for exponentiation - N: The modulus Returns: Quantum circuit implementing controlled modular multiplication
(modular-addition-circuit x-qubits result-qubits a N)
Create a quantum circuit for modular addition.
Implements |x⟩|0⟩ -> |x⟩|x + a mod N⟩ where a is a constant.
Parameters:
Returns: Quantum circuit implementing modular addition
Create a quantum circuit for modular addition. Implements |x⟩|0⟩ -> |x⟩|x + a mod N⟩ where a is a constant. Parameters: - x-qubits: List of qubit indices for the input register - result-qubits: List of qubit indices for the result register - a: The constant to add - N: The modulus Returns: Quantum circuit implementing modular addition
(optimized-modular-exponentiation-circuit n-control n-target a N)
Create an optimized quantum circuit for modular exponentiation.
This is an optimized implementation that reduces the circuit depth and gate count by using improved decomposition techniques.
Parameters:
Returns: Optimized quantum circuit implementing modular exponentiation
Create an optimized quantum circuit for modular exponentiation. This is an optimized implementation that reduces the circuit depth and gate count by using improved decomposition techniques. Parameters: - n-control: Number of qubits in control register - n-target: Number of qubits in target register - a: The base for exponentiation - N: The modulus Returns: Optimized quantum circuit implementing modular exponentiation
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close