Quantum Energy Teleportation (QET) is a recently developed protocol that facilitates energy transfer across the quantum vacuum using local operations and classical communication (LOCC) to transfer quantum information between entangled qubits to effectively “teleport” energy between them. This computational essay details a simulation of QET in the Wolfram Quantum Framework (WQF), allowing the protocol to be modeled using the Wolfram Language’s powerful tools for visualization and statistical analysis.

Introduction

Introducing Quantum Energy Teleportation

Quantum Computing has given rise to new methods in information technology that pushes the boundaries for communication beyond its classical limits. One of these developments is Quantum Energy Teleportation (QET), a protocol theorized by Masahiro Hotta in 2011 and implemented by Kazuki Ikeda in 2023. QET allows for energy transfer between remote locations using entangled quantum states and classical communication.
The QET protocol uses a pair of entangled qubits to facilitate instantaneous remote communication. First, the qubits are set to an entangled ground state–in our case, a Bell State, the simplest form of quantum entanglement. Until they are measured, they will retain a co-defined quantum state, regardless of their separation. Suppose, then, they are arbitrarily displaced and put in the hands of two communicators: Alice and Bob. If, for example, Alice wanted to send energy to Bob, she would measure her qubit, which would collapse the entangled state. Essentially, this would “disconnect” the qubits. Then, using classical communication, Alice would tell Bob the results of her measurement (a binary value), based on which Bob would apply an operation on his qubit to restore its quantum state. Theoretically, the speed of this operation would match the speed of light, but it is limited in practice by the speed of classical communication.
How does QET transfer energy, though? The answer is confusingly straightforward. Alice’s measurement operation inserts an energy into the system that, because the system is entangled, is shared between Alice and Bob’s qubits. When Bob measures his qubit, a part of this energy is outputted, essentially “teleporting” from Alice to Bob.

Hamiltonian Energy

The Hamiltonian is an operator that represents the total energy of a system. When it is applied to a quantum system, it produces a result that describes the evolution of the quantum state over time. Hamiltonian energy is the expected energy of a system in a particular state, and is outputted by the Hamiltonian operator. In QET, the parts of the Hamiltonian allow us to quantify the changes in energy for various parts of the system depending on measurement outcomes.
In Ikeda’s implementation, the total Hamiltonian energy
H
tot
is described as the following:
H
tot

H
0
+
H
1
+V,
H
n
h
Z
n
+
2
h
2
h
+
2
k
, (n0,1)
V
2k
X
0
X
1
+
2
2
k
2
h
+
2
k
.
​ where the constant terms in
H
n
are added such that
H
tot
for the ground state
|g〉
equals zero. If we want to measure the energy Bob receives, he must find the sum
H
1
+V
.

Simulating QET

In[]:=
Needs["Wolfram`QuantumFramework`"]

Parameters

User Parameters

Our simulation will take two parameters:
h
and
k
, which both tune the balance between local energy contributions and interaction energy.
h
controls the magnitude of the local field applied to each qubit, and
k
defines the coupling strength between the two qubits.
We will arbitrarily define
h
and
k
as the following:
In[]:=
h=1.5;​​k=1;

Derived Parameters

Derived from
h
and
k
are
α
and
ϕ
, which are direct parameters for Alice and Bob’s operations on their qubits, respectively.
ArcSin[] with opposite signs is used for computational accuracy. Mathematically, it is equivalent to using ArcCos[].
In[]:=
α=-ArcSin1√(2)1+h√(h^2+k^2);​​ϕ=0.5*ArcSin(h*k)√((h^2+2*k^2)^2+(h*k)^2);
For legibility, we will also create an initial state
|00〉
which our communicators will act on.
In[]:=
initialState=QuantumState["00"]
Out[]=
QuantumState
Pure state
Qudits: 2
Type: Vector
Dimension: 4


Ground State Operations

Next, we will define the ground state function. It compounds the Y-Rotation (
RY
) and Controlled X (
CNOT
) quantum gates, which will create an entangled Bell State out of
|00〉
, facilitating Alice and Bob’s subsequent operations.
groundCircuit[]
will be a one input function that takes in a value of
α
, which will determine the magnitude of the Y-Rotation.
In[]:=
groundCircuit[α_]:=​​QuantumCircuitOperator[{"RY"[2α],"CNOT"}]

Alice’s Operations

