Liking cljdoc? Tell your friends :D

org.soulspace.qclojure.application.algorithm.modular-arithmetic

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.
raw docstring

ancilla-assisted-mod-exp-circuitclj

(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:

  • 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

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
sourceraw docstring

binary-representationclj

(binary-representation num n)

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

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
sourceraw docstring

controlled-modular-addition-circuitclj

(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:

  • 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

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
sourceraw docstring

controlled-modular-exponentiation-circuitclj

(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:

  • 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

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
sourceraw docstring

controlled-modular-multiplication-circuitclj

(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:

  • 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

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
sourceraw docstring

modular-addition-circuitclj

(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:

  • 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

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
sourceraw docstring

optimized-modular-exponentiation-circuitclj

(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:

  • 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

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
sourceraw docstring

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close