DEV Community

Cover image for Day 7 of My Quantum Computing Journey: Completing Week 1 & First Steps into Quantum Programming
Keshab Kumar
Keshab Kumar

Posted on • Originally published at Medium

Day 7 of My Quantum Computing Journey: Completing Week 1 & First Steps into Quantum Programming

A Milestone Day: Theory Meets Practice

Day 7 of my QuCode quantum computing challenge marked a pivotal moment - the completion of our foundational week and our first dive into practical quantum programming. Today's dual focus on quantum mechanics fundamentals (Schrödinger equation, measurement, and the postulates of quantum mechanics) combined with hands-on Qiskit programming perfectly bridged the gap between theoretical understanding and practical implementation.

Led by Harsh Mehta from the QuCode team, today's expert session on "Basic Gates Implementation in Qiskit" transformed abstract mathematical concepts into executable quantum code, making the entire week's learning journey come alive.


Quantum Mechanics Fundamentals: The Physical Laws Governing Quantum Computing

The Schrödinger Equation: The Master Equation of Quantum Evolution

The time-dependent Schrödinger equation stands as one of the most fundamental equations in physics, governing how quantum systems evolve over time:

\[ i\hbar \frac{\partial|\psi\rangle}{\partial t} = \hat{H}|\psi\rangle \]

Where:

  • \( i \) is the imaginary unit
  • \( \hbar \) is the reduced Planck constant
  • \( |\psi\rangle \) is the quantum state vector
  • \( \hat{H} \) is the Hamiltonian operator (total energy)

Physical Significance: This equation tells us that quantum systems evolve unitarily - their evolution is completely reversible and preserves probability. Unlike classical systems that can lose information through irreversible processes, quantum evolution is fundamentally information-preserving.

Connection to Quantum Computing: Every quantum gate operation corresponds to a unitary evolution described by the Schrödinger equation. When we apply gates like Hadamard or CNOT in quantum circuits, we're implementing solutions to the Schrödinger equation for specific Hamiltonians.

Time Evolution Operator: The Mathematical Engine

The time evolution operator \( U(t) = e^{-i\hat{H}t/\hbar} \) provides the mechanism for quantum state evolution:

\[ |\psi(t)\rangle = U(t)|\psi(0)\rangle \]

Key Properties:

  • Unitarity: \( U†U = UU† = I \) (preserves normalization)
  • Composition: \( U(t_2)U(t_1) = U(t_2 + t_1) \) for time-independent Hamiltonians
  • Reversibility: \( U^{-1}(t) = U†(t) = U(-t) \)

This mathematical framework directly translates to quantum circuit operations, where each gate represents a specific unitary evolution.

Quantum Measurement: The Bridge to Classical Reality

Measurement Postulates provide the framework for extracting classical information from quantum systems:

Postulate 1 - Observable Representation: Physical quantities are represented by Hermitian operators with real eigenvalues.

Postulate 2 - Measurement Outcomes: When measuring observable \( \hat{A} \) on state \( |\psi\rangle \), possible outcomes are eigenvalues \( a_i \) with probabilities:
\[ P(a_i) = |\langle a_i|\psi\rangle|^2 \]

Postulate 3 - State Collapse: After measuring outcome \( a_i \), the system collapses to eigenstate \( |a_i\rangle \).

Postulate 4 - Time Evolution: Between measurements, systems evolve unitarily according to the Schrödinger equation.

Wave Function Collapse: The Quantum-Classical Transition

Wave function collapse represents one of quantum mechanics' most mysterious aspects. When a quantum system in superposition:

\[ |\psi\rangle = \alpha|0\rangle + \beta|1\rangle \]

is measured, it instantaneously "collapses" to either \( |0\rangle \) or \( |1\rangle \) with probabilities \( |\alpha|^2 \) and \( |\beta|^2 \) respectively.

Interpretational Challenges:

  • Copenhagen Interpretation: Collapse is fundamental and irreversible
  • Many-Worlds Interpretation: All outcomes occur in parallel universes
  • Decoherence Theory: Environmental interaction creates apparent collapse

Quantum Computing Implications: Measurement-induced collapse is how we extract computational results from quantum algorithms, but it also destroys quantum superposition and entanglement.


Expert Session: Hands-On Qiskit Programming with Harsh Mehta

Introduction to Quantum Computing with Qiskit

Harsh Mehta's expert session perfectly complemented our theoretical learning with practical programming experience. His presentation covered the essential concepts that bridge quantum physics to quantum programming.