We can now begin simulating Alice’s operations. After instantiating the ground state, she will measure her qubit in the Pauli-X basis using a Hadamard (
H
) gate and a standard measurement in the Pauli-Z (
Z
) basis.
Alice will save the quantum state and measurement distribution after her operations.
In[]:=
ground=groundCircuit[α];​​alice=QuantumCircuitOperator[​​Join[​​ground["Operators"],​​{"H"}​​]​​]
Out[]=
QuantumCircuitOperator
​

The WQF’s QuantumMeasurementOperators are generally problematic–they add unnecessary information to quantum states (more on this later). To avoid such troubles here, we will define Alice’s measurement operator separately from her main circuit and append it to our outputted circuit diagram.
In[]:=
measureAlice=QuantumMeasurementOperator["Z",{1}]
Out[]=
QuantumMeasurementOperator
Measurement Type: POVM
Target: {1}
Dimension: 2→4
Order: {1}→{0,1}

In[]:=
postAlice=alice[initialState];​​distAlice=measureAlice[postAlice]["Distribution"];
For organizational purposes, we can define Alice’s operations in a function that will return a list containing her final state
postAlice
, distribution
distAlice
, and complete circuit diagram
In[]:=
aliceCircuit[h_,k_,α_,initialState_]:=​​Module[{ground,alice,measureAlice,postAlice,distAlice},​​​​ground=groundCircuit[α];​​alice=QuantumCircuitOperator[​​Join[ground["Operators"],{"H"}]​​];​​measureAlice=QuantumMeasurementOperator["Z",{1}];​​​​postAlice=alice[initialState];​​distAlice=measureAlice[postAlice]["Distribution"];​​​​Return[{postAlice,distAlice,QuantumCircuitOperator[Join[alice["Operators"],{measureAlice}]]["Diagram"]}]​​]

Bob’s Operations

