[Homemade Quantum Computer NMRQCP] I tried creating an NMR signal using Python.

*Original Japanese version is available here.

 Hello! I'm a KOSEN (National Institute of Technology) student taking on the challenge of developing a quantum computer using a homemade Earth's Field NMR (EFNMR) system.

Last time, I talked about hardware, like fighting with smoke during "soldering," but this time, it's a complete shift to software. I will explain how to manipulate and observe the quantum world using a PC (Python), along with the simulation code and graphs I wrote!

A Message from the Quantum World: The "FID Signal" and the Looming Noise

To build a quantum computer, we need to capture the extremely weak radio waves (NMR signals) emitted by the "spins" of atomic nuclei. This signal is a smooth, periodic sine wave that weakens over time, and is called the "FID (Free Induction Decay) signal."

Expressed as a formula, it is s(t) = A sin(2πft) e-t/T2. By using Napier's constant (e) in addition to amplitude and frequency, we can express "how the trembling of the atomic nucleus smoothly comes to a stop." Here is the ideal waveform simulated using Python (NumPy and Matplotlib).

However, reality is not such a clean wave. In actual observations, plenty of cosmic noise and noise from electronic circuits get mixed in. When we actually add white noise with a mean of 0 and a standard deviation of 0.2, the original beautiful signal gets buried in the noise, resulting in a jagged waveform.

The Magic to Find the Truth in a Sea of Noise: "FFT"

So, how do we find the target frequency from this noisy wave? This is where "FFT (Fast Fourier Transform)" comes in.

FFT is a tool that converts the horizontal axis to frequency to visualize "which frequencies are included and how much," acting like a "prism" that separates light by color. Imagine a record player. If the rotation speed doesn't match the data, the waves scatter and cancel each other out, but if the speed matches perfectly, the peaks and valleys of the waves overlap, shifting the center of gravity. We use this to reveal specific waves.

By the way, it is called "fast" because while the computational complexity of a normal Fourier transform is N2, FFT can process it with an overwhelmingly smaller complexity of N log N.

The Mechanism of "Pulse Control" to Manipulate the Quantum

The Hz (frequency) obtained by analyzing the waveform with FFT means "the Hz of the radio waves that the qubit can receive."

This is where quantum computers get interesting. When you hit a qubit with radio waves of the exact same Hz found by FFT, "resonance" occurs, the atom absorbs energy, and the direction of its spin changes. By adjusting the time this radio wave (pulse) is applied, you can freely control the quantum state.

The same goes for checking the results. If the atom is vibrating and emitting radio waves, a peak appears in the FFT, determining the state as "1 (or superposition)"; if it does not emit radio waves, there is no peak, and it is determined as "0".

Just like in this simulation, in my EFNMRQC project, I am actually trying to emit radio waves (pulses) from a coil, analyze the returning signals with FFT, and observe the quantum state. When you turn theory into code and see the graphs move, the quantum world suddenly feels much closer, doesn't it!


If you are wondering things like "Will it really work?" or "How do you generate waveforms?", please bookmark this blog and follow me on X!

コメント

このブログの人気の投稿

【自作量子コンピュータ NMRQCP】いよいよ稼働かと思いきやデバッグ地獄