Key Insights from the Session:


Quantum vs Classical Computing:

  • Classical computers: Store information in bits (0 or 1), process sequentially
  • Quantum computers: Store information in qubits (0, 1, or superposition), enable parallel processing
  • Exponential scaling: N qubits can represent 2^N states simultaneously

Why Quantum Computing Matters:

  • Nature simulation: Quantum systems naturally model quantum phenomena
  • Search and optimization: Quantum algorithms provide quadratic/exponential speedups
  • Machine learning: Process high-dimensional data with quantum advantage
  • Complementary technology: Quantum computers work with classical computers, not replace them

Qiskit Framework: The Python Path to Quantum Programming

Qiskit Architecture follows a layered approach:

1. Qiskit SDK: Core functionality for quantum circuits and operators
2. Qiskit Runtime: Cloud service for executing quantum workloads

3. Qiskit Ecosystem: Extensions and specialized packages

The Qiskit Pattern:

  1. Map: Convert problems to quantum circuits and operators
  2. Optimize: Transpile circuits for target hardware
  3. Execute: Run on quantum processors or simulators
  4. Post-process: Analyze results and extract insights

Quantum Gates: The Building Blocks of Quantum Algorithms

Single-Qubit Gates:

Pauli-X Gate (Quantum NOT):

  • Matrix: \( X = \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix} \)
  • Effect: \( X|0\rangle = |1\rangle \), \( X|1\rangle = |0\rangle \)
  • Qiskit: qc.x(qubit)

Pauli-Y Gate:

  • Matrix: \( Y = \begin{pmatrix} 0 & -i \\ i & 0 \end{pmatrix} \)
  • Effect: Combines bit flip with phase flip
  • Qiskit: qc.y(qubit)

Pauli-Z Gate (Phase flip):

  • Matrix: \( Z = \begin{pmatrix} 1 & 0 \\ 0 & -1 \end{pmatrix} \)
  • Effect: \( Z|0\rangle = |0\rangle \), \( Z|1\rangle = -|1\rangle \)
  • Qiskit: qc.z(qubit)

Hadamard Gate (Superposition creator):

  • Matrix: \( H = \frac{1}{\sqrt{2}}\begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix} \)
  • Effect: \( H|0\rangle = |+\rangle \), \( H|1\rangle = |-\rangle \)
  • Qiskit: qc.h(qubit)

Two-Qubit Gates:

CNOT Gate (Controlled-X):

  • Creates entanglement between qubits
  • Effect: Flips target qubit if control qubit is |1⟩
  • Qiskit: qc.cx(control, target)

Building Bell States: Practical Quantum Entanglement

The Bell states represent the simplest examples of quantum entanglement, and creating them in Qiskit demonstrates fundamental quantum programming concepts.

Bell State |Φ+⟩ = (|00⟩ + |11⟩)/√2:

from qiskit import QuantumCircuit

# Create 2-qubit circuit
qc = QuantumCircuit(2, 2)

# Step 1: Create superposition on qubit 0
qc.h(0)

# Step 2: Entangle qubits with CNOT
qc.cx(0, 1)

# Add measurements
qc.measure([0,1], [0,1])
Enter fullscreen mode Exit fullscreen mode

Circuit Analysis:

  1. Initial state: |00⟩
  2. After Hadamard: (|00⟩ + |10⟩)/√2
  3. After CNOT: (|00⟩ + |11⟩)/√2 = |Φ+⟩

This creates perfect correlation: measuring one qubit instantly determines the other's state.

Quantum Superposition and Bloch Sphere Visualization

Single-Qubit Superposition:
\[ |\psi\rangle = \alpha|0\rangle + \beta|1\rangle \]

Where \( |\alpha|^2 + |\beta|^2 = 1 \) ensures normalization.

Bloch Sphere Representation: Every single-qubit state can be visualized on the Bloch sphere:

  • North pole: |0⟩ state
  • South pole: |1⟩ state
  • Equator: Superposition states
  • Rotation: Quantum gate operations

Creating Equal Superposition:

qc = QuantumCircuit(1, 1)
qc.h(0)  # Creates |+⟩ = (|0⟩ + |1⟩)/√2
Enter fullscreen mode Exit fullscreen mode

Quantum Measurement and Probabilistic Outcomes

Measurement Statistics: Due to quantum uncertainty, we need multiple measurements to determine probabilities:

from qiskit import execute
from qiskit.providers.basic_provider import BasicProvider

# Execute circuit 1024 times
backend = BasicProvider().get_backend('basic_simulator')
job = execute(qc, backend, shots=1024)
result = job.result()
counts = result.get_counts()
Enter fullscreen mode Exit fullscreen mode

Expected Results for Bell state measurement:

  • |00⟩: ~50% probability
  • |11⟩: ~50% probability
  • |01⟩, |10⟩: ~0% probability (due to entanglement)

Quantum Circuit Optimization and Hardware Mapping

Transpilation: From Logical to Physical Circuits

Challenge: Quantum circuits must be translated for specific hardware constraints:

  • Limited gate sets: Hardware supports only certain native gates
  • Connectivity constraints: Not all qubits can directly interact
  • Noise considerations: Minimize circuit depth and gate count

Qiskit Transpilation:

from qiskit.transpiler import generate_preset_pass_manager

# Create pass manager for target backend
pm = generate_preset_pass_manager(target=backend.target, optimization_level=3)

# Transpile circuit
transpiled_qc = pm.run(qc)
Enter fullscreen mode Exit fullscreen mode

Optimization Levels:

  • Level 0: No optimization
  • Level 1: Basic optimization
  • Level 2: Moderate optimization
  • Level 3: Heavy optimization (maximum performance)

Hardware Considerations

Current Quantum Processors:

  • IBM Eagle: 127 qubits, ECR/RZ/SX/X native gates
  • IBM Heron: Enhanced connectivity and reduced noise
  • Superconducting technology: Requires dilution refrigeration (~0.01K)

Connectivity Topology: Quantum processors have limited qubit connectivity, requiring SWAP gates for distant qubit interactions.


Programming Quantum Algorithms: From Theory to Code

The Quantum Development Workflow

1. Problem Formulation: Express problem in quantum-amenable form
2. Algorithm Design: Choose appropriate quantum algorithm
3. Circuit Construction: Build quantum circuit using gates
4. Optimization: Transpile for target hardware
5. Execution: Run on quantum processor or simulator
6. Post-processing: Analyze measurement results

Practical Qiskit Examples

Creating Multi-Qubit Superposition:

def create_ghz_state(n_qubits):
    """Create n-qubit GHZ state: (|00...0⟩ + |11...1⟩)/√2"""
    qc = QuantumCircuit(n_qubits, n_qubits)

    # Apply Hadamard to first qubit
    qc.h(0)

    # Apply CNOT gates to create entanglement
    for i in range(n_qubits - 1):
        qc.cx(i, i + 1)

    return qc
Enter fullscreen mode Exit fullscreen mode

Quantum Interference Demonstration:

def interference_demo():
    """Demonstrate quantum interference using Hadamard gates"""
    qc = QuantumCircuit(1, 1)

    # Create superposition
    qc.h(0)

    # Apply another Hadamard (should return to |0⟩)
    qc.h(0)

    qc.measure(0, 0)
    return qc
Enter fullscreen mode Exit fullscreen mode

Connecting Theory to Practice: Personal Insights

The Mathematical Beauty Realized in Code

Today's experience of translating mathematical formalism into working quantum code was profoundly satisfying. Seeing the Schrödinger equation manifest as unitary gate operations, and watching superposition and entanglement emerge from simple Qiskit commands, made the entire week's mathematical foundations feel concrete and purposeful.

Key Realizations:

  1. Dirac notation becomes code: |ψ⟩ states translate directly to quantum circuits
  2. Unitary matrices become gates: Abstract linear algebra transforms into qc.h() and qc.cx() commands
  3. Tensor products become multi-qubit operations: Mathematical complexity becomes elegant programming
  4. Measurement theory becomes data analysis: Probability amplitudes become measurement statistics

The Power of Quantum Programming

Exponential State Spaces: With just a few lines of Qiskit code, we can create quantum systems with exponentially large state spaces:

  • 3 qubits: 8 states
  • 10 qubits: 1,024 states
  • 20 qubits: 1,048,576 states
  • 50 qubits: 1,125,899,906,842,624 states

Quantum Advantage Realization: Programming quantum algorithms makes their advantages tangible:

  • Grover's search: √N speedup for database search
  • Shor's algorithm: Exponential speedup for integer factorization
  • Quantum simulation: Natural modeling of quantum systems

Week 1 Foundation Complete

Today completed our comprehensive Week 1 foundation:

Mathematical Tools (Days 1-2, 5-6):

  • Complex numbers and linear algebra
  • Probability theory and statistics
  • Advanced tensor products and operators
  • Dirac notation and Hilbert spaces

Physical Understanding (Day 3):

  • Quantum superposition and wave-particle duality
  • Quantum interference and measurement

Classical Context (Day 4):

  • Boolean algebra and classical computing
  • Understanding what quantum computing transcends

Quantum Fundamentals (Day 7):

  • Schrödinger equation and time evolution
  • Measurement postulates and wave function collapse
  • Practical quantum programming with Qiskit

Looking Ahead: Week 2's Core Quantum Concepts

Upcoming Topics Preview

Day 8 - Qubits & Bloch Sphere: Visual representation of quantum states and transformations

Day 9 - Quantum Gates & Circuits: Comprehensive study of quantum logic gates and circuit design

Day 10 - Quantum Superposition & Interference: Deep dive into quantum parallelism and interference effects

Day 11 - Quantum Entanglement: Bell states, EPR paradox, and non-local correlations

Day 12 - Quantum Measurement & No-Cloning: Measurement theory and fundamental quantum limitations

With today's programming foundation, these upcoming topics will combine theoretical depth with hands-on coding experience, building toward practical quantum algorithm implementation.

Hands-On Assignment Progress

The hands-on submission deadline (September 22nd) for building circuits with X, H, Z, CNOT gates and Bell states now feels achievable. Today's Qiskit session provided the programming tools needed to complete these fundamental quantum circuit implementations.


Key Takeaways for Fellow Quantum Learners

Theoretical Insights

  1. The Schrödinger equation governs all quantum evolution - every quantum computation is a solution to this fundamental equation.

  2. Measurement bridges quantum and classical worlds - understanding collapse is crucial for quantum algorithm design.

  3. Unitarity ensures information preservation - quantum operations are reversible, unlike classical logic gates.

  4. Postulates provide the complete framework - quantum mechanics' mathematical structure directly enables quantum computing.

Practical Programming Insights

  1. Qiskit makes quantum programming accessible - complex quantum operations become simple Python commands.

  2. Circuit visualization aids understanding - seeing quantum circuits helps connect mathematical concepts to implementations.

  3. Simulation enables experimentation - quantum simulators allow testing without expensive hardware access.

  4. Transpilation is essential - real quantum hardware requires circuit optimization and mapping.

  5. Measurement statistics reveal quantum behavior - probabilistic outcomes demonstrate quantum mechanical predictions.

Learning Process Insights

  1. Theory and practice reinforce each other - mathematical understanding deepens through programming experience.

  2. Foundation building pays dividends - Week 1's comprehensive preparation makes advanced topics accessible.

  3. Expert guidance accelerates learning - Harsh Mehta's session transformed abstract concepts into practical skills.

  4. Community learning enhances understanding - discussing quantum concepts with fellow learners provides new perspectives.


Week 1 Completion: From Mathematics to Quantum Reality

Week 1 of the QuCode quantum computing challenge exceeded all expectations. We began with complex numbers and linear algebra, journeyed through probability theory and quantum physics, understood classical computing constraints, mastered advanced mathematical tools, and culminated with hands-on quantum programming.

The Learning Arc:

  • Days 1-2: Mathematical language and probabilistic framework
  • Days 3-4: Physical principles and classical computing context
  • Days 5-6: Advanced quantum mathematics and elegant notation
  • Day 7: Fundamental quantum laws and practical programming

The Transformation: We've evolved from students learning mathematical abstractions to quantum programmers implementing real quantum algorithms. The Schrödinger equation is no longer just an equation - it's the engine powering our quantum circuits.

Community and Mentorship: The combination of structured curriculum, expert sessions, and peer learning has created an optimal environment for mastering quantum computing fundamentals.

Tomorrow begins Week 2's journey into core quantum computing concepts, armed with solid mathematical foundations and practical programming skills. The quantum future we're building feels closer than ever.


Week 1 complete. Foundations solid. Quantum programming skills activated. Ready for the quantum algorithms and applications that define modern quantum computing.

#QuantumComputing #SchrodingerEquation #QuantumMechanics #Qiskit #QuantumProgramming #BellStates #QuantumGates #HarshMehta #QuCode #Week1Complete #QuantumFoundations #HandsOnQuantum #QuantumCircuits #IBMQuantum #QuantumAlgorithms #STEM

Top comments (0)