We can use the same structure to simulate Bob’s actions, too. Unlike Alice, Bob has two quantities that he wants to measure: Potential energy
V
and Hamiltonian energy
H
1
. Both of his operations use a Hadamard (H) gate into a Controlled Y-Rotation (CRY) that is conditional on Alice’s qubit measurement, replicating a classical measurement in an LOCC system. Bob then either measures V in the Pauli-Z (Z) basis or measures
H
1
by first applying a Hadamard (H) gate before measuring the Z basis.
LIke Alice, Bob will save his quantum states and measurement distributions after his operations.
In[]:=
bobV=QuantumCircuitOperator[{​​"H",​​{"C","RY"[2ϕ]->0->1},​​"H",​​QuantumMeasurementOperator["Z"]​​}];​​​​bobH=QuantumCircuitOperator[{​​"H",​​{"C","RY"[2ϕ]->0->1},​​QuantumMeasurementOperator["Z"]​​}];
In[]:=
postBobV=bobV[postAlice]["State"];​​postBobH=bobH[postAlice]["State"];
In[]:=
distBobV=postBobV["Distribution"];​​distBobH=postBobH["Distribution"];
Again, we will save Bob’s operations to a function that returns
postBobV,postBobH,distBobH,distBobV,
and circuit diagrams. The Return[] function calls Select[] to “trim” the quantum states after Bob’s operations. A side effect of WQF’s measurement operators is that another qubit is appended to the state to represent classical information. This, however, (likely erroneously) inflates the dimension of the state vector and, for our purposes, unnecessarily complicates the output. To remedy this, we simply create a new QuantumState object using the nonzero values of the original state vector.
In[]:=
bobCircuit[h_,k_,ϕ_,distAlice_]:=Module[{bob,postBobV,postBobH,distBobV,distBobH},​​​​bobV=QuantumCircuitOperator[{​​"H",​​{"C","RY"[2ϕ]->0->1},​​"H",​​QuantumMeasurementOperator["Z"]​​}];​​​​bobH=QuantumCircuitOperator[{​​"H",​​{"C","RY"[2ϕ]->0->1},​​QuantumMeasurementOperator["Z"]​​}];​​​​postBobV=bobV[distAlice]["State"];​​postBobH=bobH[distAlice]["State"];​​​​distBobV=postBobV["Distribution"];​​distBobH=postBobH["Distribution"];​​​​Return[{​​{​​Select[postBobV["StateVector"][[1;;8]]//Chop,#!=0&]//QuantumState,​​distBobV,​​bobV["Diagram"]​​},​​​​{​​Select[postBobH["StateVector"][[1;;8]]//Chop,#!=0&]//QuantumState,​​distBobH,​​bobH["Diagram"]​​}​​}]​​]

Creating a Function

To complete our barebones simulation, we can compound Alice and Bob’s operations into a single function.

Modeling QET

Plotting the Bloch Sphere

Plotting Measurements

To calculate Bob’s outputted energies, we need the distributions of his quantum measurements.

Estimating Energy Outputs

Using the input parameters in addition to Bob’s probability distributions, we can compare his outputted energy to Alice’s estimated energy deposit.

Cleaning Data

V

Creating a Function

We can compound our various energy calculations into a single function that will be called by the simulation.

Finalizing the Function

Adding Calculations

We can finalize our simulation by adding our new models to the existing function.

Outputting a Graphic

We will finalize our output by creating a final graphic containing every visualization and calculation from the simulation.

Conclusion

We have reached a satisfying result: a function that simulates Quantum Energy Teleportation and displays Bloch Spheres, probability distributions, circuit diagrams, and energy statistics for each stage of the protocol. This marks the first full implementation of and visualization using the Wolfram Language and Quantum Framework. This project both verifies the results of Ikeda’s QET and creates an accessible platform for exploring QET further.’
​
Looking ahead, this framework opens the door to deeper investigations into QET under noisy conditions, integration with multi-qubit entangled systems, and applications in quantum thermodynamics or energy-efficient quantum communication. Ultimately, this work serves as a stepping stone toward making abstract quantum energy transfer mechanisms more tangible for both researchers and students, and encourages the broader use of symbolic languages like Wolfram for modeling next-generation quantum phenomena.

Future Directions

Going forward, I hope to continue researching QET. Integrating my existing Wolfram Langage work with OpenQASM via Qiskit will allow me to measure and model the effects of quantum noise, as observed in modern quantum computers, enabling me to analyze both the practicality and stability of QET on real hardware. Furthermore, I want to pursue a theoretical implementation of QET in large-scale, quantum-based networks as a novel form of encryption. In parallel, I would like to bolster the currently limited capabilities of the Wolfram Language in quantum computing by polishing the functions in this notebook and uploading them as ResourceFunctions to the Wolfram Function Repository.

Acknowledgements

I would first and foremost like to thank my mentor, Daniele Ceravolo, without whom none of this project would be possible. Together, we spent countless hours discussing both the intricacies of quantum computing, to which I previously had only an introductory understanding, and the Wolfram Quantum Framework, which we learned together. Even as my project advocate, Daniele put his trust in me to deliver a quantum computing project, and it paid off. I would additionally like to thank my dormmates for lifting myself and each other up in each of our times of need, and Megan Davis for hosting nature and wellness, which gave me solace in my times of stress. Another thanks goes out to all the WSRP program directors for cultivating an accepting, productive, diverse, and enjoyable environment. I will carry the memories I made at WSRP for years to come.

References

◼
  • Hotta, M. (2008). Quantum measurement information as a key to energy extraction from local vacuums. Physical Review D, 78(4). https://doi.org/10.1103/physrevd.78.045006
  • ◼
  • Ikeda, K. (n.d.). Demonstration of quantum energy teleportation on superconducting quantum hardware. ArXiv. https://arxiv.org/pdf/2301.02666
  • ◼
  • Ikeda, K. (2024, March 7). Quantum_Energy_Teleportation.ipynb [Python Notebook]. https://github.com/IKEDAKAZUKI/Quantum-Energy-Teleportation/blob/main/Quantum_Energy_Teleportation.ipynb
  • ◼
  • NIELSEN, M. A., & CHUANG, I. L. (2022). Quantum computation and quantum information Michael A. Nielsen & Isaac L. Chuang (10th ed.). Cambridge University Press.
  • ◼
  • Watrous, J. (2022, November 1). Basics of quantum information [Reading transcript]. IBM Quantum Platform. Retrieved July 10, 2025, from https://quantum.cloud.ibm.com/learning/en/courses/basics-of-quantum-information/
  • CITE THIS NOTEBOOK

    Exploring quantum energy teleportation in the Wolfram quantum framework​
    by Neil Ramarapu​
    Wolfram Community, STAFF PICKS, July 11, 2025
    ​https://community.wolfram.com/groups/-/m/t/3502771