diff --git a/README.md b/README.md
index 718d266..e1093d9 100644
--- a/README.md
+++ b/README.md
@@ -33,7 +33,7 @@ English | [简体中文](README_CN.md)
-
+
@@ -116,13 +116,17 @@ cd paddle_quantum/QAOA/example
python main.py
```
-> For the introduction of QAOA, please refer to our [QAOA tutorial](https://github.com/PaddlePaddle/Quantum/tree/master/tutorial/combinatorial_optimization/QAOA_EN.ipynb).
+> For the introduction of QAOA, please refer to our [QAOA tutorial](./tutorials/combinatorial_optimization/QAOA_EN.ipynb).
+
+### Breaking Change
+
+In version 2.2.0 of Paddle Quantum, we have made an incompatible upgrade to the code architecture, and the new version's structure and usage can be found in our [tutorials](https://qml.baidu.com/tutorials/overview.html), [API documentation](https://qml.baidu.com/api/introduction.html), and [the source code](https://github.com/PaddlePaddle/Quantum). Also, we support connecting to a real quantum computer via [QuLeaf](https://github.com/baidu/QCompute), using `paddle_quantum.set_backend('quleaf')` to select QuLeaf as the backend.
## Introduction and developments
### Quick start
-[Paddle Quantum Quick Start Manual](https://github.com/PaddlePaddle/Quantum/tree/master/introduction) is probably the best place to get started with Paddle Quantum. Currently, we support online reading and running the Jupyter Notebook locally. The manual includes the following contents:
+[Paddle Quantum Quick Start Manual](./introduction) is probably the best place to get started with Paddle Quantum. Currently, we support online reading and running the Jupyter Notebook locally. The manual includes the following contents:
- Detailed installation tutorials for Paddle Quantum
- Introduction to quantum computing and quantum neural networks (QNNs)
@@ -131,61 +135,60 @@ python main.py
- PaddlePaddle optimizer tutorial
- Introduction to the quantum chemistry module in Paddle Quantum
- How to train QNN with GPU
-- Some frequently used functions in Paddle Quantum
### Tutorials
We provide tutorials covering quantum simulation, machine learning, combinatorial optimization, local operations and classical communication (LOCC), and other popular QML research topics. Each tutorial currently supports reading on our website and running Jupyter Notebooks locally. For interested developers, we recommend them to download Jupyter Notebooks and play around with it. Here is the tutorial list,
-- [Quantum Simulation](./tutorial/quantum_simulation)
- 1. [Building Molecular Hamiltonian](./tutorial/quantum_simulation/BuildingMolecule_EN.ipynb)
- 2. [Variational Quantum Eigensolver (VQE)](./tutorial/quantum_simulation/VQE_EN.ipynb)
- 3. [Subspace Search-Quantum Variational Quantum Eigensolver (SSVQE)](./tutorial/quantum_simulation/SSVQE_EN.ipynb)
- 4. [Variational Quantum State Diagonalization (VQSD)](./tutorial/quantum_simulation/VQSD_EN.ipynb)
- 5. [Gibbs State Preparation](./tutorial/quantum_simulation/GibbsState_EN.ipynb)
- 6. [The Classical Shadow of Unknown Quantum States](./tutorial/quantum_simulation/ClassicalShadow_Intro_EN.ipynb)
- 7. [Estimation of Quantum State Properties Based on the Classical Shadow](./tutorial/quantum_simulation/ClassicalShadow_Application_EN.ipynb)
- 8. [Hamiltonian Simulation with Product Formula](./tutorial/quantum_simulation/HamiltonianSimulation_EN.ipynb)
- 9. [Simulate the Spin Dynamics on a Heisenberg Chain](./tutorial/quantum_simulation/SimulateHeisenberg_EN.ipynb)
- 10. [Distributed Variational Quantum Eigensolver Based on Schmidt Decomposition](./tutorial/quantum_simulation/DistributedVQE_EN.ipynb)
-
-- [Machine Learning](./tutorial/machine_learning)
- 1. [Encoding Classical Data into Quantum States](./tutorial/machine_learning/DataEncoding_EN.ipynb)
- 2. [Quantum Classifier](./tutorial/machine_learning/QClassifier_EN.ipynb)
- 3. [Variational Shadow Quantum Learning (VSQL)](./tutorial/machine_learning/VSQL_EN.ipynb)
- 4. [Quantum Kernel Methods](./tutorial/machine_learning/QKernel_EN.ipynb)
- 5. [Quantum Autoencoder](./tutorial/machine_learning/QAutoencoder_EN.ipynb)
- 6. [Quantum GAN](./tutorial/machine_learning/QGAN_EN.ipynb)
- 7. [Variational Quantum Singular Value Decomposition (VQSVD)](./tutorial/machine_learning/VQSVD_EN.ipynb)
-
-- [Combinatorial Optimization](./tutorial/combinatorial_optimization)
- 1. [Quantum Approximation Optimization Algorithm (QAOA)](./tutorial/combinatorial_optimization/QAOA_EN.ipynb)
- 2. [Solving Max-Cut Problem with QAOA](./tutorial/combinatorial_optimization/MAXCUT_EN.ipynb)
- 3. [Large-scale QAOA via Divide-and-Conquer](./tutorial/combinatorial_optimization/DC-QAOA_EN.ipynb)
- 4. [Travelling Salesman Problem](./tutorial/combinatorial_optimization/TSP_EN.ipynb)
- 5. [Quantum Finance Application on Arbitrage Opportunity Optimization](./tutorial/combinatorial_optimization/ArbitrageOpportunityOptimation_EN.ipynb)
- 6. [Quantum Finance Application on Portfolio Optimization](./tutorial/combinatorial_optimization/PortfolioOptimization_EN.ipynb)
- 7. [Quantum Finance Application on Portfolio Diversification](./tutorial/combinatorial_optimization/PortfolioDiversification_EN.ipynb)
-
-- [LOCC with QNN (LOCCNet)](./tutorial/locc)
- 1. [Local Operations and Classical Communication in QNN (LOCCNet)](./tutorial/locc/LOCCNET_Tutorial_EN.ipynb)
- 2. [Entanglement Distillation -- the BBPSSW protocol](./tutorial/locc/EntanglementDistillation_BBPSSW_EN.ipynb)
- 3. [Entanglement Distillation -- the DEJMPS protocol](./tutorial/locc/EntanglementDistillation_DEJMPS_EN.ipynb)
- 4. [Entanglement Distillation -- Protocol design with LOCCNet](./tutorial/locc/EntanglementDistillation_LOCCNET_EN.ipynb)
- 5. [Quantum Teleportation](./tutorial/locc/QuantumTeleportation_EN.ipynb)
- 6. [Quantum State Discrimination](./tutorial/locc/StateDiscrimination_EN.ipynb)
-
-- [QNN Research](./tutorial/qnn_research)
- 1. [The Barren Plateaus Phenomenon on Quantum Neural Networks (Barren Plateaus)](./tutorial/qnn_research/BarrenPlateaus_EN.ipynb)
- 2. [Noise Model and Quantum Channel](./tutorial/qnn_research/Noise_EN.ipynb)
- 3. [Calculating Gradient Using Quantum Circuit](./tutorial/qnn_research/Gradient_EN.ipynb)
- 4. [Expressibility of Quantum Neural Network](./tutorial/qnn_research/Expressibility_EN.ipynb)
- 5. [Variational Quantum Circuit Compiling](./tutorial/qnn_research/VQCC_EN.ipynb)
- 6. [Quantum Fisher Information](./tutorial/qnn_research/Fisher_EN.ipynb)
-
-With the latest LOCCNet module, Paddle Quantum can efficiently simulate distributed quantum information processing tasks. Interested readers can start with this [tutorial on LOCCNet](./tutorial/locc/LOCCNET_Tutorial_EN.ipynb). In addition, Paddle Quantum supports QNN training on GPU. For users who want to get into more details, please check out the tutorial [Use Paddle Quantum on GPU](./introduction/PaddleQuantum_GPU_EN.ipynb). Moreover, Paddle Quantum could design robust quantum algorithms under noise. For more information, please see [Noise tutorial](./tutorial/qnn_research/Noise_EN.ipynb).
-
-In a recent update, the measurement-based quantum computation (MBQC) module has been added to Paddle Quantum. Unlike the conventional quantum circuit model, MBQC has its unique way of computing. Interested readers are welcomed to read our [tutorials](./tutorial/mbqc) on how to use the MBQC module and its use cases.
+- [Quantum Simulation](./tutorials/quantum_simulation)
+ 1. [Building Molecular Hamiltonian](./tutorials/quantum_simulation/BuildingMolecule_EN.ipynb)
+ 2. [Variational Quantum Eigensolver (VQE)](./tutorials/quantum_simulation/VQE_EN.ipynb)
+ 3. [Subspace Search-Quantum Variational Quantum Eigensolver (SSVQE)](./tutorials/quantum_simulation/SSVQE_EN.ipynb)
+ 4. [Variational Quantum State Diagonalization (VQSD)](./tutorials/quantum_simulation/VQSD_EN.ipynb)
+ 5. [Gibbs State Preparation](./tutorials/quantum_simulation/GibbsState_EN.ipynb)
+ 6. [The Classical Shadow of Unknown Quantum States](./tutorials/quantum_simulation/ClassicalShadow_Intro_EN.ipynb)
+ 7. [Estimation of Quantum State Properties Based on the Classical Shadow](./tutorials/quantum_simulation/ClassicalShadow_Application_EN.ipynb)
+ 8. [Hamiltonian Simulation with Product Formula](./tutorials/quantum_simulation/HamiltonianSimulation_EN.ipynb)
+ 9. [Simulate the Spin Dynamics on a Heisenberg Chain](./tutorials/quantum_simulation/SimulateHeisenberg_EN.ipynb)
+ 10. [Distributed Variational Quantum Eigensolver Based on Schmidt Decomposition](./tutorials/quantum_simulation/DistributedVQE_EN.ipynb)
+
+- [Machine Learning](./tutorials/machine_learning)
+ 1. [Encoding Classical Data into Quantum States](./tutorials/machine_learning/DataEncoding_EN.ipynb)
+ 2. [Quantum Classifier](./tutorials/machine_learning/QClassifier_EN.ipynb)
+ 3. [Variational Shadow Quantum Learning (VSQL)](./tutorials/machine_learning/VSQL_EN.ipynb)
+ 4. [Quantum Kernel Methods](./tutorials/machine_learning/QKernel_EN.ipynb)
+ 5. [Quantum Autoencoder](./tutorials/machine_learning/QAutoencoder_EN.ipynb)
+ 6. [Quantum GAN](./tutorials/machine_learning/QGAN_EN.ipynb)
+ 7. [Variational Quantum Singular Value Decomposition (VQSVD)](./tutorials/machine_learning/VQSVD_EN.ipynb)
+
+- [Combinatorial Optimization](./tutorials/combinatorial_optimization)
+ 1. [Quantum Approximation Optimization Algorithm (QAOA)](./tutorials/combinatorial_optimization/QAOA_EN.ipynb)
+ 2. [Solving Max-Cut Problem with QAOA](./tutorials/combinatorial_optimization/MAXCUT_EN.ipynb)
+ 3. [Large-scale QAOA via Divide-and-Conquer](./tutorials/combinatorial_optimization/DC-QAOA_EN.ipynb)
+ 4. [Travelling Salesman Problem](./tutorials/combinatorial_optimization/TSP_EN.ipynb)
+ 5. [Quantum Finance Application on Arbitrage Opportunity Optimization](./tutorials/combinatorial_optimization/ArbitrageOpportunityOptimation_EN.ipynb)
+ 6. [Quantum Finance Application on Portfolio Optimization](./tutorials/combinatorial_optimization/PortfolioOptimization_EN.ipynb)
+ 7. [Quantum Finance Application on Portfolio Diversification](./tutorials/combinatorial_optimization/PortfolioDiversification_EN.ipynb)
+
+- [LOCC with QNN (LOCCNet)](./tutorials/locc)
+ 1. [Local Operations and Classical Communication in QNN (LOCCNet)](./tutorials/locc/LOCCNET_Tutorial_EN.ipynb)
+ 2. [Entanglement Distillation -- the BBPSSW protocol](./tutorials/locc/EntanglementDistillation_BBPSSW_EN.ipynb)
+ 3. [Entanglement Distillation -- the DEJMPS protocol](./tutorials/locc/EntanglementDistillation_DEJMPS_EN.ipynb)
+ 4. [Entanglement Distillation -- Protocol design with LOCCNet](./tutorials/locc/EntanglementDistillation_LOCCNET_EN.ipynb)
+ 5. [Quantum Teleportation](./tutorials/locc/QuantumTeleportation_EN.ipynb)
+ 6. [Quantum State Discrimination](./tutorials/locc/StateDiscrimination_EN.ipynb)
+
+- [QNN Research](./tutorials/qnn_research)
+ 1. [The Barren Plateaus Phenomenon on Quantum Neural Networks (Barren Plateaus)](./tutorials/qnn_research/BarrenPlateaus_EN.ipynb)
+ 2. [Noise Model and Quantum Channel](./tutorials/qnn_research/Noise_EN.ipynb)
+ 3. [Expressibility of Quantum Neural Network](./tutorials/qnn_research/Expressibility_EN.ipynb)
+ 4. [Variational Quantum Circuit Compiling](./tutorials/qnn_research/VQCC_EN.ipynb)
+ 5. [Quantum Fisher Information](./tutorials/qnn_research/Fisher_EN.ipynb)
+ 6. [VAns-Variable Ansatz](./tutorials/qnn_research/VAns_EN.ipynb)
+
+With the latest LOCCNet module, Paddle Quantum can efficiently simulate distributed quantum information processing tasks. Interested readers can start with this [tutorial on LOCCNet](./tutorials/locc/LOCCNET_Tutorial_EN.ipynb). In addition, Paddle Quantum supports QNN training on GPU. For users who want to get into more details, please check out the tutorial [Use Paddle Quantum on GPU](./introduction/PaddleQuantum_GPU_EN.ipynb). Moreover, Paddle Quantum could design robust quantum algorithms under noise. For more information, please see [Noise tutorial](./tutorials/qnn_research/Noise_EN.ipynb).
+
+In a recent update, the measurement-based quantum computation (MBQC) module has been added to Paddle Quantum. Unlike the conventional quantum circuit model, MBQC has its unique way of computing. Interested readers are welcomed to read our [tutorials](./tutorials/mbqc) on how to use the MBQC module and its use cases.
### API documentation
diff --git a/README_CN.md b/README_CN.md
index 97338ff..d0f18ca 100644
--- a/README_CN.md
+++ b/README_CN.md
@@ -34,7 +34,7 @@
-
+
@@ -118,7 +118,12 @@ cd paddle_quantum/QAOA/example
python main.py
```
-> 关于 QAOA 的介绍可以参考我们的 [QAOA 教程](./tutorial/combinatorial_optimization/QAOA_CN.ipynb)。
+> 关于 QAOA 的介绍可以参考我们的 [QAOA 教程](./tutorials/combinatorial_optimization/QAOA_CN.ipynb)。
+
+
+### 重大更新
+
+在量桨 2.2.0 版本中,我们对代码架构进行了不兼容升级,新版的结构和用法可以参考我们的[教程](https://qml.baidu.com/tutorials/overview.html)、[API 文档](https://qml.baidu.com/api/introduction.html)和[源代码](https://github.com/PaddlePaddle/Quantum)。同时,我们也支持通过[量易伏](https://github.com/baidu/QCompute)连接到真实量子计算机上,使用`paddle_quantum.set_backend('quleaf')`即可选择量易伏作为后端。
## 入门与开发
@@ -137,7 +142,6 @@ python main.py
- 飞桨(PaddlePaddle)优化器的使用教程
- 量桨中量子化学模块的使用介绍
- 如何基于 GPU 训练量子神经网络
-- 量桨中初学者常用的函数
### 案例入门
@@ -145,55 +149,55 @@ Paddle Quantum(量桨)建立起了人工智能与量子计算的桥梁,为
在这里,我们提供了涵盖量子模拟、机器学习、组合优化、本地操作与经典通讯(local operations and classical communication, LOCC)、量子神经网络等多个领域的案例供大家学习。每个教程目前支持网页阅览和运行 Jupyter Notebook 两种方式。我们推荐用户下载 Notebook 后,本地运行进行实践。
-- [量子模拟](./tutorial/quantum_simulation)
- 1. [哈密顿量的构造](./tutorial/quantum_simulation/BuildingMolecule_CN.ipynb)
- 2. [变分量子特征求解器(VQE)](./tutorial/quantum_simulation/VQE_CN.ipynb)
- 3. [子空间搜索 - 量子变分特征求解器(SSVQE)](./tutorial/quantum_simulation/SSVQE_CN.ipynb)
- 4. [变分量子态对角化算法(VQSD)](./tutorial/quantum_simulation/VQSD_CN.ipynb)
- 5. [吉布斯态的制备(Gibbs State Preparation)](./tutorial/quantum_simulation/GibbsState_CN.ipynb)
- 6. [未知量子态的经典影子](./tutorial/quantum_simulation/ClassicalShadow_Intro_CN.ipynb)
- 7. [基于经典影子的量子态性质估计](./tutorial/quantum_simulation/ClassicalShadow_Application_CN.ipynb)
- 8. [利用 Product Formula 模拟时间演化](./tutorial/quantum_simulation/HamiltonianSimulation_CN.ipynb)
- 9. [模拟一维海森堡链的自旋动力学](./tutorial/quantum_simulation/SimulateHeisenberg_CN.ipynb)
- 10. [基于施密特分解的分布式变分量子本征求解器](./tutorial/quantum_simulation/DistributedVQE_CN.ipynb)
-
-- [机器学习](./tutorial/machine_learning)
- 1. [量子态编码经典数据](./tutorial/machine_learning/DataEncoding_CN.ipynb)
- 2. [量子分类器(Quantum Classifier)](./tutorial/machine_learning/QClassifier_CN.ipynb)
- 3. [变分影子量子学习(VSQL)](./tutorial/machine_learning/VSQL_CN.ipynb)
- 4. [量子核方法(Quantum Kernel)](./tutorial/machine_learning/QKernel_CN.ipynb)
- 5. [量子变分自编码器(Quantum Autoencoder)](./tutorial/machine_learning/QAutoencoder_CN.ipynb)
- 6. [量子生成对抗网络(Quantum GAN)](./tutorial/machine_learning/QGAN_CN.ipynb)
- 7. [变分量子奇异值分解(VQSVD)](./tutorial/machine_learning/VQSVD_CN.ipynb)
-
-- [组合优化](./tutorial/combinatorial_optimization)
- 1. [量子近似优化算法(QAOA)](./tutorial/combinatorial_optimization/QAOA_CN.ipynb)
- 2. [QAOA 求解最大割问题](./tutorial/combinatorial_optimization/MAXCUT_CN.ipynb)
- 3. [大规模量子近似优化分治算法(DC-QAOA)](./tutorial/combinatorial_optimization/DC-QAOA_CN.ipynb)
- 4. [旅行商问题](./tutorial/combinatorial_optimization/TSP_CN.ipynb)
- 5. [量子金融应用:最佳套利机会](./tutorial/combinatorial_optimization/ArbitrageOpportunityOptimation_CN.ipynb)
- 6. [量子金融应用:投资组合优化](./tutorial/combinatorial_optimization/PortfolioOptimization_CN.ipynb)
- 7. [量子金融应用:投资组合分散化](./tutorial/combinatorial_optimization/PortfolioDiversification_CN.ipynb)
-
-- [LOCC 量子神经网络(LOCCNet)](./tutorial/locc)
- 1. [LOCC 量子神经网络](./tutorial/locc/LOCCNET_Tutorial_CN.ipynb)
- 2. [纠缠蒸馏 -- BBPSSW 协议](./tutorial/locc/EntanglementDistillation_BBPSSW_CN.ipynb)
- 3. [纠缠蒸馏 -- DEJMPS 协议](./tutorial/locc/EntanglementDistillation_DEJMPS_CN.ipynb)
- 4. [纠缠蒸馏 -- LOCCNet 设计协议](./tutorial/locc/EntanglementDistillation_LOCCNET_CN.ipynb)
- 5. [量子隐态传输](./tutorial/locc/QuantumTeleportation_CN.ipynb)
- 6. [量子态分辨](./tutorial/locc/StateDiscrimination_CN.ipynb)
-
-- [量子神经网络研究](./tutorial/qnn_research)
- 1. [量子神经网络的贫瘠高原效应(Barren Plateaus)](./tutorial/qnn_research/BarrenPlateaus_CN.ipynb)
- 2. [噪声模型与量子信道](./tutorial/qnn_research/Noise_CN.ipynb)
- 3. [使用量子电路计算梯度](./tutorial/qnn_research/Gradient_CN.ipynb)
- 4. [量子神经网络的表达能力](./tutorial/qnn_research/Expressibility_CN.ipynb)
- 5. [变分量子电路编译](./tutorial/qnn_research/VQCC_CN.ipynb)
- 6. [量子费舍信息](./tutorial/qnn_research/Fisher_CN.ipynb)
-
-随着 LOCCNet 模组的推出,量桨现已支持分布式量子信息处理任务的高效模拟和开发。感兴趣的读者请参见[教程](./tutorial/locc/LOCCNET_Tutorial_CN.ipynb)。Paddle Quantum 也支持在 GPU 上进行量子机器学习的训练,具体的方法请参考案例:[在 GPU 上使用 Paddle Quantum](./introduction/PaddleQuantum_GPU_CN.ipynb)。此外,量桨可以基于噪声模块进行含噪算法的开发以及研究,详情请见[噪声模块教程](./tutorial/qnn_research/Noise_CN.ipynb)。
-
-在最近的更新中,量桨还加入了基于测量的量子计算(measurement-based quantum computation, MBQC)模块。与传统的量子电路模型不同,MBQC 具有其独特的运行方式,感兴趣的读者请参见我们提供的[多篇教程](./tutorial/mbqc)以了解量桨 MBQC 模块的使用方法和应用案例。
+- [量子模拟](./tutorials/quantum_simulation)
+ 1. [哈密顿量的构造](./tutorials/quantum_simulation/BuildingMolecule_CN.ipynb)
+ 2. [变分量子特征求解器(VQE)](./tutorials/quantum_simulation/VQE_CN.ipynb)
+ 3. [子空间搜索 - 量子变分特征求解器(SSVQE)](./tutorials/quantum_simulation/SSVQE_CN.ipynb)
+ 4. [变分量子态对角化算法(VQSD)](./tutorials/quantum_simulation/VQSD_CN.ipynb)
+ 5. [吉布斯态的制备(Gibbs State Preparation)](./tutorials/quantum_simulation/GibbsState_CN.ipynb)
+ 6. [未知量子态的经典影子](./tutorials/quantum_simulation/ClassicalShadow_Intro_CN.ipynb)
+ 7. [基于经典影子的量子态性质估计](./tutorials/quantum_simulation/ClassicalShadow_Application_CN.ipynb)
+ 8. [利用 Product Formula 模拟时间演化](./tutorials/quantum_simulation/HamiltonianSimulation_CN.ipynb)
+ 9. [模拟一维海森堡链的自旋动力学](./tutorials/quantum_simulation/SimulateHeisenberg_CN.ipynb)
+ 10. [基于施密特分解的分布式变分量子本征求解器](./tutorials/quantum_simulation/DistributedVQE_CN.ipynb)
+
+- [机器学习](./tutorials/machine_learning)
+ 1. [量子态编码经典数据](./tutorials/machine_learning/DataEncoding_CN.ipynb)
+ 2. [量子分类器(Quantum Classifier)](./tutorials/machine_learning/QClassifier_CN.ipynb)
+ 3. [变分影子量子学习(VSQL)](./tutorials/machine_learning/VSQL_CN.ipynb)
+ 4. [量子核方法(Quantum Kernel)](./tutorials/machine_learning/QKernel_CN.ipynb)
+ 5. [量子变分自编码器(Quantum Autoencoder)](./tutorials/machine_learning/QAutoencoder_CN.ipynb)
+ 6. [量子生成对抗网络(Quantum GAN)](./tutorials/machine_learning/QGAN_CN.ipynb)
+ 7. [变分量子奇异值分解(VQSVD)](./tutorials/machine_learning/VQSVD_CN.ipynb)
+
+- [组合优化](./tutorials/combinatorial_optimization)
+ 1. [量子近似优化算法(QAOA)](./tutorials/combinatorial_optimization/QAOA_CN.ipynb)
+ 2. [QAOA 求解最大割问题](./tutorials/combinatorial_optimization/MAXCUT_CN.ipynb)
+ 3. [大规模量子近似优化分治算法(DC-QAOA)](./tutorials/combinatorial_optimization/DC-QAOA_CN.ipynb)
+ 4. [旅行商问题](./tutorials/combinatorial_optimization/TSP_CN.ipynb)
+ 5. [量子金融应用:最佳套利机会](./tutorials/combinatorial_optimization/ArbitrageOpportunityOptimation_CN.ipynb)
+ 6. [量子金融应用:投资组合优化](./tutorials/combinatorial_optimization/PortfolioOptimization_CN.ipynb)
+ 7. [量子金融应用:投资组合分散化](./tutorials/combinatorial_optimization/PortfolioDiversification_CN.ipynb)
+
+- [LOCC 量子神经网络(LOCCNet)](./tutorials/locc)
+ 1. [LOCC 量子神经网络](./tutorials/locc/LOCCNET_Tutorial_CN.ipynb)
+ 2. [纠缠蒸馏 -- BBPSSW 协议](./tutorials/locc/EntanglementDistillation_BBPSSW_CN.ipynb)
+ 3. [纠缠蒸馏 -- DEJMPS 协议](./tutorials/locc/EntanglementDistillation_DEJMPS_CN.ipynb)
+ 4. [纠缠蒸馏 -- LOCCNet 设计协议](./tutorials/locc/EntanglementDistillation_LOCCNET_CN.ipynb)
+ 5. [量子隐态传输](./tutorials/locc/QuantumTeleportation_CN.ipynb)
+ 6. [量子态分辨](./tutorials/locc/StateDiscrimination_CN.ipynb)
+
+- [量子神经网络研究](./tutorials/qnn_research)
+ 1. [量子神经网络的贫瘠高原效应(Barren Plateaus)](./tutorials/qnn_research/BarrenPlateaus_CN.ipynb)
+ 2. [噪声模型与量子信道](./tutorials/qnn_research/Noise_CN.ipynb)
+ 3. [量子神经网络的表达能力](./tutorials/qnn_research/Expressibility_CN.ipynb)
+ 4. [变分量子电路编译](./tutorials/qnn_research/VQCC_CN.ipynb)
+ 5. [量子费舍信息](./tutorials/qnn_research/Fisher_CN.ipynb)
+ 6. [VAns-可变电路结构](./tutorials/qnn_research/VAns_CN.ipynb)
+
+随着 LOCCNet 模组的推出,量桨现已支持分布式量子信息处理任务的高效模拟和开发。感兴趣的读者请参见[教程](./tutorials/locc/LOCCNET_Tutorial_CN.ipynb)。Paddle Quantum 也支持在 GPU 上进行量子机器学习的训练,具体的方法请参考案例:[在 GPU 上使用 Paddle Quantum](./introduction/PaddleQuantum_GPU_CN.ipynb)。此外,量桨可以基于噪声模块进行含噪算法的开发以及研究,详情请见[噪声模块教程](./tutorials/qnn_research/Noise_CN.ipynb)。
+
+在最近的更新中,量桨还加入了基于测量的量子计算(measurement-based quantum computation, MBQC)模块。与传统的量子电路模型不同,MBQC 具有其独特的运行方式,感兴趣的读者请参见我们提供的[多篇教程](./tutorials/mbqc)以了解量桨 MBQC 模块的使用方法和应用案例。
### API 文档
@@ -238,11 +242,11 @@ Paddle Quantum 使用 setuptools 的 develop 模式进行安装,相关代码
1. 问:**研究量子机器学习有什么意义?它有哪些应用场景?**
- 答:量子机器学习是将量子计算与机器学习相结合的一门学科,它一方面可以利用现有人工智能技术突破量子计算的研发瓶颈,另一方面也能利用量子计算的信息处理优势促进传统人工智能的发展。量子机器学习不仅适用于量子化学模拟(如[变分量子特征求解器 (VQE)](./tutorial/VQE))等量子问题,也可以用来解决一些经典问题(如[量子近似优化算法 (QAOA)](./tutorial/QAOA))。
+ 答:量子机器学习是将量子计算与机器学习相结合的一门学科,它一方面可以利用现有人工智能技术突破量子计算的研发瓶颈,另一方面也能利用量子计算的信息处理优势促进传统人工智能的发展。量子机器学习不仅适用于量子化学模拟(如[变分量子特征求解器 (VQE)](./tutorials/VQE))等量子问题,也可以用来解决一些经典问题(如[量子近似优化算法 (QAOA)](./tutorials/QAOA))。
2. 问:**想做量子机器学习,但对量子计算不是很了解,该如何入门?**
- 答:Nielsen 和 Chuang 所著的《量子计算与量子信息》是量子计算领域公认的经典入门教材。建议读者首先学习这本书的第一、二、四章,介绍了量子计算中的基本概念、数学和物理基础、以及量子电路模型。读者也可以阅读量桨的[入门手册](./introduction),其中包含了对量子计算的简单介绍,并有互动性的例子供读者尝试。对量子计算有了大致了解后,读者可以尝试学习量桨提供的一些前沿[量子机器学习案例](./tutorial)。
+ 答:Nielsen 和 Chuang 所著的《量子计算与量子信息》是量子计算领域公认的经典入门教材。建议读者首先学习这本书的第一、二、四章,介绍了量子计算中的基本概念、数学和物理基础、以及量子电路模型。读者也可以阅读量桨的[入门手册](./introduction),其中包含了对量子计算的简单介绍,并有互动性的例子供读者尝试。对量子计算有了大致了解后,读者可以尝试学习量桨提供的一些前沿[量子机器学习案例](./tutorials)。
3. 问:**现阶段没有规模化的量子硬件,怎么开发量子应用?**
@@ -250,7 +254,7 @@ Paddle Quantum 使用 setuptools 的 develop 模式进行安装,相关代码
4. 问:**量桨有哪些优势?**
- 答:量桨是基于百度飞桨开发的量子机器学习工具集。飞桨作为国内首个开源开放的产业级深度学习平台,技术领先且功能完备。拥有飞桨的技术支持,特别是其强大的动态图机制,量桨可以方便地进行机器学习的优化以及 GPU 的加速。同时,基于百度量子计算研究所研发的高性能量子模拟器,量桨在个人笔记本电脑上也能支持20多个量子比特的运算。另外,量桨还有丰富的[量子机器学习案例](./tutorial)供大家参考和学习。
+ 答:量桨是基于百度飞桨开发的量子机器学习工具集。飞桨作为国内首个开源开放的产业级深度学习平台,技术领先且功能完备。拥有飞桨的技术支持,特别是其强大的动态图机制,量桨可以方便地进行机器学习的优化以及 GPU 的加速。同时,基于百度量子计算研究所研发的高性能量子模拟器,量桨在个人笔记本电脑上也能支持20多个量子比特的运算。另外,量桨还有丰富的[量子机器学习案例](./tutorials)供大家参考和学习。
## Copyright and License
diff --git a/docs/Makefile b/docs/Makefile
new file mode 100644
index 0000000..d0c3cbf
--- /dev/null
+++ b/docs/Makefile
@@ -0,0 +1,20 @@
+# Minimal makefile for Sphinx documentation
+#
+
+# You can set these variables from the command line, and also
+# from the environment for the first two.
+SPHINXOPTS ?=
+SPHINXBUILD ?= sphinx-build
+SOURCEDIR = source
+BUILDDIR = build
+
+# Put it first so that "make" without argument is like "make help".
+help:
+ @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
+
+.PHONY: help Makefile
+
+# Catch-all target: route all unknown targets to Sphinx using the new
+# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
+%: Makefile
+ @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
diff --git a/docs/make.bat b/docs/make.bat
new file mode 100644
index 0000000..747ffb7
--- /dev/null
+++ b/docs/make.bat
@@ -0,0 +1,35 @@
+@ECHO OFF
+
+pushd %~dp0
+
+REM Command file for Sphinx documentation
+
+if "%SPHINXBUILD%" == "" (
+ set SPHINXBUILD=sphinx-build
+)
+set SOURCEDIR=source
+set BUILDDIR=build
+
+%SPHINXBUILD% >NUL 2>NUL
+if errorlevel 9009 (
+ echo.
+ echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
+ echo.installed, then set the SPHINXBUILD environment variable to point
+ echo.to the full path of the 'sphinx-build' executable. Alternatively you
+ echo.may add the Sphinx directory to PATH.
+ echo.
+ echo.If you don't have Sphinx installed, grab it from
+ echo.https://www.sphinx-doc.org/
+ exit /b 1
+)
+
+if "%1" == "" goto help
+
+%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
+goto end
+
+:help
+%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
+
+:end
+popd
diff --git a/docs/source/conf.py b/docs/source/conf.py
new file mode 100644
index 0000000..691f71f
--- /dev/null
+++ b/docs/source/conf.py
@@ -0,0 +1,72 @@
+# Configuration file for the Sphinx documentation builder.
+#
+# This file only contains a selection of the most common options. For a full
+# list see the documentation:
+# https://www.sphinx-doc.org/en/master/usage/configuration.html
+
+# -- Path setup --------------------------------------------------------------
+
+# If extensions (or modules to document with autodoc) are in another directory,
+# add these directories to sys.path here. If the directory is relative to the
+# documentation root, use os.path.abspath to make it absolute, like shown here.
+#
+# import os
+# import sys
+# sys.path.insert(0, os.path.abspath('.'))
+
+
+# -- Project information -----------------------------------------------------
+
+project = 'paddle-quantum'
+copyright = '2022, Baidu Inc'
+author = 'Baidu Inc'
+
+# The full version, including alpha/beta/rc tags
+release = '2.2.0'
+
+
+# -- General configuration ---------------------------------------------------
+
+# Add any Sphinx extension module names here, as strings. They can be
+# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
+# ones.
+extensions = [
+ 'sphinx.ext.autodoc',
+ 'sphinx.ext.napoleon',
+ 'sphinx.ext.mathjax',
+ 'sphinx.ext.todo',
+ 'sphinx_search.extension',
+]
+
+
+# Add any paths that contain templates here, relative to this directory.
+templates_path = ['_templates']
+
+# List of patterns, relative to source directory, that match files and
+# directories to ignore when looking for source files.
+# This pattern also affects html_static_path and html_extra_path.
+exclude_patterns = []
+
+# -- Options for HTML output -------------------------------------------------
+
+# The theme to use for HTML and HTML Help pages. See the documentation for
+# a list of builtin themes.
+#
+html_theme = 'sphinx_rtd_theme'
+
+# Add any paths that contain custom static files (such as style sheets) here,
+# relative to this directory. They are copied after the builtin static files,
+# so a file named "default.css" will overwrite the builtin "default.css".
+html_static_path = ['_static']
+
+master_doc = 'index'
+
+# Autodoc
+napoleon_numpy_docstring = False
+autodoc_member_order = 'bysource'
+autodoc_typehints = 'description'
+autodoc_warningiserror = False
+autodoc_inherit_docstrings = False
+autodoc_docstring_signature = False
+autodoc_typehints_description_target = 'documented'
+autodoc_typehints_format = 'short'
diff --git a/docs/source/index.rst b/docs/source/index.rst
new file mode 100644
index 0000000..80905f6
--- /dev/null
+++ b/docs/source/index.rst
@@ -0,0 +1,20 @@
+.. paddle-quantum documentation master file, created by
+ sphinx-quickstart on Tue May 10 13:46:49 2022.
+ You can adapt this file completely to your liking, but it should at least
+ contain the root `toctree` directive.
+
+Welcome to Paddle Quantum's documentation!
+==========================================
+
+.. toctree::
+ :maxdepth: 2
+ :caption: Getting Started with Paddle Quantum
+
+ introduction
+ tutorial
+
+.. toctree::
+ :maxdepth: 1
+ :caption: API Documentation
+
+ modules
diff --git a/docs/source/introduction.rst b/docs/source/introduction.rst
new file mode 100644
index 0000000..b413171
--- /dev/null
+++ b/docs/source/introduction.rst
@@ -0,0 +1,126 @@
+.. _header-n0:
+
+Paddle Quantum
+=======================
+
+`Paddle Quantum `__\ is a quantum machine learning toolkit developed based on Baidu PaddlePaddle. It provides a platform to construct and train quantum neural networks (QNN) with easy-to-use QML development kits supporting combinatorial optimization, quantum chemistry and other cutting-edge quantum applications, making PaddlePaddle the first deep learning framework in China that supports quantum machine learning.
+
+.. figure:: https://release-data.cdn.bcebos.com/Paddle%20Quantum.png
+ :target: https://github.com/PaddlePaddle/Quantum
+
+Paddle Quantum has established a bridge between artificial intelligence and quantum computing. Through the Baidu PaddlePaddle deep learning platform to empower quantum computing, Paddle Quantum provides a powerful tool for people in the quantum AI industry and a feasible learning path for quantum computing enthusiasts.
+
+ For more information about Paddle Quantum, please check the GitHub page: https://github.com/PaddlePaddle/Quantum
+
+.. _header-n6:
+
+Features
+--------
+
+- Easy-to-use
+
+ - Many online learning resources (Nearly 40 tutorials)
+ - High efficiency in building QNN with various QNN templates
+ - Automatic differentiation
+
+- Versatile
+
+ - Multiple optimization tools and GPU mode
+ - Simulation with 25+ qubits
+ - Flexible noise models
+
+- Featured Toolkits
+
+ - Toolboxes for Chemistry & Optimization
+ - LOCCNet for distributed quantum information processing
+ - Self-developed quantum machine learning algorithms
+
+.. _header-n15:
+
+Install
+--------
+
+.. _header-n16:
+
+Install PaddlePaddle
+~~~~~~~~~~~~~~~~~~~~
+
+This dependency will be automatically satisfied when users install Paddle Quantum. Please refer to `PaddlePaddle `__ Install and configuration page. This project requires PaddlePaddle 2.2.0+.
+
+.. _header-n19:
+
+Install Paddle Quantum
+~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+We recommend installing Paddle Quantum with ``pip`` ,
+
+.. code:: shell
+
+ pip install paddle-quantum
+
+or download all the files and finish the installation locally,
+
+.. code:: shell
+
+ git clone http://github.com/PaddlePaddle/quantum
+
+.. code:: shell
+
+ cd quantum
+ pip install -e .
+
+.. _header-n25:
+
+Environment setup for Quantum Chemistry module
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Our `qchem` module is based on `Psi4`, so before executing quantum chemistry, we have to install this Python package.
+
+.. note::
+
+ It is recommended that `Psi4` is installed in a Python 3.8 environment.
+
+We highly recommend you to install ``Psi4`` via conda. MacOS/Linux user can use the command
+
+.. code:: shell
+
+ conda install psi4 -c psi4
+
+For **Windows** user, the command is
+
+.. code:: shell
+
+ conda install psi4 -c psi4 -c conda-forge
+
+**Note:** Please refer to `Psi4 `__\ for more download options.
+
+.. _header-n29:
+
+Run programs
+~~~~~~~~~~~~
+
+Now, you can try to run a program to verify whether the Paddle Quantum has been installed successfully. Here we take quantum approximate optimization algorithm (QAOA) as an example.
+
+.. code:: shell
+
+ cd paddle_quantum/QAOA/example
+ python main.py
+
+..
+
+.. note:: For the introduction of QAOA, please refer to our `QAOA tutorial `__.
+
+.. _header-n51:
+
+Feedbacks
+----------
+
+- Users are encouraged to report issues and submit suggestions on `Github Issues `__.
+- QQ group: 1076223166
+
+.. _header-n118:
+
+Copyright and License
+---------------------
+
+Paddle Quantum uses the `Apache-2.0 license `__ License.
diff --git a/docs/source/locale/en/LC_MESSAGES/index.po b/docs/source/locale/en/LC_MESSAGES/index.po
new file mode 100644
index 0000000..f0b95c5
--- /dev/null
+++ b/docs/source/locale/en/LC_MESSAGES/index.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2022, Baidu Inc
+# This file is distributed under the same license as the paddle-quantum
+# package.
+# FIRST AUTHOR , 2022.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: paddle-quantum \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-05-17 11:08+0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: LANGUAGE \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.10.1\n"
+
+#: ../../source/index.rst:9
+msgid "Getting Started with Paddle Quantum"
+msgstr ""
+
+#: ../../source/index.rst:16
+msgid "API Documentation"
+msgstr ""
+
+#: ../../source/index.rst:7
+msgid "Welcome to Paddle Quantum's documentation!"
+msgstr ""
+
diff --git a/docs/source/locale/en/LC_MESSAGES/introduction.po b/docs/source/locale/en/LC_MESSAGES/introduction.po
new file mode 100644
index 0000000..36a1b8c
--- /dev/null
+++ b/docs/source/locale/en/LC_MESSAGES/introduction.po
@@ -0,0 +1,202 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2022, Baidu Inc
+# This file is distributed under the same license as the paddle-quantum
+# package.
+# FIRST AUTHOR , 2022.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: paddle-quantum \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-05-17 11:08+0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: LANGUAGE \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.10.1\n"
+
+#: ../../source/introduction.rst:4
+msgid "Paddle Quantum"
+msgstr ""
+
+#: ../../source/introduction.rst:6
+msgid ""
+"`Paddle Quantum `__\\ is a "
+"quantum machine learning toolkit developed based on Baidu PaddlePaddle. "
+"It provides a platform to construct and train quantum neural networks "
+"(QNN) with easy-to-use QML development kits supporting combinatorial "
+"optimization, quantum chemistry and other cutting-edge quantum "
+"applications, making PaddlePaddle the first deep learning framework in "
+"China that supports quantum machine learning."
+msgstr ""
+
+#: ../../source/introduction.rst:11
+msgid ""
+"Paddle Quantum has established a bridge between artificial intelligence "
+"and quantum computing. Through the Baidu PaddlePaddle deep learning "
+"platform to empower quantum computing, Paddle Quantum provides a powerful"
+" tool for people in the quantum AI industry and a feasible learning path "
+"for quantum computing enthusiasts."
+msgstr ""
+
+#: ../../source/introduction.rst:13
+msgid ""
+"For more information about Paddle Quantum, please check the GitHub page: "
+"https://github.com/PaddlePaddle/Quantum"
+msgstr ""
+
+#: ../../source/introduction.rst:18
+msgid "Features"
+msgstr ""
+
+#: ../../source/introduction.rst:20
+msgid "Easy-to-use"
+msgstr ""
+
+#: ../../source/introduction.rst:22
+msgid "Many online learning resources (Nearly 40 tutorials)"
+msgstr ""
+
+#: ../../source/introduction.rst:23
+msgid "High efficiency in building QNN with various QNN templates"
+msgstr ""
+
+#: ../../source/introduction.rst:24
+msgid "Automatic differentiation"
+msgstr ""
+
+#: ../../source/introduction.rst:26
+msgid "Versatile"
+msgstr ""
+
+#: ../../source/introduction.rst:28
+msgid "Multiple optimization tools and GPU mode"
+msgstr ""
+
+#: ../../source/introduction.rst:29
+msgid "Simulation with 25+ qubits"
+msgstr ""
+
+#: ../../source/introduction.rst:30
+msgid "Flexible noise models"
+msgstr ""
+
+#: ../../source/introduction.rst:32
+msgid "Featured Toolkits"
+msgstr ""
+
+#: ../../source/introduction.rst:34
+msgid "Toolboxes for Chemistry & Optimization"
+msgstr ""
+
+#: ../../source/introduction.rst:35
+msgid "LOCCNet for distributed quantum information processing"
+msgstr ""
+
+#: ../../source/introduction.rst:36
+msgid "Self-developed quantum machine learning algorithms"
+msgstr ""
+
+#: ../../source/introduction.rst:41
+msgid "Install"
+msgstr ""
+
+#: ../../source/introduction.rst:46
+msgid "Install PaddlePaddle"
+msgstr ""
+
+#: ../../source/introduction.rst:48
+msgid ""
+"This dependency will be automatically satisfied when users install Paddle"
+" Quantum. Please refer to `PaddlePaddle "
+"`__ Install and "
+"configuration page. This project requires PaddlePaddle 2.2.0+."
+msgstr ""
+
+#: ../../source/introduction.rst:53
+msgid "Install Paddle Quantum"
+msgstr ""
+
+#: ../../source/introduction.rst:55
+msgid "We recommend installing Paddle Quantum with ``pip`` ,"
+msgstr ""
+
+#: ../../source/introduction.rst:61
+msgid "or download all the files and finish the installation locally,"
+msgstr ""
+
+#: ../../source/introduction.rst:75
+msgid "Environment setup for Quantum Chemistry module"
+msgstr ""
+
+#: ../../source/introduction.rst:77
+msgid ""
+"Our `qchem` module is based on `Psi4`, so before executing quantum "
+"chemistry, we have to install this Python package."
+msgstr ""
+
+#: ../../source/introduction.rst:81
+msgid "It is recommended that `Psi4` is installed in a Python 3.8 environment."
+msgstr ""
+
+#: ../../source/introduction.rst:83
+msgid ""
+"We highly recommend you to install ``Psi4`` via conda. MacOS/Linux user "
+"can use the command"
+msgstr ""
+
+#: ../../source/introduction.rst:89
+msgid "For **Windows** user, the command is"
+msgstr ""
+
+#: ../../source/introduction.rst:95
+msgid ""
+"**Note:** Please refer to `Psi4 `__\\"
+" for more download options."
+msgstr ""
+
+#: ../../source/introduction.rst:100
+msgid "Run programs"
+msgstr ""
+
+#: ../../source/introduction.rst:102
+msgid ""
+"Now, you can try to run a program to verify whether the Paddle Quantum "
+"has been installed successfully. Here we take quantum approximate "
+"optimization algorithm (QAOA) as an example."
+msgstr ""
+
+#: ../../source/introduction.rst:111
+msgid ""
+"For the introduction of QAOA, please refer to our `QAOA tutorial "
+"`__."
+msgstr ""
+
+#: ../../source/introduction.rst:116
+msgid "Feedbacks"
+msgstr ""
+
+#: ../../source/introduction.rst:118
+msgid ""
+"Users are encouraged to report issues and submit suggestions on `Github "
+"Issues `__."
+msgstr ""
+
+#: ../../source/introduction.rst:119
+msgid "QQ group: 1076223166"
+msgstr ""
+
+#: ../../source/introduction.rst:124
+msgid "Copyright and License"
+msgstr ""
+
+#: ../../source/introduction.rst:126
+msgid ""
+"Paddle Quantum uses the `Apache-2.0 license "
+"`__ License."
+msgstr ""
+
diff --git a/docs/source/locale/en/LC_MESSAGES/modules.po b/docs/source/locale/en/LC_MESSAGES/modules.po
new file mode 100644
index 0000000..e9a45b4
--- /dev/null
+++ b/docs/source/locale/en/LC_MESSAGES/modules.po
@@ -0,0 +1,20 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2022, Baidu Inc
+# This file is distributed under the same license as the paddle-quantum
+# package.
+# FIRST AUTHOR , 2022.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: paddle-quantum \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-05-17 11:08+0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: LANGUAGE \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.10.1\n"
+
diff --git a/docs/source/locale/en/LC_MESSAGES/paddle_quantum.ansatz.circuit.po b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.ansatz.circuit.po
new file mode 100644
index 0000000..bacfec6
--- /dev/null
+++ b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.ansatz.circuit.po
@@ -0,0 +1,1004 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2022, Baidu Inc
+# This file is distributed under the same license as the paddle-quantum
+# package.
+# FIRST AUTHOR , 2022.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: paddle-quantum \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-05-17 11:08+0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: LANGUAGE \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.10.1\n"
+
+#: ../../source/paddle_quantum.ansatz.circuit.rst:2
+msgid "paddle\\_quantum.ansatz.circuit"
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit:1
+msgid "The source file of the Circuit class."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit:1
+msgid "Bases: :py:class:`~paddle_quantum.ansatz.container.Sequential`"
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit:1
+msgid "Quantum circuit."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit
+#: paddle_quantum.ansatz.circuit.Circuit.amplitude_damping
+#: paddle_quantum.ansatz.circuit.Circuit.bit_flip
+#: paddle_quantum.ansatz.circuit.Circuit.bit_phase_flip
+#: paddle_quantum.ansatz.circuit.Circuit.ccx
+#: paddle_quantum.ansatz.circuit.Circuit.cnot
+#: paddle_quantum.ansatz.circuit.Circuit.complex_block_layer
+#: paddle_quantum.ansatz.circuit.Circuit.complex_entangled_layer
+#: paddle_quantum.ansatz.circuit.Circuit.control_oracle
+#: paddle_quantum.ansatz.circuit.Circuit.cp
+#: paddle_quantum.ansatz.circuit.Circuit.crx
+#: paddle_quantum.ansatz.circuit.Circuit.cry
+#: paddle_quantum.ansatz.circuit.Circuit.crz
+#: paddle_quantum.ansatz.circuit.Circuit.cswap
+#: paddle_quantum.ansatz.circuit.Circuit.cu
+#: paddle_quantum.ansatz.circuit.Circuit.cx
+#: paddle_quantum.ansatz.circuit.Circuit.cy
+#: paddle_quantum.ansatz.circuit.Circuit.cz
+#: paddle_quantum.ansatz.circuit.Circuit.depolarizing
+#: paddle_quantum.ansatz.circuit.Circuit.forward
+#: paddle_quantum.ansatz.circuit.Circuit.generalized_amplitude_damping
+#: paddle_quantum.ansatz.circuit.Circuit.h
+#: paddle_quantum.ansatz.circuit.Circuit.kraus_repr
+#: paddle_quantum.ansatz.circuit.Circuit.linear_entangled_layer
+#: paddle_quantum.ansatz.circuit.Circuit.ms
+#: paddle_quantum.ansatz.circuit.Circuit.oracle
+#: paddle_quantum.ansatz.circuit.Circuit.p
+#: paddle_quantum.ansatz.circuit.Circuit.pauli_channel
+#: paddle_quantum.ansatz.circuit.Circuit.phase_damping
+#: paddle_quantum.ansatz.circuit.Circuit.phase_flip
+#: paddle_quantum.ansatz.circuit.Circuit.randomize_param
+#: paddle_quantum.ansatz.circuit.Circuit.real_block_layer
+#: paddle_quantum.ansatz.circuit.Circuit.real_entangled_layer
+#: paddle_quantum.ansatz.circuit.Circuit.reset_channel
+#: paddle_quantum.ansatz.circuit.Circuit.rx
+#: paddle_quantum.ansatz.circuit.Circuit.rxx
+#: paddle_quantum.ansatz.circuit.Circuit.ry
+#: paddle_quantum.ansatz.circuit.Circuit.ryy
+#: paddle_quantum.ansatz.circuit.Circuit.rz
+#: paddle_quantum.ansatz.circuit.Circuit.rzz
+#: paddle_quantum.ansatz.circuit.Circuit.s
+#: paddle_quantum.ansatz.circuit.Circuit.superposition_layer
+#: paddle_quantum.ansatz.circuit.Circuit.swap
+#: paddle_quantum.ansatz.circuit.Circuit.t
+#: paddle_quantum.ansatz.circuit.Circuit.thermal_relaxation
+#: paddle_quantum.ansatz.circuit.Circuit.u3
+#: paddle_quantum.ansatz.circuit.Circuit.unitary_matrix
+#: paddle_quantum.ansatz.circuit.Circuit.universal_three_qubits
+#: paddle_quantum.ansatz.circuit.Circuit.universal_two_qubits
+#: paddle_quantum.ansatz.circuit.Circuit.update_param
+#: paddle_quantum.ansatz.circuit.Circuit.weak_superposition_layer
+#: paddle_quantum.ansatz.circuit.Circuit.x
+#: paddle_quantum.ansatz.circuit.Circuit.y
+#: paddle_quantum.ansatz.circuit.Circuit.z
+msgid "Parameters"
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit:3
+msgid "Number of qubits. Defaults to None."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.isdynamic:1
+msgid "Whether the circuit is dynamic"
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.num_qubits:1
+msgid "Number of qubits."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.param:1
+msgid "Flattened parameters in the circuit."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.grad:1
+msgid "Gradients with respect to the flattened parameters."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.update_param:1
+msgid "Replace parameters of all/one layer(s) by ``theta``."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.update_param:3
+msgid "New parameters"
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.update_param:4
+msgid "Index of replacement. Defaults to None, refering to all layers."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.randomize_param:1
+msgid "Randomize parameters of the circuit in a range from low to high."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.randomize_param:3
+msgid "Lower bound."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.randomize_param:4
+msgid "Upper bound."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.h:1
+msgid "Add single-qubit Hadamard gates."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.ccx:3
+#: paddle_quantum.ansatz.circuit.Circuit.cswap:3
+#: paddle_quantum.ansatz.circuit.Circuit.h:3
+#: paddle_quantum.ansatz.circuit.Circuit.ms:3
+#: paddle_quantum.ansatz.circuit.Circuit.p:3
+#: paddle_quantum.ansatz.circuit.Circuit.rx:3
+#: paddle_quantum.ansatz.circuit.Circuit.rxx:3
+#: paddle_quantum.ansatz.circuit.Circuit.ry:3
+#: paddle_quantum.ansatz.circuit.Circuit.ryy:3
+#: paddle_quantum.ansatz.circuit.Circuit.rz:3
+#: paddle_quantum.ansatz.circuit.Circuit.rzz:3
+#: paddle_quantum.ansatz.circuit.Circuit.s:3
+#: paddle_quantum.ansatz.circuit.Circuit.swap:3
+#: paddle_quantum.ansatz.circuit.Circuit.t:3
+#: paddle_quantum.ansatz.circuit.Circuit.u3:3
+#: paddle_quantum.ansatz.circuit.Circuit.x:3
+#: paddle_quantum.ansatz.circuit.Circuit.y:3
+#: paddle_quantum.ansatz.circuit.Circuit.z:3
+msgid "The matrix form of such a gate is:"
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.h:5
+msgid ""
+"H = \\frac{1}{\\sqrt{2}}\n"
+" \\begin{bmatrix}\n"
+" 1&1\\\\\n"
+" 1&-1\n"
+" \\end{bmatrix}"
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.complex_block_layer:3
+#: paddle_quantum.ansatz.circuit.Circuit.complex_entangled_layer:3
+#: paddle_quantum.ansatz.circuit.Circuit.h:13
+#: paddle_quantum.ansatz.circuit.Circuit.linear_entangled_layer:3
+#: paddle_quantum.ansatz.circuit.Circuit.p:12
+#: paddle_quantum.ansatz.circuit.Circuit.real_block_layer:3
+#: paddle_quantum.ansatz.circuit.Circuit.real_entangled_layer:3
+#: paddle_quantum.ansatz.circuit.Circuit.rx:12
+#: paddle_quantum.ansatz.circuit.Circuit.ry:12
+#: paddle_quantum.ansatz.circuit.Circuit.rz:12
+#: paddle_quantum.ansatz.circuit.Circuit.s:13
+#: paddle_quantum.ansatz.circuit.Circuit.superposition_layer:3
+#: paddle_quantum.ansatz.circuit.Circuit.t:13
+#: paddle_quantum.ansatz.circuit.Circuit.u3:15
+#: paddle_quantum.ansatz.circuit.Circuit.weak_superposition_layer:3
+#: paddle_quantum.ansatz.circuit.Circuit.x:12
+#: paddle_quantum.ansatz.circuit.Circuit.y:12
+#: paddle_quantum.ansatz.circuit.Circuit.z:12
+msgid "Indices of the qubits on which the gates are applied. Defaults to 'full'."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.amplitude_damping:5
+#: paddle_quantum.ansatz.circuit.Circuit.bit_flip:5
+#: paddle_quantum.ansatz.circuit.Circuit.bit_phase_flip:5
+#: paddle_quantum.ansatz.circuit.Circuit.ccx:21
+#: paddle_quantum.ansatz.circuit.Circuit.cnot:19
+#: paddle_quantum.ansatz.circuit.Circuit.complex_block_layer:4
+#: paddle_quantum.ansatz.circuit.Circuit.complex_entangled_layer:4
+#: paddle_quantum.ansatz.circuit.Circuit.control_oracle:5
+#: paddle_quantum.ansatz.circuit.Circuit.cp:18
+#: paddle_quantum.ansatz.circuit.Circuit.crx:19
+#: paddle_quantum.ansatz.circuit.Circuit.cry:19
+#: paddle_quantum.ansatz.circuit.Circuit.crz:19
+#: paddle_quantum.ansatz.circuit.Circuit.cswap:22
+#: paddle_quantum.ansatz.circuit.Circuit.cu:19
+#: paddle_quantum.ansatz.circuit.Circuit.cx:4
+#: paddle_quantum.ansatz.circuit.Circuit.cy:19
+#: paddle_quantum.ansatz.circuit.Circuit.cz:19
+#: paddle_quantum.ansatz.circuit.Circuit.depolarizing:5
+#: paddle_quantum.ansatz.circuit.Circuit.generalized_amplitude_damping:6
+#: paddle_quantum.ansatz.circuit.Circuit.h:14
+#: paddle_quantum.ansatz.circuit.Circuit.kraus_repr:5
+#: paddle_quantum.ansatz.circuit.Circuit.linear_entangled_layer:4
+#: paddle_quantum.ansatz.circuit.Circuit.ms:18
+#: paddle_quantum.ansatz.circuit.Circuit.oracle:5
+#: paddle_quantum.ansatz.circuit.Circuit.p:13
+#: paddle_quantum.ansatz.circuit.Circuit.pauli_channel:5
+#: paddle_quantum.ansatz.circuit.Circuit.phase_damping:5
+#: paddle_quantum.ansatz.circuit.Circuit.phase_flip:5
+#: paddle_quantum.ansatz.circuit.Circuit.real_block_layer:4
+#: paddle_quantum.ansatz.circuit.Circuit.real_entangled_layer:4
+#: paddle_quantum.ansatz.circuit.Circuit.reset_channel:5
+#: paddle_quantum.ansatz.circuit.Circuit.rx:13
+#: paddle_quantum.ansatz.circuit.Circuit.rxx:18
+#: paddle_quantum.ansatz.circuit.Circuit.ry:13
+#: paddle_quantum.ansatz.circuit.Circuit.ryy:18
+#: paddle_quantum.ansatz.circuit.Circuit.rz:13
+#: paddle_quantum.ansatz.circuit.Circuit.rzz:18
+#: paddle_quantum.ansatz.circuit.Circuit.s:14
+#: paddle_quantum.ansatz.circuit.Circuit.superposition_layer:4
+#: paddle_quantum.ansatz.circuit.Circuit.swap:18
+#: paddle_quantum.ansatz.circuit.Circuit.t:14
+#: paddle_quantum.ansatz.circuit.Circuit.thermal_relaxation:6
+#: paddle_quantum.ansatz.circuit.Circuit.u3:16
+#: paddle_quantum.ansatz.circuit.Circuit.unitary_matrix:3
+#: paddle_quantum.ansatz.circuit.Circuit.universal_three_qubits:4
+#: paddle_quantum.ansatz.circuit.Circuit.universal_two_qubits:4
+#: paddle_quantum.ansatz.circuit.Circuit.weak_superposition_layer:4
+#: paddle_quantum.ansatz.circuit.Circuit.x:13
+#: paddle_quantum.ansatz.circuit.Circuit.y:13
+#: paddle_quantum.ansatz.circuit.Circuit.z:13
+msgid "Total number of qubits. Defaults to None."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.ccx:22
+#: paddle_quantum.ansatz.circuit.Circuit.cnot:20
+#: paddle_quantum.ansatz.circuit.Circuit.complex_block_layer:5
+#: paddle_quantum.ansatz.circuit.Circuit.complex_entangled_layer:5
+#: paddle_quantum.ansatz.circuit.Circuit.control_oracle:6
+#: paddle_quantum.ansatz.circuit.Circuit.cp:19
+#: paddle_quantum.ansatz.circuit.Circuit.crx:20
+#: paddle_quantum.ansatz.circuit.Circuit.cry:20
+#: paddle_quantum.ansatz.circuit.Circuit.crz:20
+#: paddle_quantum.ansatz.circuit.Circuit.cswap:23
+#: paddle_quantum.ansatz.circuit.Circuit.cu:20
+#: paddle_quantum.ansatz.circuit.Circuit.cx:5
+#: paddle_quantum.ansatz.circuit.Circuit.cy:20
+#: paddle_quantum.ansatz.circuit.Circuit.cz:20
+#: paddle_quantum.ansatz.circuit.Circuit.h:15
+#: paddle_quantum.ansatz.circuit.Circuit.linear_entangled_layer:5
+#: paddle_quantum.ansatz.circuit.Circuit.ms:19
+#: paddle_quantum.ansatz.circuit.Circuit.oracle:6
+#: paddle_quantum.ansatz.circuit.Circuit.p:14
+#: paddle_quantum.ansatz.circuit.Circuit.real_block_layer:5
+#: paddle_quantum.ansatz.circuit.Circuit.real_entangled_layer:5
+#: paddle_quantum.ansatz.circuit.Circuit.rx:14
+#: paddle_quantum.ansatz.circuit.Circuit.rxx:19
+#: paddle_quantum.ansatz.circuit.Circuit.ry:14
+#: paddle_quantum.ansatz.circuit.Circuit.ryy:19
+#: paddle_quantum.ansatz.circuit.Circuit.rz:14
+#: paddle_quantum.ansatz.circuit.Circuit.rzz:19
+#: paddle_quantum.ansatz.circuit.Circuit.s:15
+#: paddle_quantum.ansatz.circuit.Circuit.superposition_layer:5
+#: paddle_quantum.ansatz.circuit.Circuit.swap:19
+#: paddle_quantum.ansatz.circuit.Circuit.t:15
+#: paddle_quantum.ansatz.circuit.Circuit.u3:17
+#: paddle_quantum.ansatz.circuit.Circuit.universal_three_qubits:5
+#: paddle_quantum.ansatz.circuit.Circuit.universal_two_qubits:5
+#: paddle_quantum.ansatz.circuit.Circuit.weak_superposition_layer:5
+#: paddle_quantum.ansatz.circuit.Circuit.x:14
+#: paddle_quantum.ansatz.circuit.Circuit.y:14
+#: paddle_quantum.ansatz.circuit.Circuit.z:14
+msgid "Number of layers. Defaults to 1."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.s:1
+msgid "Add single-qubit S gates."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.s:5
+msgid ""
+"S =\n"
+" \\begin{bmatrix}\n"
+" 1&0\\\\\n"
+" 0&i\n"
+" \\end{bmatrix}"
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.t:1
+msgid "Add single-qubit T gates."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.t:5
+msgid ""
+"T =\n"
+" \\begin{bmatrix}\n"
+" 1&0\\\\\n"
+" 0&e^\\frac{i\\pi}{4}\n"
+" \\end{bmatrix}"
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.x:1
+msgid "Add single-qubit X gates."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.x:5
+msgid ""
+"\\begin{bmatrix}\n"
+" 0 & 1 \\\\\n"
+" 1 & 0\n"
+"\\end{bmatrix}"
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.y:1
+msgid "Add single-qubit Y gates."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.y:5
+msgid ""
+"\\begin{bmatrix}\n"
+" 0 & -i \\\\\n"
+" i & 0\n"
+"\\end{bmatrix}"
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.z:1
+msgid "Add single-qubit Z gates."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.z:5
+msgid ""
+"\\begin{bmatrix}\n"
+" 1 & 0 \\\\\n"
+" 0 & -1\n"
+"\\end{bmatrix}"
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.p:1
+msgid "Add single-qubit P gates."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.p:5
+msgid ""
+"\\begin{bmatrix}\n"
+" 1 & 0 \\\\\n"
+" 0 & e^{i\\theta}\n"
+"\\end{bmatrix}"
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.cp:20
+#: paddle_quantum.ansatz.circuit.Circuit.crx:21
+#: paddle_quantum.ansatz.circuit.Circuit.cry:21
+#: paddle_quantum.ansatz.circuit.Circuit.crz:21
+#: paddle_quantum.ansatz.circuit.Circuit.cu:21
+#: paddle_quantum.ansatz.circuit.Circuit.p:15
+#: paddle_quantum.ansatz.circuit.Circuit.rx:15
+#: paddle_quantum.ansatz.circuit.Circuit.rxx:20
+#: paddle_quantum.ansatz.circuit.Circuit.ry:15
+#: paddle_quantum.ansatz.circuit.Circuit.ryy:20
+#: paddle_quantum.ansatz.circuit.Circuit.rz:15
+#: paddle_quantum.ansatz.circuit.Circuit.rzz:20
+#: paddle_quantum.ansatz.circuit.Circuit.u3:18
+#: paddle_quantum.ansatz.circuit.Circuit.universal_three_qubits:6
+#: paddle_quantum.ansatz.circuit.Circuit.universal_two_qubits:6
+msgid "Parameters of the gates. Defaults to None."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.cp:21
+#: paddle_quantum.ansatz.circuit.Circuit.crx:22
+#: paddle_quantum.ansatz.circuit.Circuit.cry:22
+#: paddle_quantum.ansatz.circuit.Circuit.crz:22
+#: paddle_quantum.ansatz.circuit.Circuit.cu:22
+#: paddle_quantum.ansatz.circuit.Circuit.p:16
+#: paddle_quantum.ansatz.circuit.Circuit.rx:16
+#: paddle_quantum.ansatz.circuit.Circuit.rxx:21
+#: paddle_quantum.ansatz.circuit.Circuit.ry:16
+#: paddle_quantum.ansatz.circuit.Circuit.ryy:21
+#: paddle_quantum.ansatz.circuit.Circuit.rz:16
+#: paddle_quantum.ansatz.circuit.Circuit.rzz:21
+#: paddle_quantum.ansatz.circuit.Circuit.u3:19
+#: paddle_quantum.ansatz.circuit.Circuit.universal_three_qubits:7
+#: paddle_quantum.ansatz.circuit.Circuit.universal_two_qubits:7
+msgid "Whether gates in the same layer share a parameter. Defaults to False."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.rx:1
+msgid "Add single-qubit rotation gates about the x-axis."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.rx:5
+msgid ""
+"\\begin{bmatrix}\n"
+" \\cos\\frac{\\theta}{2} & -i\\sin\\frac{\\theta}{2} \\\\\n"
+" -i\\sin\\frac{\\theta}{2} & \\cos\\frac{\\theta}{2}\n"
+"\\end{bmatrix}"
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.ry:1
+msgid "Add single-qubit rotation gates about the y-axis."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.ry:5
+msgid ""
+"\\begin{bmatrix}\n"
+" \\cos\\frac{\\theta}{2} & -\\sin\\frac{\\theta}{2} \\\\\n"
+" \\sin\\frac{\\theta}{2} & \\cos\\frac{\\theta}{2}\n"
+"\\end{bmatrix}"
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.rz:1
+msgid "Add single-qubit rotation gates about the z-axis."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.rz:5
+msgid ""
+"\\begin{bmatrix}\n"
+" e^{-i\\frac{\\theta}{2}} & 0 \\\\\n"
+" 0 & e^{i\\frac{\\theta}{2}}\n"
+"\\end{bmatrix}"
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.u3:1
+msgid "Add single-qubit rotation gates."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.u3:5
+msgid ""
+"\\begin{align}\n"
+" U3(\\theta, \\phi, \\lambda) =\n"
+" \\begin{bmatrix}\n"
+" \\cos\\frac\\theta2&-e^{i\\lambda}\\sin\\frac\\theta2\\\\\n"
+" "
+"e^{i\\phi}\\sin\\frac\\theta2&e^{i(\\phi+\\lambda)}\\cos\\frac\\theta2\n"
+" \\end{bmatrix}\n"
+"\\end{align}"
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.cnot:1
+msgid "Add CNOT gates."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.cnot:3
+#: paddle_quantum.ansatz.circuit.Circuit.cp:3
+#: paddle_quantum.ansatz.circuit.Circuit.crx:3
+#: paddle_quantum.ansatz.circuit.Circuit.cry:3
+#: paddle_quantum.ansatz.circuit.Circuit.crz:3
+#: paddle_quantum.ansatz.circuit.Circuit.cu:3
+#: paddle_quantum.ansatz.circuit.Circuit.cy:3
+#: paddle_quantum.ansatz.circuit.Circuit.cz:3
+msgid ""
+"For a 2-qubit quantum circuit, when `qubits_idx` is `[0, 1]`, the matrix "
+"form of such a gate is:"
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.cnot:5
+msgid ""
+"\\begin{align}\n"
+" CNOT &=|0\\rangle \\langle 0|\\otimes I + |1 \\rangle \\langle "
+"1|\\otimes X\\\\\n"
+" &=\n"
+" \\begin{bmatrix}\n"
+" 1 & 0 & 0 & 0 \\\\\n"
+" 0 & 1 & 0 & 0 \\\\\n"
+" 0 & 0 & 0 & 1 \\\\\n"
+" 0 & 0 & 1 & 0\n"
+" \\end{bmatrix}\n"
+"\\end{align}"
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.ccx:20
+#: paddle_quantum.ansatz.circuit.Circuit.cnot:18
+#: paddle_quantum.ansatz.circuit.Circuit.cp:17
+#: paddle_quantum.ansatz.circuit.Circuit.crx:18
+#: paddle_quantum.ansatz.circuit.Circuit.cry:18
+#: paddle_quantum.ansatz.circuit.Circuit.crz:18
+#: paddle_quantum.ansatz.circuit.Circuit.cswap:21
+#: paddle_quantum.ansatz.circuit.Circuit.cu:18
+#: paddle_quantum.ansatz.circuit.Circuit.cx:3
+#: paddle_quantum.ansatz.circuit.Circuit.cy:18
+#: paddle_quantum.ansatz.circuit.Circuit.cz:18
+#: paddle_quantum.ansatz.circuit.Circuit.ms:17
+#: paddle_quantum.ansatz.circuit.Circuit.rxx:17
+#: paddle_quantum.ansatz.circuit.Circuit.ryy:17
+#: paddle_quantum.ansatz.circuit.Circuit.rzz:17
+#: paddle_quantum.ansatz.circuit.Circuit.swap:17
+#: paddle_quantum.ansatz.circuit.Circuit.universal_three_qubits:3
+#: paddle_quantum.ansatz.circuit.Circuit.universal_two_qubits:3
+msgid "Indices of the qubits on which the gates are applied. Defaults to 'cycle'."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.cx:1
+msgid "Same as cnot."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.cy:1
+msgid "Add controlled Y gates."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.cy:5
+msgid ""
+"\\begin{align}\n"
+" CY &=|0\\rangle \\langle 0|\\otimes I + |1 \\rangle \\langle "
+"1|\\otimes Y\\\\\n"
+" &=\n"
+" \\begin{bmatrix}\n"
+" 1 & 0 & 0 & 0 \\\\\n"
+" 0 & 1 & 0 & 0 \\\\\n"
+" 0 & 0 & 0 & -1j \\\\\n"
+" 0 & 0 & 1j & 0\n"
+" \\end{bmatrix}\n"
+"\\end{align}"
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.cz:1
+msgid "Add controlled Z gates."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.cz:5
+msgid ""
+"\\begin{align}\n"
+" CZ &=|0\\rangle \\langle 0|\\otimes I + |1 \\rangle \\langle "
+"1|\\otimes Z\\\\\n"
+" &=\n"
+" \\begin{bmatrix}\n"
+" 1 & 0 & 0 & 0 \\\\\n"
+" 0 & 1 & 0 & 0 \\\\\n"
+" 0 & 0 & 1 & 0 \\\\\n"
+" 0 & 0 & 0 & -1\n"
+" \\end{bmatrix}\n"
+"\\end{align}"
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.swap:1
+msgid "Add SWAP gates."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.swap:5
+msgid ""
+"\\begin{align}\n"
+" SWAP =\n"
+" \\begin{bmatrix}\n"
+" 1 & 0 & 0 & 0 \\\\\n"
+" 0 & 0 & 1 & 0 \\\\\n"
+" 0 & 1 & 0 & 0 \\\\\n"
+" 0 & 0 & 0 & 1\n"
+" \\end{bmatrix}\n"
+"\\end{align}"
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.cp:1
+msgid "Add controlled P gates."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.cp:5
+msgid ""
+"\\begin{align}\n"
+" SWAP =\n"
+" \\begin{bmatrix}\n"
+" 1 & 0 & 0 & 0 \\\\\n"
+" 0 & 1 & 0 & 0 \\\\\n"
+" 0 & 0 & 1 & 0 \\\\\n"
+" 0 & 0 & 0 & e^{i\\theta}\n"
+" \\end{bmatrix}\n"
+"\\end{align}"
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.crx:1
+msgid "Add controlled rotation gates about the x-axis."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.crx:5
+msgid ""
+"\\begin{align}\n"
+" CRx &=|0\\rangle \\langle 0|\\otimes I + |1 \\rangle \\langle "
+"1|\\otimes Rx\\\\\n"
+" &=\n"
+" \\begin{bmatrix}\n"
+" 1 & 0 & 0 & 0 \\\\\n"
+" 0 & 1 & 0 & 0 \\\\\n"
+" 0 & 0 & \\cos\\frac{\\theta}{2} & -i\\sin\\frac{\\theta}{2} \\\\\n"
+" 0 & 0 & -i\\sin\\frac{\\theta}{2} & \\cos\\frac{\\theta}{2}\n"
+" \\end{bmatrix}\n"
+"\\end{align}"
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.cry:1
+msgid "Add controlled rotation gates about the y-axis."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.cry:5
+msgid ""
+"\\begin{align}\n"
+" CRy &=|0\\rangle \\langle 0|\\otimes I + |1 \\rangle \\langle "
+"1|\\otimes Ry\\\\\n"
+" &=\n"
+" \\begin{bmatrix}\n"
+" 1 & 0 & 0 & 0 \\\\\n"
+" 0 & 1 & 0 & 0 \\\\\n"
+" 0 & 0 & \\cos\\frac{\\theta}{2} & -\\sin\\frac{\\theta}{2} \\\\\n"
+" 0 & 0 & \\sin\\frac{\\theta}{2} & \\cos\\frac{\\theta}{2}\n"
+" \\end{bmatrix}\n"
+"\\end{align}"
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.crz:1
+msgid "Add controlled rotation gates about the z-axis."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.crz:5
+msgid ""
+"\\begin{align}\n"
+" CRz &=|0\\rangle \\langle 0|\\otimes I + |1 \\rangle \\langle "
+"1|\\otimes Rz\\\\\n"
+" &=\n"
+" \\begin{bmatrix}\n"
+" 1 & 0 & 0 & 0 \\\\\n"
+" 0 & 1 & 0 & 0 \\\\\n"
+" 0 & 0 & 1 & 0 \\\\\n"
+" 0 & 0 & 0 & e^{i\\theta}\n"
+" \\end{bmatrix}\n"
+"\\end{align}"
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.cu:1
+msgid "Add controlled single-qubit rotation gates."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.cu:5
+msgid ""
+"\\begin{align}\n"
+" CU\n"
+" &=\n"
+" \\begin{bmatrix}\n"
+" 1 & 0 & 0 & 0 \\\\\n"
+" 0 & 1 & 0 & 0 \\\\\n"
+" 0 & 0 & \\cos\\frac\\theta2 &-e^{i\\lambda}\\sin\\frac\\theta2 "
+"\\\\\n"
+" 0 & 0 & "
+"e^{i\\phi}\\sin\\frac\\theta2&e^{i(\\phi+\\lambda)}\\cos\\frac\\theta2\n"
+" \\end{bmatrix}\n"
+"\\end{align}"
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.rxx:1
+msgid "Add RXX gates."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.rxx:5
+msgid ""
+"\\begin{align}\n"
+" RXX(\\theta) =\n"
+" \\begin{bmatrix}\n"
+" \\cos\\frac{\\theta}{2} & 0 & 0 & -i\\sin\\frac{\\theta}{2} "
+"\\\\\n"
+" 0 & \\cos\\frac{\\theta}{2} & -i\\sin\\frac{\\theta}{2} & 0 "
+"\\\\\n"
+" 0 & -i\\sin\\frac{\\theta}{2} & \\cos\\frac{\\theta}{2} & 0 "
+"\\\\\n"
+" -i\\sin\\frac{\\theta}{2} & 0 & 0 & \\cos\\frac{\\theta}{2}\n"
+" \\end{bmatrix}\n"
+"\\end{align}"
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.ryy:1
+msgid "Add RYY gates."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.ryy:5
+msgid ""
+"\\begin{align}\n"
+" RYY(\\theta) =\n"
+" \\begin{bmatrix}\n"
+" \\cos\\frac{\\theta}{2} & 0 & 0 & i\\sin\\frac{\\theta}{2} "
+"\\\\\n"
+" 0 & \\cos\\frac{\\theta}{2} & -i\\sin\\frac{\\theta}{2} & 0 "
+"\\\\\n"
+" 0 & -i\\sin\\frac{\\theta}{2} & \\cos\\frac{\\theta}{2} & 0 "
+"\\\\\n"
+" i\\sin\\frac{\\theta}{2} & 0 & 0 & cos\\frac{\\theta}{2}\n"
+" \\end{bmatrix}\n"
+"\\end{align}"
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.rzz:1
+msgid "Add RZZ gates."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.rzz:5
+msgid ""
+"\\begin{align}\n"
+" RZZ(\\theta) =\n"
+" \\begin{bmatrix}\n"
+" e^{-i\\frac{\\theta}{2}} & 0 & 0 & 0 \\\\\n"
+" 0 & e^{i\\frac{\\theta}{2}} & 0 & 0 \\\\\n"
+" 0 & 0 & e^{i\\frac{\\theta}{2}} & 0 \\\\\n"
+" 0 & 0 & 0 & e^{-i\\frac{\\theta}{2}}\n"
+" \\end{bmatrix}\n"
+"\\end{align}"
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.ms:1
+msgid "Add Mølmer-Sørensen (MS) gates."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.ms:5
+msgid ""
+"\\begin{align}\n"
+" MS = RXX(-\\frac{\\pi}{2}) = \\frac{1}{\\sqrt{2}}\n"
+" \\begin{bmatrix}\n"
+" 1 & 0 & 0 & i \\\\\n"
+" 0 & 1 & i & 0 \\\\\n"
+" 0 & i & 1 & 0 \\\\\n"
+" i & 0 & 0 & 1\n"
+" \\end{bmatrix}\n"
+"\\end{align}"
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.cswap:1
+msgid "Add CSWAP (Fredkin) gates."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.cswap:5
+msgid ""
+"\\begin{align}\n"
+" CSWAP =\n"
+" \\begin{bmatrix}\n"
+" 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\\\\n"
+" 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\\\\n"
+" 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 \\\\\n"
+" 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 \\\\\n"
+" 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 \\\\\n"
+" 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 \\\\\n"
+" 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 \\\\\n"
+" 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1\n"
+" \\end{bmatrix}\n"
+"\\end{align}"
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.ccx:1
+msgid "Add Toffoli gates."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.ccx:5
+msgid ""
+"\\begin{align}\n"
+" \\begin{bmatrix}\n"
+" 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\\\\n"
+" 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\\\\n"
+" 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 \\\\\n"
+" 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 \\\\\n"
+" 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 \\\\\n"
+" 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 \\\\\n"
+" 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 \\\\\n"
+" 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0\n"
+" \\end{bmatrix}\n"
+" \\end{align}"
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.universal_two_qubits:1
+msgid "Add universal two-qubit gates. One of such a gate requires 15 parameters."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.universal_three_qubits:1
+msgid ""
+"Add universal three-qubit gates. One of such a gate requires 81 "
+"parameters."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.universal_three_qubits
+msgid "Raises"
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.universal_three_qubits:9
+msgid "The ``param`` must be paddle.Tensor or float."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.oracle:1
+msgid "Add an oracle gate."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.control_oracle:3
+#: paddle_quantum.ansatz.circuit.Circuit.oracle:3
+msgid "Unitary oracle to be implemented."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.control_oracle:4
+#: paddle_quantum.ansatz.circuit.Circuit.oracle:4
+msgid "Indices of the qubits on which the gates are applied."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.control_oracle:1
+msgid "Add a controlled oracle gate."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.superposition_layer:1
+msgid "Add layers of Hadamard gates."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.weak_superposition_layer:1
+msgid "Add layers of Ry gates with a rotation angle :math:`\\pi/4`."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.linear_entangled_layer:1
+msgid ""
+"Add linear entangled layers consisting of Ry gates, Rz gates, and CNOT "
+"gates."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.real_entangled_layer:1
+msgid "Add strongly entangled layers consisting of Ry gates and CNOT gates."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.complex_entangled_layer:1
+msgid ""
+"Add strongly entangled layers consisting of single-qubit rotation gates "
+"and CNOT gates."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.real_block_layer:1
+msgid "Add weakly entangled layers consisting of Ry gates and CNOT gates."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.complex_block_layer:1
+msgid ""
+"Add weakly entangled layers consisting of single-qubit rotation gates and"
+" CNOT gates."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.bit_flip:1
+msgid "Add bit flip channels."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.bit_flip:3
+msgid "Probability of a bit flip."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.amplitude_damping:4
+#: paddle_quantum.ansatz.circuit.Circuit.bit_flip:4
+#: paddle_quantum.ansatz.circuit.Circuit.bit_phase_flip:4
+#: paddle_quantum.ansatz.circuit.Circuit.depolarizing:4
+#: paddle_quantum.ansatz.circuit.Circuit.generalized_amplitude_damping:5
+#: paddle_quantum.ansatz.circuit.Circuit.kraus_repr:4
+#: paddle_quantum.ansatz.circuit.Circuit.pauli_channel:4
+#: paddle_quantum.ansatz.circuit.Circuit.phase_damping:4
+#: paddle_quantum.ansatz.circuit.Circuit.phase_flip:4
+#: paddle_quantum.ansatz.circuit.Circuit.reset_channel:4
+#: paddle_quantum.ansatz.circuit.Circuit.thermal_relaxation:5
+msgid ""
+"Indices of the qubits on which the channels are applied. Defaults to "
+"'full'."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.phase_flip:1
+msgid "Add phase flip channels."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.phase_flip:3
+msgid "Probability of a phase flip."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.bit_phase_flip:1
+msgid "Add bit phase flip channels."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.bit_phase_flip:3
+msgid "Probability of a bit phase flip."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.amplitude_damping:1
+msgid "Add amplitude damping channels."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.amplitude_damping:3
+#: paddle_quantum.ansatz.circuit.Circuit.generalized_amplitude_damping:3
+msgid "Damping probability."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.generalized_amplitude_damping:1
+msgid "Add generalized amplitude damping channels."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.generalized_amplitude_damping:4
+msgid "Excitation probability."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.phase_damping:1
+msgid "Add phase damping channels."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.phase_damping:3
+msgid "Parameter of the phase damping channel."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.depolarizing:1
+msgid "Add depolarizing channels."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.depolarizing:3
+msgid "Parameter of the depolarizing channel."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.pauli_channel:1
+msgid "Add Pauli channels."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.pauli_channel:3
+msgid "Probabilities corresponding to the Pauli X, Y, and Z operators."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.reset_channel:1
+msgid "Add reset channels."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.reset_channel:3
+msgid ""
+"Probabilities of resetting to :math:`|0\\rangle` and to "
+":math:`|1\\rangle`."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.thermal_relaxation:1
+msgid "Add thermal relaxation channels."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.thermal_relaxation:3
+msgid ":math:`T_1` and :math:`T_2` relaxation time in microseconds."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.thermal_relaxation:4
+msgid "Quantum gate execution time in the process of relaxation in nanoseconds."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.kraus_repr:1
+msgid "Add custom channels in the Kraus representation."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.kraus_repr:3
+msgid "Kraus operators of this channel."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.unitary_matrix:1
+msgid "Get the unitary matrix form of the circuit."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.forward
+#: paddle_quantum.ansatz.circuit.Circuit.gate_history
+#: paddle_quantum.ansatz.circuit.Circuit.qubit_history
+#: paddle_quantum.ansatz.circuit.Circuit.unitary_matrix
+msgid "Returns"
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.unitary_matrix:5
+msgid "Unitary matrix form of the circuit."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.forward
+#: paddle_quantum.ansatz.circuit.Circuit.unitary_matrix
+msgid "Return type"
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.gate_history:1
+msgid "list of gates information of circuit"
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.gate_history:3
+msgid "history of quantum gates of circuit"
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.qubit_history:1
+msgid "gate information on each qubit"
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.qubit_history:3
+msgid "list of gate history on each qubit"
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.qubit_history:7
+msgid ""
+"The entry ``qubit_history[i][j][0/1]`` returns the gate information / "
+"gate index of the j-th gate applied on the i-th qubit."
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.forward:1
+msgid "forward the input"
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.forward:3
+msgid "initial state"
+msgstr ""
+
+#: of paddle_quantum.ansatz.circuit.Circuit.forward:5
+msgid "output quantum state"
+msgstr ""
+
diff --git a/docs/source/locale/en/LC_MESSAGES/paddle_quantum.ansatz.container.po b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.ansatz.container.po
new file mode 100644
index 0000000..22d0dce
--- /dev/null
+++ b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.ansatz.container.po
@@ -0,0 +1,116 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2022, Baidu Inc
+# This file is distributed under the same license as the paddle-quantum
+# package.
+# FIRST AUTHOR , 2022.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: paddle-quantum \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-05-17 11:08+0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: LANGUAGE \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.10.1\n"
+
+#: ../../source/paddle_quantum.ansatz.container.rst:2
+msgid "paddle\\_quantum.ansatz.container"
+msgstr ""
+
+#: of paddle_quantum.ansatz.container:1
+msgid "The source file of the Sequential class."
+msgstr ""
+
+#: of paddle_quantum.ansatz.container.Sequential:1
+msgid "Bases: :py:class:`~paddle_quantum.base.Operator`"
+msgstr ""
+
+#: of paddle_quantum.ansatz.container.Sequential:1
+msgid "Sequential container."
+msgstr ""
+
+#: of paddle_quantum.ansatz.container.Sequential
+#: paddle_quantum.ansatz.container.Sequential.append
+#: paddle_quantum.ansatz.container.Sequential.extend
+#: paddle_quantum.ansatz.container.Sequential.forward
+#: paddle_quantum.ansatz.container.Sequential.insert
+#: paddle_quantum.ansatz.container.Sequential.pop
+msgid "Parameters"
+msgstr ""
+
+#: of paddle_quantum.ansatz.container.Sequential:3
+msgid "initial operators ready to be a sequential"
+msgstr ""
+
+#: of paddle_quantum.ansatz.container.Sequential:7
+msgid ""
+"Sublayers will be added to this container in the order of argument in the"
+" constructor. The argument passed to the constructor can be iterable "
+"Layers or iterable name Layer pairs."
+msgstr ""
+
+#: of paddle_quantum.ansatz.container.Sequential.append:1
+msgid "append an operator"
+msgstr ""
+
+#: of paddle_quantum.ansatz.container.Sequential.append:3
+msgid "operator with a name or just an operator"
+msgstr ""
+
+#: of paddle_quantum.ansatz.container.Sequential.extend:1
+msgid "append a list of operators"
+msgstr ""
+
+#: of paddle_quantum.ansatz.container.Sequential.extend:3
+msgid "list of operators"
+msgstr ""
+
+#: of paddle_quantum.ansatz.container.Sequential.insert:1
+msgid "insert an operator at index ``index``"
+msgstr ""
+
+#: of paddle_quantum.ansatz.container.Sequential.insert:3
+msgid "index to be inserted"
+msgstr ""
+
+#: of paddle_quantum.ansatz.container.Sequential.insert:4
+msgid "an operator"
+msgstr ""
+
+#: of paddle_quantum.ansatz.container.Sequential.pop:1
+msgid "remove the operator at index ``index`` or matched with ``operator``"
+msgstr ""
+
+#: of paddle_quantum.ansatz.container.Sequential.pop:3
+msgid "at which the operator will be popped"
+msgstr ""
+
+#: of paddle_quantum.ansatz.container.Sequential.pop:4
+msgid "matched with which the operator will be popped"
+msgstr ""
+
+#: of paddle_quantum.ansatz.container.Sequential.forward:1
+msgid "forward the input"
+msgstr ""
+
+#: of paddle_quantum.ansatz.container.Sequential.forward:3
+msgid "initial state"
+msgstr ""
+
+#: of paddle_quantum.ansatz.container.Sequential.forward
+msgid "Returns"
+msgstr ""
+
+#: of paddle_quantum.ansatz.container.Sequential.forward:5
+msgid "output state"
+msgstr ""
+
+#: of paddle_quantum.ansatz.container.Sequential.forward
+msgid "Return type"
+msgstr ""
+
diff --git a/docs/source/locale/en/LC_MESSAGES/paddle_quantum.ansatz.po b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.ansatz.po
new file mode 100644
index 0000000..72b1617
--- /dev/null
+++ b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.ansatz.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2022, Baidu Inc
+# This file is distributed under the same license as the paddle-quantum
+# package.
+# FIRST AUTHOR , 2022.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: paddle-quantum \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-05-17 11:08+0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: LANGUAGE \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.10.1\n"
+
+#: ../../source/paddle_quantum.ansatz.rst:2
+msgid "paddle\\_quantum.ansatz"
+msgstr ""
+
+#: of paddle_quantum.ansatz:1
+msgid "The module that contains the various ansatzes."
+msgstr ""
+
+#: ../../source/paddle_quantum.ansatz.rst:9
+msgid "Submodules"
+msgstr ""
+
diff --git a/docs/source/locale/en/LC_MESSAGES/paddle_quantum.ansatz.vans.po b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.ansatz.vans.po
new file mode 100644
index 0000000..a2c39ae
--- /dev/null
+++ b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.ansatz.vans.po
@@ -0,0 +1,215 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2022, Baidu Inc
+# This file is distributed under the same license as the paddle-quantum
+# package.
+# FIRST AUTHOR , 2022.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: paddle-quantum \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-05-17 11:08+0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: LANGUAGE \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.10.1\n"
+
+#: ../../source/paddle_quantum.ansatz.vans.rst:2
+msgid "paddle\\_quantum.ansatz.vans"
+msgstr ""
+
+#: of paddle_quantum.ansatz.vans:1
+msgid "The source file of the variable ansatz."
+msgstr ""
+
+#: of paddle_quantum.ansatz.vans.Inserter:1
+#: paddle_quantum.ansatz.vans.Simplifier:1 paddle_quantum.ansatz.vans.VAns:1
+msgid "Bases: :py:class:`object`"
+msgstr ""
+
+#: of paddle_quantum.ansatz.vans.Inserter:1
+msgid "Class for block insertion for the circuit."
+msgstr ""
+
+#: of paddle_quantum.ansatz.vans.Inserter.insert_identities:1
+msgid ""
+"Insert identity blocks to the current circuit, according to the insert "
+"rate."
+msgstr ""
+
+#: of paddle_quantum.ansatz.vans.Inserter.insert_identities
+#: paddle_quantum.ansatz.vans.Simplifier.simplify_circuit
+#: paddle_quantum.ansatz.vans.VAns paddle_quantum.ansatz.vans.VAns.delete_gates
+#: paddle_quantum.ansatz.vans.VAns.optimization
+#: paddle_quantum.ansatz.vans.cir_decompose
+msgid "Parameters"
+msgstr ""
+
+#: of paddle_quantum.ansatz.vans.Inserter.insert_identities:3
+#: paddle_quantum.ansatz.vans.Simplifier.simplify_circuit:3
+#: paddle_quantum.ansatz.vans.VAns.delete_gates:3
+#: paddle_quantum.ansatz.vans.VAns.optimization:3
+msgid "Quantum circuit."
+msgstr ""
+
+#: of paddle_quantum.ansatz.vans.Inserter.insert_identities:4
+msgid "Rate of number of inserted blocks."
+msgstr ""
+
+#: of paddle_quantum.ansatz.vans.Inserter.insert_identities:5
+msgid "Range of random initialization of parameters."
+msgstr ""
+
+#: of paddle_quantum.ansatz.vans.Inserter.insert_identities
+#: paddle_quantum.ansatz.vans.Simplifier.simplify_circuit
+#: paddle_quantum.ansatz.vans.VAns.delete_gates
+#: paddle_quantum.ansatz.vans.VAns.optimization
+#: paddle_quantum.ansatz.vans.VAns.train
+#: paddle_quantum.ansatz.vans.cir_decompose
+msgid "Returns"
+msgstr ""
+
+#: of paddle_quantum.ansatz.vans.Inserter.insert_identities:7
+msgid "Inserted circuit."
+msgstr ""
+
+#: of paddle_quantum.ansatz.vans.Inserter.insert_identities
+#: paddle_quantum.ansatz.vans.Simplifier.simplify_circuit
+#: paddle_quantum.ansatz.vans.VAns.delete_gates
+#: paddle_quantum.ansatz.vans.VAns.optimization
+#: paddle_quantum.ansatz.vans.VAns.train
+#: paddle_quantum.ansatz.vans.cir_decompose
+msgid "Return type"
+msgstr ""
+
+#: of paddle_quantum.ansatz.vans.Simplifier:1
+msgid "Class for circuit simplification."
+msgstr ""
+
+#: of paddle_quantum.ansatz.vans.Simplifier.simplify_circuit:1
+msgid "Combine all simplifications together."
+msgstr ""
+
+#: of paddle_quantum.ansatz.vans.Simplifier.simplify_circuit:4
+#: paddle_quantum.ansatz.vans.VAns:17
+msgid "Whether the initial state is :math:`|0\\rangle`. Defaults to ``True``."
+msgstr ""
+
+#: of paddle_quantum.ansatz.vans.Simplifier.simplify_circuit:6
+msgid "Simplified circuit."
+msgstr ""
+
+#: of paddle_quantum.ansatz.vans.cir_decompose:1
+msgid "Decompose all layers of circuit into gates."
+msgstr ""
+
+#: of paddle_quantum.ansatz.vans.cir_decompose:3
+msgid "Target quantum circuit."
+msgstr ""
+
+#: of paddle_quantum.ansatz.vans.cir_decompose:5
+msgid ""
+"A quantum circuit with same structure and parameters but all layers are "
+"decomposed into Gates."
+msgstr ""
+
+#: of paddle_quantum.ansatz.vans.cir_decompose:7
+msgid ""
+"This function does not support customized gates, such as oracle and "
+"control-oracle."
+msgstr ""
+
+#: of paddle_quantum.ansatz.vans.VAns:1
+msgid "Class of Variable Ansatz."
+msgstr ""
+
+#: of paddle_quantum.ansatz.vans.VAns:3
+msgid ""
+"User can initialize this class to find variational circuit to construct "
+"QML model."
+msgstr ""
+
+#: of paddle_quantum.ansatz.vans.VAns:5
+msgid ""
+"The loss function passed in must have the quantum circuit as its first "
+"parameter."
+msgstr ""
+
+#: of paddle_quantum.ansatz.vans.VAns:7
+msgid "Number of qubits."
+msgstr ""
+
+#: of paddle_quantum.ansatz.vans.VAns:8
+msgid "Loss function that evaluate the loss of circuit."
+msgstr ""
+
+#: of paddle_quantum.ansatz.vans.VAns:9
+msgid "Parameters of loss function other than circuit."
+msgstr ""
+
+#: of paddle_quantum.ansatz.vans.VAns:10
+msgid "Range of random initialization of parameters. Defaults to ``0.1``."
+msgstr ""
+
+#: of paddle_quantum.ansatz.vans.VAns:11
+msgid "Rate of number of inserted blocks. Defaults to ``2``."
+msgstr ""
+
+#: of paddle_quantum.ansatz.vans.VAns:12
+msgid "Number of iterations of optimizer. Defaults to ``100``."
+msgstr ""
+
+#: of paddle_quantum.ansatz.vans.VAns:13
+msgid "Number of insert-simplify cycles. Defaults to ``10``."
+msgstr ""
+
+#: of paddle_quantum.ansatz.vans.VAns:14
+msgid "Learning rate. Defaults to ``0.1``."
+msgstr ""
+
+#: of paddle_quantum.ansatz.vans.VAns:15
+msgid ""
+"Tolerance of incread loss after deleting one qubit gate. Defaults to "
+"``0.002``."
+msgstr ""
+
+#: of paddle_quantum.ansatz.vans.VAns:16
+msgid ""
+"Percentage of probability of accepting the circuit in current insert-"
+"simplify cycle. Defaults to ``100``."
+msgstr ""
+
+#: of paddle_quantum.ansatz.vans.VAns.train:1
+msgid "Train the quantum circuit."
+msgstr ""
+
+#: of paddle_quantum.ansatz.vans.VAns.train:3
+msgid "The quantum circuit with the lowest loss."
+msgstr ""
+
+#: of paddle_quantum.ansatz.vans.VAns.optimization:1
+msgid "Optimize circuit parameters with loss function."
+msgstr ""
+
+#: of paddle_quantum.ansatz.vans.VAns.optimization:5
+msgid "Optimized loss."
+msgstr ""
+
+#: of paddle_quantum.ansatz.vans.VAns.delete_gates:1
+msgid ""
+"Remove single qubit gates if the loss decreases or increases within a "
+"threshold."
+msgstr ""
+
+#: of paddle_quantum.ansatz.vans.VAns.delete_gates:4
+msgid "Current loss."
+msgstr ""
+
+#: of paddle_quantum.ansatz.vans.VAns.delete_gates:6
+msgid "Circuit after deleting unnecessary gates."
+msgstr ""
+
diff --git a/docs/source/locale/en/LC_MESSAGES/paddle_quantum.backend.density_matrix.po b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.backend.density_matrix.po
new file mode 100644
index 0000000..dfdfd3d
--- /dev/null
+++ b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.backend.density_matrix.po
@@ -0,0 +1,64 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2022, Baidu Inc
+# This file is distributed under the same license as the paddle-quantum
+# package.
+# FIRST AUTHOR , 2022.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: paddle-quantum \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-05-17 11:08+0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: LANGUAGE \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.10.1\n"
+
+#: ../../source/paddle_quantum.backend.density_matrix.rst:2
+msgid "paddle\\_quantum.backend.density\\_matrix"
+msgstr ""
+
+#: of paddle_quantum.backend.density_matrix:1
+msgid "The source file of the density_matrix backend."
+msgstr ""
+
+#: of paddle_quantum.backend.density_matrix.unitary_transformation:1
+msgid "The function of unitary transformation in the mode of density matrix."
+msgstr ""
+
+#: of paddle_quantum.backend.density_matrix.unitary_transformation
+msgid "Parameters"
+msgstr ""
+
+#: of paddle_quantum.backend.density_matrix.unitary_transformation:3
+msgid "The input quantum state."
+msgstr ""
+
+#: of paddle_quantum.backend.density_matrix.unitary_transformation:4
+msgid "The gate that represents the unitary transformation."
+msgstr ""
+
+#: of paddle_quantum.backend.density_matrix.unitary_transformation:5
+msgid "The indices of the qubits on which the gate is acted."
+msgstr ""
+
+#: of paddle_quantum.backend.density_matrix.unitary_transformation:6
+msgid "The number of the qubits in the input quantum state."
+msgstr ""
+
+#: of paddle_quantum.backend.density_matrix.unitary_transformation
+msgid "Returns"
+msgstr ""
+
+#: of paddle_quantum.backend.density_matrix.unitary_transformation:8
+msgid "The transformed quantum state."
+msgstr ""
+
+#: of paddle_quantum.backend.density_matrix.unitary_transformation
+msgid "Return type"
+msgstr ""
+
diff --git a/docs/source/locale/en/LC_MESSAGES/paddle_quantum.backend.po b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.backend.po
new file mode 100644
index 0000000..af99d55
--- /dev/null
+++ b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.backend.po
@@ -0,0 +1,40 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2022, Baidu Inc
+# This file is distributed under the same license as the paddle-quantum
+# package.
+# FIRST AUTHOR , 2022.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: paddle-quantum \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-05-17 11:08+0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: LANGUAGE \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.10.1\n"
+
+#: ../../source/paddle_quantum.backend.rst:2
+msgid "paddle\\_quantum.backend"
+msgstr ""
+
+#: of paddle_quantum.backend:1
+msgid "The module that contains various backends."
+msgstr ""
+
+#: of paddle_quantum.backend.Backend:1
+msgid "Bases: :py:class:`~enum.Enum`"
+msgstr ""
+
+#: of paddle_quantum.backend.Backend:1
+msgid "An enumeration."
+msgstr ""
+
+#: ../../source/paddle_quantum.backend.rst:10
+msgid "Submodules"
+msgstr ""
+
diff --git a/docs/source/locale/en/LC_MESSAGES/paddle_quantum.backend.quleaf.po b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.backend.quleaf.po
new file mode 100644
index 0000000..3afa8a5
--- /dev/null
+++ b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.backend.quleaf.po
@@ -0,0 +1,137 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2022, Baidu Inc
+# This file is distributed under the same license as the paddle-quantum
+# package.
+# FIRST AUTHOR , 2022.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: paddle-quantum \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-05-17 11:08+0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: LANGUAGE \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.10.1\n"
+
+#: ../../source/paddle_quantum.backend.quleaf.rst:2
+msgid "paddle\\_quantum.backend.quleaf"
+msgstr ""
+
+#: of paddle_quantum.backend.quleaf:1
+msgid "The source file of the quleaf backend."
+msgstr ""
+
+#: of paddle_quantum.backend.quleaf.set_quleaf_backend:1
+msgid "Set the backend of the QuLeaf."
+msgstr ""
+
+#: of paddle_quantum.backend.quleaf.ExpecValOp.backward
+#: paddle_quantum.backend.quleaf.ExpecValOp.forward
+#: paddle_quantum.backend.quleaf.set_quleaf_backend
+#: paddle_quantum.backend.quleaf.set_quleaf_token
+msgid "Parameters"
+msgstr ""
+
+#: of paddle_quantum.backend.quleaf.set_quleaf_backend:3
+msgid "The backend you want to set."
+msgstr ""
+
+#: of paddle_quantum.backend.quleaf.get_quleaf_backend:1
+msgid "Get the current backend of the QuLeaf."
+msgstr ""
+
+#: of paddle_quantum.backend.quleaf.ExpecValOp.backward
+#: paddle_quantum.backend.quleaf.ExpecValOp.forward
+#: paddle_quantum.backend.quleaf.get_quleaf_backend
+#: paddle_quantum.backend.quleaf.get_quleaf_token
+msgid "Returns"
+msgstr ""
+
+#: of paddle_quantum.backend.quleaf.get_quleaf_backend:3
+msgid "Current backend of the QuLeaf."
+msgstr ""
+
+#: of paddle_quantum.backend.quleaf.ExpecValOp.backward
+#: paddle_quantum.backend.quleaf.ExpecValOp.forward
+#: paddle_quantum.backend.quleaf.get_quleaf_backend
+#: paddle_quantum.backend.quleaf.get_quleaf_token
+msgid "Return type"
+msgstr ""
+
+#: of paddle_quantum.backend.quleaf.set_quleaf_token:1
+msgid "Set the token of the QuLeaf."
+msgstr ""
+
+#: of paddle_quantum.backend.quleaf.set_quleaf_token:3
+msgid "You need to input your token if you want tu use the cloud server."
+msgstr ""
+
+#: of paddle_quantum.backend.quleaf.set_quleaf_token:5
+msgid "Your token."
+msgstr ""
+
+#: of paddle_quantum.backend.quleaf.get_quleaf_token:1
+msgid "Get the token you set."
+msgstr ""
+
+#: of paddle_quantum.backend.quleaf.get_quleaf_token:3
+msgid "The token you set."
+msgstr ""
+
+#: of paddle_quantum.backend.quleaf.ExpecValOp:1
+msgid "Bases: :py:class:`~paddle.autograd.py_layer.PyLayer`"
+msgstr ""
+
+#: of paddle_quantum.backend.quleaf.ExpecValOp.forward:1
+msgid ""
+"The forward function to compute the expectation value of the observable "
+"in the QuLeaf Backend."
+msgstr ""
+
+#: of paddle_quantum.backend.quleaf.ExpecValOp.forward:3
+msgid "To save some variables so that they can be used in the backward function."
+msgstr ""
+
+#: of paddle_quantum.backend.quleaf.ExpecValOp.forward:4
+msgid "The parameters in the previous quantum gates."
+msgstr ""
+
+#: of paddle_quantum.backend.quleaf.ExpecValOp.forward:5
+msgid "The quantum state to be measured."
+msgstr ""
+
+#: of paddle_quantum.backend.quleaf.ExpecValOp.forward:6
+msgid "The observable."
+msgstr ""
+
+#: of paddle_quantum.backend.quleaf.ExpecValOp.forward:7
+msgid "The number of measurement shots."
+msgstr ""
+
+#: of paddle_quantum.backend.quleaf.ExpecValOp.forward:9
+msgid "The expectation value of the observable for the input state."
+msgstr ""
+
+#: of paddle_quantum.backend.quleaf.ExpecValOp.backward:1
+msgid ""
+"The backward function which is to compute the gradient of the input "
+"parameters."
+msgstr ""
+
+#: of paddle_quantum.backend.quleaf.ExpecValOp.backward:3
+msgid "To get the variables saved in the forward function."
+msgstr ""
+
+#: of paddle_quantum.backend.quleaf.ExpecValOp.backward:4
+msgid "The gradient of the expectation value."
+msgstr ""
+
+#: of paddle_quantum.backend.quleaf.ExpecValOp.backward:6
+msgid "The gradient of the parameters for the quantum gates."
+msgstr ""
+
diff --git a/docs/source/locale/en/LC_MESSAGES/paddle_quantum.backend.state_vector.po b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.backend.state_vector.po
new file mode 100644
index 0000000..dcce477
--- /dev/null
+++ b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.backend.state_vector.po
@@ -0,0 +1,64 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2022, Baidu Inc
+# This file is distributed under the same license as the paddle-quantum
+# package.
+# FIRST AUTHOR , 2022.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: paddle-quantum \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-05-17 11:08+0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: LANGUAGE \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.10.1\n"
+
+#: ../../source/paddle_quantum.backend.state_vector.rst:2
+msgid "paddle\\_quantum.backend.state\\_vector"
+msgstr ""
+
+#: of paddle_quantum.backend.state_vector:1
+msgid "The source file of the state_vector backend."
+msgstr ""
+
+#: of paddle_quantum.backend.state_vector.unitary_transformation:1
+msgid "The function of unitary transformation in the mode of state vector."
+msgstr ""
+
+#: of paddle_quantum.backend.state_vector.unitary_transformation
+msgid "Parameters"
+msgstr ""
+
+#: of paddle_quantum.backend.state_vector.unitary_transformation:3
+msgid "The input quantum state."
+msgstr ""
+
+#: of paddle_quantum.backend.state_vector.unitary_transformation:4
+msgid "The gate that represents the unitary transformation."
+msgstr ""
+
+#: of paddle_quantum.backend.state_vector.unitary_transformation:5
+msgid "The indices of the qubits on which the gate is acted."
+msgstr ""
+
+#: of paddle_quantum.backend.state_vector.unitary_transformation:6
+msgid "The number of the qubits in the input quantum state."
+msgstr ""
+
+#: of paddle_quantum.backend.state_vector.unitary_transformation
+msgid "Returns"
+msgstr ""
+
+#: of paddle_quantum.backend.state_vector.unitary_transformation:8
+msgid "The transformed quantum state."
+msgstr ""
+
+#: of paddle_quantum.backend.state_vector.unitary_transformation
+msgid "Return type"
+msgstr ""
+
diff --git a/docs/source/locale/en/LC_MESSAGES/paddle_quantum.backend.unitary_matrix.po b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.backend.unitary_matrix.po
new file mode 100644
index 0000000..fce80d9
--- /dev/null
+++ b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.backend.unitary_matrix.po
@@ -0,0 +1,66 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2022, Baidu Inc
+# This file is distributed under the same license as the paddle-quantum
+# package.
+# FIRST AUTHOR , 2022.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: paddle-quantum \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-05-17 11:08+0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: LANGUAGE \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.10.1\n"
+
+#: ../../source/paddle_quantum.backend.unitary_matrix.rst:2
+msgid "paddle\\_quantum.backend.unitary\\_matrix"
+msgstr ""
+
+#: of paddle_quantum.backend.unitary_matrix:1
+msgid "The source file of the unitary_matrix backend."
+msgstr ""
+
+#: of paddle_quantum.backend.unitary_matrix.unitary_transformation:1
+msgid ""
+"The function of unitary transformation in the mode of computing the "
+"unitary matrix."
+msgstr ""
+
+#: of paddle_quantum.backend.unitary_matrix.unitary_transformation
+msgid "Parameters"
+msgstr ""
+
+#: of paddle_quantum.backend.unitary_matrix.unitary_transformation:3
+msgid "The input quantum state."
+msgstr ""
+
+#: of paddle_quantum.backend.unitary_matrix.unitary_transformation:4
+msgid "The gate that represents the unitary transformation."
+msgstr ""
+
+#: of paddle_quantum.backend.unitary_matrix.unitary_transformation:5
+msgid "The indices of the qubits on which the gate is acted."
+msgstr ""
+
+#: of paddle_quantum.backend.unitary_matrix.unitary_transformation:6
+msgid "The number of the qubits in the input quantum state."
+msgstr ""
+
+#: of paddle_quantum.backend.unitary_matrix.unitary_transformation
+msgid "Returns"
+msgstr ""
+
+#: of paddle_quantum.backend.unitary_matrix.unitary_transformation:8
+msgid "The transformed quantum state."
+msgstr ""
+
+#: of paddle_quantum.backend.unitary_matrix.unitary_transformation
+msgid "Return type"
+msgstr ""
+
diff --git a/docs/source/locale/en/LC_MESSAGES/paddle_quantum.base.po b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.base.po
new file mode 100644
index 0000000..47308ee
--- /dev/null
+++ b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.base.po
@@ -0,0 +1,123 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2022, Baidu Inc
+# This file is distributed under the same license as the paddle-quantum
+# package.
+# FIRST AUTHOR , 2022.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: paddle-quantum \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-05-17 11:08+0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: LANGUAGE \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.10.1\n"
+
+#: ../../source/paddle_quantum.base.rst:2
+msgid "paddle\\_quantum.base"
+msgstr ""
+
+#: of paddle_quantum.base:1
+msgid "The basic function of the paddle quantum."
+msgstr ""
+
+#: of paddle_quantum.base.set_device:1
+msgid "Set the device to save the tensor."
+msgstr ""
+
+#: of paddle_quantum.base.Operator paddle_quantum.base.set_backend
+#: paddle_quantum.base.set_device paddle_quantum.base.set_dtype
+msgid "Parameters"
+msgstr ""
+
+#: of paddle_quantum.base.set_device:3
+msgid "The name of the device."
+msgstr ""
+
+#: of paddle_quantum.base.get_device:1
+msgid "Get the current device to save the tensor."
+msgstr ""
+
+#: of paddle_quantum.base.get_backend paddle_quantum.base.get_device
+#: paddle_quantum.base.get_dtype
+msgid "Returns"
+msgstr ""
+
+#: of paddle_quantum.base.get_device:3
+msgid "The name of the current device."
+msgstr ""
+
+#: of paddle_quantum.base.get_backend paddle_quantum.base.get_device
+#: paddle_quantum.base.get_dtype
+msgid "Return type"
+msgstr ""
+
+#: of paddle_quantum.base.set_backend:1
+msgid "Set the backend implementation of paddle quantum."
+msgstr ""
+
+#: of paddle_quantum.base.set_backend:3
+msgid "The name of the backend."
+msgstr ""
+
+#: of paddle_quantum.base.get_backend:1
+msgid "Get the current backend of paddle quantum."
+msgstr ""
+
+#: of paddle_quantum.base.get_backend:3
+msgid "The name of currently used backend."
+msgstr ""
+
+#: of paddle_quantum.base.set_dtype:1
+msgid "Set the data type ."
+msgstr ""
+
+#: of paddle_quantum.base.set_dtype:3
+msgid "The dtype can be ``complex64`` and ``complex128``."
+msgstr ""
+
+#: of paddle_quantum.base.set_dtype
+msgid "Raises"
+msgstr ""
+
+#: of paddle_quantum.base.set_dtype:5
+msgid "The dtype should be complex64 or complex128."
+msgstr ""
+
+#: of paddle_quantum.base.get_dtype:1
+msgid "Return currently used data type."
+msgstr ""
+
+#: of paddle_quantum.base.get_dtype:3
+msgid "Currently used data type."
+msgstr ""
+
+#: of paddle_quantum.base.Operator:1
+msgid "Bases: :py:class:`~paddle.fluid.dygraph.layers.Layer`"
+msgstr ""
+
+#: of paddle_quantum.base.Operator:1
+msgid "The basic class to implement the quantum operation."
+msgstr ""
+
+#: of paddle_quantum.base.Operator:3
+msgid ""
+"The backend implementation of the operator. Defaults to ``None``, which "
+"means to use the default backend implementation."
+msgstr ""
+
+#: of paddle_quantum.base.Operator:5
+msgid ""
+"The data type of the operator. Defaults to ``None``, which means to use "
+"the default data type."
+msgstr ""
+
+#: of paddle_quantum.base.Operator:7
+msgid "Prefix name used by the operator to name parameters. Defaults to ``None``."
+msgstr ""
+
diff --git a/docs/source/locale/en/LC_MESSAGES/paddle_quantum.channel.base.po b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.channel.base.po
new file mode 100644
index 0000000..6a4e1b7
--- /dev/null
+++ b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.channel.base.po
@@ -0,0 +1,57 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2022, Baidu Inc
+# This file is distributed under the same license as the paddle-quantum
+# package.
+# FIRST AUTHOR , 2022.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: paddle-quantum \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-05-17 11:08+0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: LANGUAGE \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.10.1\n"
+
+#: ../../source/paddle_quantum.channel.base.rst:2
+msgid "paddle\\_quantum.channel.base"
+msgstr ""
+
+#: of paddle_quantum.channel.base:1
+msgid "The source file of the basic class for the quantum channels."
+msgstr ""
+
+#: of paddle_quantum.channel.base.Channel:1
+msgid "Bases: :py:class:`~paddle_quantum.base.Operator`"
+msgstr ""
+
+#: of paddle_quantum.channel.base.Channel:1
+msgid "Basic class for quantum channels."
+msgstr ""
+
+#: of paddle_quantum.channel.base.Channel
+msgid "Parameters"
+msgstr ""
+
+#: of paddle_quantum.channel.base.Channel:3
+msgid "Backend on which the channel is executed. Defaults to ``None``."
+msgstr ""
+
+#: of paddle_quantum.channel.base.Channel:4
+msgid "Type of data. Defaults to ``None``."
+msgstr ""
+
+#: of paddle_quantum.channel.base.Channel:5
+msgid ""
+"Prefix name used by the layer to name parameters. If prefix is "
+"\"my_layer\", parameter name in MyLayer can be \"my_layer_0.w_n\", where "
+"\"w\" is the parameter base name and \"n\" is an unique suffix auto-"
+"generated. If ``None``, prefix name will be snake cased class name. "
+"Defaults to ``None``."
+msgstr ""
+
diff --git a/docs/source/locale/en/LC_MESSAGES/paddle_quantum.channel.common.po b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.channel.common.po
new file mode 100644
index 0000000..df1051a
--- /dev/null
+++ b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.channel.common.po
@@ -0,0 +1,310 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2022, Baidu Inc
+# This file is distributed under the same license as the paddle-quantum
+# package.
+# FIRST AUTHOR , 2022.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: paddle-quantum \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-05-17 11:08+0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: LANGUAGE \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.10.1\n"
+
+#: ../../source/paddle_quantum.channel.common.rst:2
+msgid "paddle\\_quantum.channel.common"
+msgstr ""
+
+#: of paddle_quantum.channel.common:1
+msgid "The source file of the classes for several quantum channel."
+msgstr ""
+
+#: of paddle_quantum.channel.common.AmplitudeDamping:1
+#: paddle_quantum.channel.common.BitFlip:1
+#: paddle_quantum.channel.common.BitPhaseFlip:1
+#: paddle_quantum.channel.common.Depolarizing:1
+#: paddle_quantum.channel.common.GeneralizedAmplitudeDamping:1
+#: paddle_quantum.channel.common.PauliChannel:1
+#: paddle_quantum.channel.common.PhaseDamping:1
+#: paddle_quantum.channel.common.PhaseFlip:1
+#: paddle_quantum.channel.common.ResetChannel:1
+#: paddle_quantum.channel.common.ThermalRelaxation:1
+msgid "Bases: :py:class:`~paddle_quantum.channel.base.Channel`"
+msgstr ""
+
+#: of paddle_quantum.channel.common.BitFlip:1
+msgid "A collection of bit flip channels."
+msgstr ""
+
+#: of paddle_quantum.channel.common.AmplitudeDamping:3
+#: paddle_quantum.channel.common.BitFlip:3
+#: paddle_quantum.channel.common.BitPhaseFlip:3
+#: paddle_quantum.channel.common.Depolarizing:3
+#: paddle_quantum.channel.common.GeneralizedAmplitudeDamping:3
+#: paddle_quantum.channel.common.PhaseDamping:3
+#: paddle_quantum.channel.common.PhaseFlip:3
+msgid "Such a channel's Kraus operators are"
+msgstr ""
+
+#: of paddle_quantum.channel.common.BitFlip:5
+msgid ""
+"E_0 = \\sqrt{1-p} I,\n"
+"E_1 = \\sqrt{p} X."
+msgstr ""
+
+#: of paddle_quantum.channel.common.AmplitudeDamping
+#: paddle_quantum.channel.common.BitFlip
+#: paddle_quantum.channel.common.BitPhaseFlip
+#: paddle_quantum.channel.common.Depolarizing
+#: paddle_quantum.channel.common.GeneralizedAmplitudeDamping
+#: paddle_quantum.channel.common.PauliChannel
+#: paddle_quantum.channel.common.PhaseDamping
+#: paddle_quantum.channel.common.PhaseFlip
+#: paddle_quantum.channel.common.ResetChannel
+#: paddle_quantum.channel.common.ThermalRelaxation
+msgid "Parameters"
+msgstr ""
+
+#: of paddle_quantum.channel.common.BitFlip:10
+msgid ""
+"Probability of a bit flip. Its value should be in the range :math:`[0, "
+"1]`."
+msgstr ""
+
+#: of paddle_quantum.channel.common.AmplitudeDamping:19
+#: paddle_quantum.channel.common.BitFlip:11
+#: paddle_quantum.channel.common.BitPhaseFlip:11
+#: paddle_quantum.channel.common.Depolarizing:13
+#: paddle_quantum.channel.common.GeneralizedAmplitudeDamping:18
+#: paddle_quantum.channel.common.PauliChannel:5
+#: paddle_quantum.channel.common.PhaseDamping:19
+#: paddle_quantum.channel.common.PhaseFlip:11
+#: paddle_quantum.channel.common.ResetChannel:32
+#: paddle_quantum.channel.common.ThermalRelaxation:7
+msgid "Indices of the qubits on which the channels act. Defaults to ``'full'``."
+msgstr ""
+
+#: of paddle_quantum.channel.common.AmplitudeDamping:20
+#: paddle_quantum.channel.common.BitFlip:12
+#: paddle_quantum.channel.common.BitPhaseFlip:12
+#: paddle_quantum.channel.common.Depolarizing:14
+#: paddle_quantum.channel.common.GeneralizedAmplitudeDamping:19
+#: paddle_quantum.channel.common.PauliChannel:6
+#: paddle_quantum.channel.common.PhaseDamping:20
+#: paddle_quantum.channel.common.PhaseFlip:12
+#: paddle_quantum.channel.common.ResetChannel:33
+#: paddle_quantum.channel.common.ThermalRelaxation:8
+msgid "Total number of qubits. Defaults to ``None``."
+msgstr ""
+
+#: of paddle_quantum.channel.common.PhaseFlip:1
+msgid "A collection of phase flip channels."
+msgstr ""
+
+#: of paddle_quantum.channel.common.PhaseFlip:5
+msgid ""
+"E_0 = \\sqrt{1 - p} I,\n"
+"E_1 = \\sqrt{p} Z."
+msgstr ""
+
+#: of paddle_quantum.channel.common.PhaseFlip:10
+msgid ""
+"Probability of a phase flip. Its value should be in the range :math:`[0, "
+"1]`."
+msgstr ""
+
+#: of paddle_quantum.channel.common.BitPhaseFlip:1
+msgid "A collection of bit phase flip channels."
+msgstr ""
+
+#: of paddle_quantum.channel.common.BitPhaseFlip:5
+msgid ""
+"E_0 = \\sqrt{1 - p} I,\n"
+"E_1 = \\sqrt{p} Y."
+msgstr ""
+
+#: of paddle_quantum.channel.common.BitPhaseFlip:10
+msgid ""
+"Probability of a bit phase flip. Its value should be in the range "
+":math:`[0, 1]`."
+msgstr ""
+
+#: of paddle_quantum.channel.common.AmplitudeDamping:1
+msgid "A collection of amplitude damping channels."
+msgstr ""
+
+#: of paddle_quantum.channel.common.AmplitudeDamping:5
+msgid ""
+"E_0 =\n"
+"\\begin{bmatrix}\n"
+" 1 & 0 \\\\\n"
+" 0 & \\sqrt{1-\\gamma}\n"
+"\\end{bmatrix},\n"
+"E_1 =\n"
+"\\begin{bmatrix}\n"
+" 0 & \\sqrt{\\gamma} \\\\\n"
+" 0 & 0\n"
+"\\end{bmatrix}."
+msgstr ""
+
+#: of paddle_quantum.channel.common.AmplitudeDamping:18
+#: paddle_quantum.channel.common.GeneralizedAmplitudeDamping:16
+msgid "Damping probability. Its value should be in the range :math:`[0, 1]`."
+msgstr ""
+
+#: of paddle_quantum.channel.common.GeneralizedAmplitudeDamping:1
+msgid "A collection of generalized amplitude damping channels."
+msgstr ""
+
+#: of paddle_quantum.channel.common.GeneralizedAmplitudeDamping:5
+msgid ""
+"E_0 = \\sqrt{p}\n"
+"\\begin{bmatrix}\n"
+" 1 & 0 \\\\\n"
+" 0 & \\sqrt{1-\\gamma}\n"
+"\\end{bmatrix},\n"
+"E_1 = \\sqrt{p} \\begin{bmatrix} 0 & \\sqrt{\\gamma} \\\\ 0 & 0 "
+"\\end{bmatrix},\\\\\n"
+"E_2 = \\sqrt{1-p} \\begin{bmatrix} \\sqrt{1-\\gamma} & 0 \\\\ 0 & 1 "
+"\\end{bmatrix},\n"
+"E_3 = \\sqrt{1-p} \\begin{bmatrix} 0 & 0 \\\\ \\sqrt{\\gamma} & 0 "
+"\\end{bmatrix}."
+msgstr ""
+
+#: of paddle_quantum.channel.common.GeneralizedAmplitudeDamping:17
+msgid "Excitation probability. Its value should be in the range :math:`[0, 1]`."
+msgstr ""
+
+#: of paddle_quantum.channel.common.PhaseDamping:1
+msgid "A collection of phase damping channels."
+msgstr ""
+
+#: of paddle_quantum.channel.common.PhaseDamping:5
+msgid ""
+"E_0 =\n"
+"\\begin{bmatrix}\n"
+" 1 & 0 \\\\\n"
+" 0 & \\sqrt{1-\\gamma}\n"
+"\\end{bmatrix},\n"
+"E_1 =\n"
+"\\begin{bmatrix}\n"
+" 0 & 0 \\\\\n"
+" 0 & \\sqrt{\\gamma}\n"
+"\\end{bmatrix}."
+msgstr ""
+
+#: of paddle_quantum.channel.common.PhaseDamping:18
+msgid ""
+"Parameter of the phase damping channels. Its value should be in the range"
+" :math:`[0, 1]`."
+msgstr ""
+
+#: of paddle_quantum.channel.common.Depolarizing:1
+msgid "A collection of depolarizing channels."
+msgstr ""
+
+#: of paddle_quantum.channel.common.Depolarizing:5
+msgid ""
+"E_0 = \\sqrt{1-p} I,\n"
+"E_1 = \\sqrt{p/3} X,\n"
+"E_2 = \\sqrt{p/3} Y,\n"
+"E_3 = \\sqrt{p/3} Z."
+msgstr ""
+
+#: of paddle_quantum.channel.common.Depolarizing:12
+msgid ""
+"Parameter of the depolarizing channels. Its value should be in the range "
+":math:`[0, 1]`."
+msgstr ""
+
+#: of paddle_quantum.channel.common.PauliChannel:1
+msgid "A collection of Pauli channels."
+msgstr ""
+
+#: of paddle_quantum.channel.common.PauliChannel:3
+msgid ""
+"Probabilities corresponding to the Pauli X, Y, and Z operators. Each "
+"value should be in the range :math:`[0, 1]`."
+msgstr ""
+
+#: of paddle_quantum.channel.common.PauliChannel:8
+msgid "The sum of three input probabilities should be less than or equal to 1."
+msgstr ""
+
+#: of paddle_quantum.channel.common.ResetChannel:1
+msgid "A collection of reset channels."
+msgstr ""
+
+#: of paddle_quantum.channel.common.ResetChannel:3
+msgid ""
+"Such a channel reset the state to :math:`|0\\rangle` with a probability "
+"of p and to :math:`|1\\rangle` with a probability of q. Its Kraus "
+"operators are"
+msgstr ""
+
+#: of paddle_quantum.channel.common.ResetChannel:6
+msgid ""
+"E_0 =\n"
+"\\begin{bmatrix}\n"
+" \\sqrt{p} & 0 \\\\\n"
+" 0 & 0\n"
+"\\end{bmatrix},\n"
+"E_1 =\n"
+"\\begin{bmatrix}\n"
+" 0 & \\sqrt{p} \\\\\n"
+" 0 & 0\n"
+"\\end{bmatrix},\\\\\n"
+"E_2 =\n"
+"\\begin{bmatrix}\n"
+" 0 & 0 \\\\\n"
+" \\sqrt{q} & 0\n"
+"\\end{bmatrix},\n"
+"E_3 =\n"
+"\\begin{bmatrix}\n"
+" 0 & 0 \\\\\n"
+" 0 & \\sqrt{q}\n"
+"\\end{bmatrix},\\\\\n"
+"E_4 = \\sqrt{1-p-q} I."
+msgstr ""
+
+#: of paddle_quantum.channel.common.ResetChannel:30
+msgid ""
+"Probabilities of resetting to :math:`|0\\rangle` and to "
+":math:`|1\\rangle`. Each value should be in the range :math:`[0, 1]`."
+msgstr ""
+
+#: of paddle_quantum.channel.common.ResetChannel:35
+msgid "The sum of two input probabilities should be less than or equal to 1."
+msgstr ""
+
+#: of paddle_quantum.channel.common.ThermalRelaxation:1
+msgid "A collection of thermal relaxation channels."
+msgstr ""
+
+#: of paddle_quantum.channel.common.ThermalRelaxation:3
+msgid ""
+"Such a channel simulates the mixture of the :math:`T_1` and the "
+":math:`T_2` processes on superconducting devices."
+msgstr ""
+
+#: of paddle_quantum.channel.common.ThermalRelaxation:5
+msgid ":math:`T_1` and :math:`T_2` relaxation time in microseconds."
+msgstr ""
+
+#: of paddle_quantum.channel.common.ThermalRelaxation:6
+msgid "Quantum gate execution time in the process of relaxation in nanoseconds."
+msgstr ""
+
+#: of paddle_quantum.channel.common.ThermalRelaxation:10
+msgid ""
+"Relaxation time must satisfy :math:`T_2 \\le T_1`. For reference please "
+"see https://arxiv.org/abs/2101.02109."
+msgstr ""
+
diff --git a/docs/source/locale/en/LC_MESSAGES/paddle_quantum.channel.custom.po b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.channel.custom.po
new file mode 100644
index 0000000..b51a14b
--- /dev/null
+++ b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.channel.custom.po
@@ -0,0 +1,52 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2022, Baidu Inc
+# This file is distributed under the same license as the paddle-quantum
+# package.
+# FIRST AUTHOR , 2022.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: paddle-quantum \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-05-17 11:08+0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: LANGUAGE \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.10.1\n"
+
+#: ../../source/paddle_quantum.channel.custom.rst:2
+msgid "paddle\\_quantum.channel.custom"
+msgstr ""
+
+#: of paddle_quantum.channel.custom:1
+msgid "The source file of the classes for custom quantum channels."
+msgstr ""
+
+#: of paddle_quantum.channel.custom.KrausRepr:1
+msgid "Bases: :py:class:`~paddle_quantum.channel.base.Channel`"
+msgstr ""
+
+#: of paddle_quantum.channel.custom.KrausRepr:1
+msgid "A custom channel in Kraus representation."
+msgstr ""
+
+#: of paddle_quantum.channel.custom.KrausRepr
+msgid "Parameters"
+msgstr ""
+
+#: of paddle_quantum.channel.custom.KrausRepr:3
+msgid "Kraus operators of this channel."
+msgstr ""
+
+#: of paddle_quantum.channel.custom.KrausRepr:4
+msgid "Indices of the qubits on which this channel acts."
+msgstr ""
+
+#: of paddle_quantum.channel.custom.KrausRepr:5
+msgid "Total number of qubits. Defaults to ``None``."
+msgstr ""
+
diff --git a/docs/source/locale/en/LC_MESSAGES/paddle_quantum.channel.functional.common.po b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.channel.functional.common.po
new file mode 100644
index 0000000..a8999db
--- /dev/null
+++ b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.channel.functional.common.po
@@ -0,0 +1,263 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2022, Baidu Inc
+# This file is distributed under the same license as the paddle-quantum
+# package.
+# FIRST AUTHOR , 2022.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: paddle-quantum \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-05-17 11:08+0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: LANGUAGE \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.10.1\n"
+
+#: ../../source/paddle_quantum.channel.functional.common.rst:2
+msgid "paddle\\_quantum.channel.functional.common"
+msgstr ""
+
+#: of paddle_quantum.channel.functional.common:1
+msgid "The source file of the various quantum channels."
+msgstr ""
+
+#: of paddle_quantum.channel.functional.common.bit_flip:1
+msgid "Apply a bit flip channel on the input state."
+msgstr ""
+
+#: of paddle_quantum.channel.functional.common.amplitude_damping
+#: paddle_quantum.channel.functional.common.bit_flip
+#: paddle_quantum.channel.functional.common.bit_phase_flip
+#: paddle_quantum.channel.functional.common.depolarizing
+#: paddle_quantum.channel.functional.common.generalized_amplitude_damping
+#: paddle_quantum.channel.functional.common.kraus_repr
+#: paddle_quantum.channel.functional.common.pauli_channel
+#: paddle_quantum.channel.functional.common.phase_damping
+#: paddle_quantum.channel.functional.common.phase_flip
+#: paddle_quantum.channel.functional.common.reset_channel
+#: paddle_quantum.channel.functional.common.thermal_relaxation
+msgid "Parameters"
+msgstr ""
+
+#: of paddle_quantum.channel.functional.common.amplitude_damping:3
+#: paddle_quantum.channel.functional.common.bit_flip:3
+#: paddle_quantum.channel.functional.common.bit_phase_flip:3
+#: paddle_quantum.channel.functional.common.depolarizing:3
+#: paddle_quantum.channel.functional.common.generalized_amplitude_damping:3
+#: paddle_quantum.channel.functional.common.kraus_repr:3
+#: paddle_quantum.channel.functional.common.pauli_channel:3
+#: paddle_quantum.channel.functional.common.phase_damping:3
+#: paddle_quantum.channel.functional.common.phase_flip:3
+#: paddle_quantum.channel.functional.common.reset_channel:3
+#: paddle_quantum.channel.functional.common.thermal_relaxation:3
+msgid "Input state."
+msgstr ""
+
+#: of paddle_quantum.channel.functional.common.bit_flip:4
+msgid "Probability of a bit flip."
+msgstr ""
+
+#: of paddle_quantum.channel.functional.common.amplitude_damping:5
+#: paddle_quantum.channel.functional.common.bit_flip:5
+#: paddle_quantum.channel.functional.common.bit_phase_flip:5
+#: paddle_quantum.channel.functional.common.depolarizing:5
+#: paddle_quantum.channel.functional.common.generalized_amplitude_damping:6
+#: paddle_quantum.channel.functional.common.kraus_repr:5
+#: paddle_quantum.channel.functional.common.pauli_channel:5
+#: paddle_quantum.channel.functional.common.phase_damping:5
+#: paddle_quantum.channel.functional.common.phase_flip:5
+#: paddle_quantum.channel.functional.common.reset_channel:5
+#: paddle_quantum.channel.functional.common.thermal_relaxation:6
+msgid "Index of the qubit on which the channel acts."
+msgstr ""
+
+#: of paddle_quantum.channel.functional.common.amplitude_damping:6
+#: paddle_quantum.channel.functional.common.bit_flip:6
+#: paddle_quantum.channel.functional.common.bit_phase_flip:6
+#: paddle_quantum.channel.functional.common.depolarizing:6
+#: paddle_quantum.channel.functional.common.generalized_amplitude_damping:7
+#: paddle_quantum.channel.functional.common.kraus_repr:6
+#: paddle_quantum.channel.functional.common.pauli_channel:6
+#: paddle_quantum.channel.functional.common.phase_damping:6
+#: paddle_quantum.channel.functional.common.phase_flip:6
+#: paddle_quantum.channel.functional.common.reset_channel:6
+#: paddle_quantum.channel.functional.common.thermal_relaxation:7
+msgid "Type of data."
+msgstr ""
+
+#: of paddle_quantum.channel.functional.common.amplitude_damping:7
+#: paddle_quantum.channel.functional.common.bit_flip:7
+#: paddle_quantum.channel.functional.common.bit_phase_flip:7
+#: paddle_quantum.channel.functional.common.depolarizing:7
+#: paddle_quantum.channel.functional.common.generalized_amplitude_damping:8
+#: paddle_quantum.channel.functional.common.kraus_repr:7
+#: paddle_quantum.channel.functional.common.pauli_channel:7
+#: paddle_quantum.channel.functional.common.phase_damping:7
+#: paddle_quantum.channel.functional.common.phase_flip:7
+#: paddle_quantum.channel.functional.common.reset_channel:7
+#: paddle_quantum.channel.functional.common.thermal_relaxation:8
+msgid "Backend on which the simulation is run."
+msgstr ""
+
+#: of paddle_quantum.channel.functional.common.amplitude_damping
+#: paddle_quantum.channel.functional.common.bit_flip
+#: paddle_quantum.channel.functional.common.bit_phase_flip
+#: paddle_quantum.channel.functional.common.depolarizing
+#: paddle_quantum.channel.functional.common.generalized_amplitude_damping
+#: paddle_quantum.channel.functional.common.kraus_repr
+#: paddle_quantum.channel.functional.common.pauli_channel
+#: paddle_quantum.channel.functional.common.phase_damping
+#: paddle_quantum.channel.functional.common.phase_flip
+#: paddle_quantum.channel.functional.common.reset_channel
+#: paddle_quantum.channel.functional.common.thermal_relaxation
+msgid "Raises"
+msgstr ""
+
+#: of paddle_quantum.channel.functional.common.amplitude_damping:9
+#: paddle_quantum.channel.functional.common.bit_flip:9
+#: paddle_quantum.channel.functional.common.bit_phase_flip:9
+#: paddle_quantum.channel.functional.common.depolarizing:9
+#: paddle_quantum.channel.functional.common.generalized_amplitude_damping:10
+#: paddle_quantum.channel.functional.common.kraus_repr:9
+#: paddle_quantum.channel.functional.common.pauli_channel:9
+#: paddle_quantum.channel.functional.common.phase_damping:9
+#: paddle_quantum.channel.functional.common.phase_flip:9
+#: paddle_quantum.channel.functional.common.reset_channel:9
+#: paddle_quantum.channel.functional.common.thermal_relaxation:10
+msgid "The noisy channel can only run in density matrix mode."
+msgstr ""
+
+#: of paddle_quantum.channel.functional.common.amplitude_damping
+#: paddle_quantum.channel.functional.common.bit_flip
+#: paddle_quantum.channel.functional.common.bit_phase_flip
+#: paddle_quantum.channel.functional.common.depolarizing
+#: paddle_quantum.channel.functional.common.generalized_amplitude_damping
+#: paddle_quantum.channel.functional.common.kraus_repr
+#: paddle_quantum.channel.functional.common.pauli_channel
+#: paddle_quantum.channel.functional.common.phase_damping
+#: paddle_quantum.channel.functional.common.phase_flip
+#: paddle_quantum.channel.functional.common.reset_channel
+#: paddle_quantum.channel.functional.common.thermal_relaxation
+msgid "Returns"
+msgstr ""
+
+#: of paddle_quantum.channel.functional.common.amplitude_damping:11
+#: paddle_quantum.channel.functional.common.bit_flip:11
+#: paddle_quantum.channel.functional.common.bit_phase_flip:11
+#: paddle_quantum.channel.functional.common.depolarizing:11
+#: paddle_quantum.channel.functional.common.generalized_amplitude_damping:12
+#: paddle_quantum.channel.functional.common.kraus_repr:11
+#: paddle_quantum.channel.functional.common.pauli_channel:11
+#: paddle_quantum.channel.functional.common.phase_damping:11
+#: paddle_quantum.channel.functional.common.phase_flip:11
+#: paddle_quantum.channel.functional.common.reset_channel:11
+#: paddle_quantum.channel.functional.common.thermal_relaxation:12
+msgid "Output state."
+msgstr ""
+
+#: of paddle_quantum.channel.functional.common.amplitude_damping
+#: paddle_quantum.channel.functional.common.bit_flip
+#: paddle_quantum.channel.functional.common.bit_phase_flip
+#: paddle_quantum.channel.functional.common.depolarizing
+#: paddle_quantum.channel.functional.common.generalized_amplitude_damping
+#: paddle_quantum.channel.functional.common.kraus_repr
+#: paddle_quantum.channel.functional.common.pauli_channel
+#: paddle_quantum.channel.functional.common.phase_damping
+#: paddle_quantum.channel.functional.common.phase_flip
+#: paddle_quantum.channel.functional.common.reset_channel
+#: paddle_quantum.channel.functional.common.thermal_relaxation
+msgid "Return type"
+msgstr ""
+
+#: of paddle_quantum.channel.functional.common.phase_flip:1
+msgid "Apply a phase flip channel on the input state."
+msgstr ""
+
+#: of paddle_quantum.channel.functional.common.phase_flip:4
+msgid "Probability of a phase flip."
+msgstr ""
+
+#: of paddle_quantum.channel.functional.common.bit_phase_flip:1
+msgid "Apply a bit phase flip channel on the input state."
+msgstr ""
+
+#: of paddle_quantum.channel.functional.common.bit_phase_flip:4
+msgid "Probability of a bit phase flip."
+msgstr ""
+
+#: of paddle_quantum.channel.functional.common.amplitude_damping:1
+msgid "Apply an amplitude damping channel on the input state."
+msgstr ""
+
+#: of paddle_quantum.channel.functional.common.amplitude_damping:4
+#: paddle_quantum.channel.functional.common.generalized_amplitude_damping:4
+msgid "Damping probability."
+msgstr ""
+
+#: of paddle_quantum.channel.functional.common.generalized_amplitude_damping:1
+msgid "Apply a generalized amplitude damping channel on the input state."
+msgstr ""
+
+#: of paddle_quantum.channel.functional.common.generalized_amplitude_damping:5
+msgid "Excitation probability."
+msgstr ""
+
+#: of paddle_quantum.channel.functional.common.phase_damping:1
+msgid "Apply a phase damping channel on the input state."
+msgstr ""
+
+#: of paddle_quantum.channel.functional.common.phase_damping:4
+msgid "Parameter of the phase damping channel."
+msgstr ""
+
+#: of paddle_quantum.channel.functional.common.depolarizing:1
+msgid "Apply a depolarizing channel on the input state."
+msgstr ""
+
+#: of paddle_quantum.channel.functional.common.depolarizing:4
+msgid "Parameter of the depolarizing channel."
+msgstr ""
+
+#: of paddle_quantum.channel.functional.common.pauli_channel:1
+msgid "Apply a Pauli channel on the input state."
+msgstr ""
+
+#: of paddle_quantum.channel.functional.common.pauli_channel:4
+msgid "Probabilities corresponding to the Pauli X, Y, and Z operators."
+msgstr ""
+
+#: of paddle_quantum.channel.functional.common.reset_channel:1
+msgid "Apply a reset channel on the input state."
+msgstr ""
+
+#: of paddle_quantum.channel.functional.common.reset_channel:4
+msgid ""
+"Probabilities of resetting to :math:`|0\\rangle` and to "
+":math:`|1\\rangle`."
+msgstr ""
+
+#: of paddle_quantum.channel.functional.common.thermal_relaxation:1
+msgid "Apply a thermal relaxation channel on the input state."
+msgstr ""
+
+#: of paddle_quantum.channel.functional.common.thermal_relaxation:4
+msgid ":math:`T_1` and :math:`T_2` relaxation time in microseconds."
+msgstr ""
+
+#: of paddle_quantum.channel.functional.common.thermal_relaxation:5
+msgid "Quantum gate execution time in the process of relaxation in nanoseconds."
+msgstr ""
+
+#: of paddle_quantum.channel.functional.common.kraus_repr:1
+msgid "Apply a custom channel in the Kraus representation on the input state."
+msgstr ""
+
+#: of paddle_quantum.channel.functional.common.kraus_repr:4
+msgid "Kraus operators of this channel."
+msgstr ""
+
diff --git a/docs/source/locale/en/LC_MESSAGES/paddle_quantum.channel.functional.po b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.channel.functional.po
new file mode 100644
index 0000000..a752fdf
--- /dev/null
+++ b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.channel.functional.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2022, Baidu Inc
+# This file is distributed under the same license as the paddle-quantum
+# package.
+# FIRST AUTHOR , 2022.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: paddle-quantum \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-05-17 11:08+0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: LANGUAGE \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.10.1\n"
+
+#: ../../source/paddle_quantum.channel.functional.rst:2
+msgid "paddle\\_quantum.channel.functional"
+msgstr ""
+
+#: of paddle_quantum.channel.functional:1
+msgid "The module that contains the functions of various quantum channels."
+msgstr ""
+
+#: ../../source/paddle_quantum.channel.functional.rst:9
+msgid "Submodules"
+msgstr ""
+
diff --git a/docs/source/locale/en/LC_MESSAGES/paddle_quantum.channel.po b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.channel.po
new file mode 100644
index 0000000..7cbeaec
--- /dev/null
+++ b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.channel.po
@@ -0,0 +1,36 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2022, Baidu Inc
+# This file is distributed under the same license as the paddle-quantum
+# package.
+# FIRST AUTHOR , 2022.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: paddle-quantum \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-05-17 11:08+0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: LANGUAGE \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.10.1\n"
+
+#: ../../source/paddle_quantum.channel.rst:2
+msgid "paddle\\_quantum.channel"
+msgstr ""
+
+#: of paddle_quantum.channel:1
+msgid "The module of the quantum channels."
+msgstr ""
+
+#: ../../source/paddle_quantum.channel.rst:9
+msgid "Subpackages"
+msgstr ""
+
+#: ../../source/paddle_quantum.channel.rst:16
+msgid "Submodules"
+msgstr ""
+
diff --git a/docs/source/locale/en/LC_MESSAGES/paddle_quantum.dataset.po b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.dataset.po
new file mode 100644
index 0000000..d2a1c24
--- /dev/null
+++ b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.dataset.po
@@ -0,0 +1,433 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2022, Baidu Inc
+# This file is distributed under the same license as the paddle-quantum
+# package.
+# FIRST AUTHOR , 2022.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: paddle-quantum \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-05-17 11:08+0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: LANGUAGE \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.10.1\n"
+
+#: ../../source/paddle_quantum.dataset.rst:2
+msgid "paddle\\_quantum.dataset"
+msgstr ""
+
+#: of paddle_quantum.dataset:1
+msgid "The source file of the dataset."
+msgstr ""
+
+#: of paddle_quantum.dataset.Dataset:1
+msgid "Bases: :py:class:`object`"
+msgstr ""
+
+#: of paddle_quantum.dataset.Dataset:1
+msgid ""
+"Basic class for all datasets, integrating multiple quantum encoding "
+"methods."
+msgstr ""
+
+#: of paddle_quantum.dataset.Dataset.data2circuit:1
+msgid ""
+"Encode vectors, which have been already truncated or filled with zero to "
+"the length ``can_describe_dimension``"
+msgstr ""
+
+#: of paddle_quantum.dataset.BreastCancer
+#: paddle_quantum.dataset.Dataset.data2circuit
+#: paddle_quantum.dataset.Dataset.filter_class
+#: paddle_quantum.dataset.FashionMNIST paddle_quantum.dataset.Iris
+#: paddle_quantum.dataset.MNIST paddle_quantum.dataset.SimpleDataset
+#: paddle_quantum.dataset.SimpleDataset.encode
+#: paddle_quantum.dataset.VisionDataset
+#: paddle_quantum.dataset.VisionDataset.encode
+msgid "Parameters"
+msgstr ""
+
+#: of paddle_quantum.dataset.Dataset.data2circuit:3
+msgid ""
+"vectors needed to encode,which have been already truncated or filled with"
+" zero to the length ``can_describe_dimension``"
+msgstr ""
+
+#: of paddle_quantum.dataset.Dataset.data2circuit:6
+#: paddle_quantum.dataset.Dataset.data2circuit:7
+msgid "The encoding method."
+msgstr ""
+
+#: of paddle_quantum.dataset.Dataset.data2circuit:8
+msgid "the dimension which the circuit can describe by ``encoding``."
+msgstr ""
+
+#: of paddle_quantum.dataset.Dataset.data2circuit:9
+msgid "Whether to split the circuit."
+msgstr ""
+
+#: of paddle_quantum.dataset.Dataset.data2circuit:10
+msgid "Whether to return quantum state."
+msgstr ""
+
+#: of paddle_quantum.dataset.Dataset.data2circuit:11
+msgid ""
+"Whether it is a picture, if it is a picture, the normalization method is "
+"not quite the same. Defaults to ``False``."
+msgstr ""
+
+#: of paddle_quantum.dataset.Dataset.data2circuit
+#: paddle_quantum.dataset.FashionMNIST paddle_quantum.dataset.MNIST
+#: paddle_quantum.dataset.SimpleDataset.encode
+#: paddle_quantum.dataset.VisionDataset.encode
+msgid "Raises"
+msgstr ""
+
+#: of paddle_quantum.dataset.Dataset.data2circuit:13
+msgid "Not support to return circuit in amplitude encoding."
+msgstr ""
+
+#: of paddle_quantum.dataset.Dataset.data2circuit
+#: paddle_quantum.dataset.Dataset.filter_class
+#: paddle_quantum.dataset.SimpleDataset.encode
+#: paddle_quantum.dataset.VisionDataset.encode
+msgid "Returns"
+msgstr ""
+
+#: of paddle_quantum.dataset.Dataset.data2circuit:15
+msgid ""
+"if ``return_state == True``, return encoded quantum state, otherwise "
+"return encoding circuits."
+msgstr ""
+
+#: of paddle_quantum.dataset.Dataset.data2circuit
+#: paddle_quantum.dataset.Dataset.filter_class
+#: paddle_quantum.dataset.SimpleDataset.encode
+#: paddle_quantum.dataset.VisionDataset.encode
+msgid "Return type"
+msgstr ""
+
+#: of paddle_quantum.dataset.Dataset.filter_class:1
+msgid ""
+"Select ``data_num`` samples from ``x``, ``y``, whose label is in "
+"``classes``."
+msgstr ""
+
+#: of paddle_quantum.dataset.Dataset.filter_class:3
+msgid "training features."
+msgstr ""
+
+#: of paddle_quantum.dataset.Dataset.filter_class:4
+msgid "training labels."
+msgstr ""
+
+#: of paddle_quantum.dataset.Dataset.filter_class:5
+msgid "classes needed to select."
+msgstr ""
+
+#: of paddle_quantum.dataset.Dataset.filter_class:6
+msgid "the number of data needed to select."
+msgstr ""
+
+#: of paddle_quantum.dataset.Dataset.filter_class:7
+msgid ""
+"whether we need to relabel the labels to 0,1,2 for binary classification."
+" For example ``[1,2]`` will be relabeled to ``[0,1]``."
+msgstr ""
+
+#: of paddle_quantum.dataset.Dataset.filter_class:8
+msgid "Random seed. Defaults to ``0``."
+msgstr ""
+
+#: of paddle_quantum.dataset.Dataset.filter_class:10
+msgid ""
+"- new_x: selected features. - new_y: selected labels corresponded to "
+"``new_x``."
+msgstr ""
+
+#: of paddle_quantum.dataset.Dataset.filter_class:10
+msgid "new_x: selected features."
+msgstr ""
+
+#: of paddle_quantum.dataset.Dataset.filter_class:11
+msgid "new_y: selected labels corresponded to ``new_x``."
+msgstr ""
+
+#: of paddle_quantum.dataset.SimpleDataset:1
+#: paddle_quantum.dataset.VisionDataset:1
+msgid "Bases: :py:class:`~paddle_quantum.dataset.Dataset`"
+msgstr ""
+
+#: of paddle_quantum.dataset.VisionDataset:1
+msgid ""
+"``VisionDataset`` is the basic class of all image datasets. By inheriting"
+" ``VisionDataset``, users can easily generate their own quantum data."
+msgstr ""
+
+#: of paddle_quantum.dataset.VisionDataset:3
+msgid "the size of the figure."
+msgstr ""
+
+#: of paddle_quantum.dataset.VisionDataset.encode:1
+msgid ""
+"Encode ``feature`` into ``num_qubits`` qubits using ``encoding`` after "
+"downscaling to ``target_dimension``. ``feature`` is one-dimension image "
+"vectors."
+msgstr ""
+
+#: of paddle_quantum.dataset.VisionDataset.encode:3
+msgid "One-dimension image vectors which can be list or ndarray."
+msgstr ""
+
+#: of paddle_quantum.dataset.BreastCancer:3
+#: paddle_quantum.dataset.FashionMNIST:4 paddle_quantum.dataset.Iris:3
+#: paddle_quantum.dataset.MNIST:4 paddle_quantum.dataset.VisionDataset.encode:4
+msgid ""
+"``angle_encoding`` denotes angle encoding, and one qubit encodes one "
+"number with a Ry gate. ``amplitude_encoding`` denotes amplitude encoding;"
+" ``pauli_rotation_encoding`` denotes using SU(3) rotation gate. "
+"``linear_entanglement_encoding``, ``real_entanglement_encoding`` , "
+"``complex_entanglement_encoding`` and ``IQP_encoding`` encoding methods."
+msgstr ""
+
+#: of paddle_quantum.dataset.BreastCancer:6
+#: paddle_quantum.dataset.FashionMNIST:7 paddle_quantum.dataset.Iris:6
+#: paddle_quantum.dataset.MNIST:7 paddle_quantum.dataset.SimpleDataset.encode:5
+#: paddle_quantum.dataset.VisionDataset.encode:7
+msgid "Qubit number."
+msgstr ""
+
+#: of paddle_quantum.dataset.VisionDataset.encode:8
+msgid ""
+"whether to split the circuits. If true, every layer of the encoding "
+"circuit will be split into a list. Defaults to ``False``."
+msgstr ""
+
+#: of paddle_quantum.dataset.FashionMNIST:11 paddle_quantum.dataset.MNIST:11
+#: paddle_quantum.dataset.VisionDataset.encode:9
+msgid "Including ``PCA`` and ``resize``. Defaults to ``resize``."
+msgstr ""
+
+#: of paddle_quantum.dataset.VisionDataset.encode:10
+msgid ""
+"The dimension after downscaling. ``target_dimension`` is not allowed to "
+"surpass the figure size. Defaults to ``-1``."
+msgstr ""
+
+#: of paddle_quantum.dataset.VisionDataset.encode:11
+msgid ""
+"Whether to return quantum states. If it is ``False``, return quantum "
+"circuits. Defaults to True."
+msgstr ""
+
+#: of paddle_quantum.dataset.VisionDataset.encode:12
+msgid ""
+"Whether to return ``quantum_image_states``, ``quantum_image_circuits``, "
+"``original_images`` and ``classical_image_vectors``. Defaults to False."
+msgstr ""
+
+#: of paddle_quantum.dataset.VisionDataset.encode:14
+msgid "PCA dimension should be less than figure size"
+msgstr ""
+
+#: of paddle_quantum.dataset.VisionDataset.encode:15
+msgid "Resize dimension should be a square"
+msgstr ""
+
+#: of paddle_quantum.dataset.VisionDataset.encode:16
+msgid "Downscaling methods can only be resize and PCA."
+msgstr ""
+
+#: of paddle_quantum.dataset.VisionDataset.encode:17
+msgid "Invalid encoding methods"
+msgstr ""
+
+#: of paddle_quantum.dataset.VisionDataset.encode:19
+msgid ""
+"- quantum_image_states: Quantum states, only ``full_return==True`` or "
+"``return_state==True`` will return. - quantum_image_circuits: A list of "
+"circuits generating quantum states, only ``full_return==True`` or "
+"``return_state==True`` will return. - original_images: One-dimension "
+"original vectors without any processing, only ``return_state==True`` will"
+" return; - classical_image_vectors: One-dimension original vectors after "
+"filling with zero, which are encoded to quantum states. only "
+"``return_state==True`` will return;"
+msgstr ""
+
+#: of paddle_quantum.dataset.VisionDataset.encode:19
+msgid ""
+"quantum_image_states: Quantum states, only ``full_return==True`` or "
+"``return_state==True`` will return."
+msgstr ""
+
+#: of paddle_quantum.dataset.VisionDataset.encode:20
+msgid ""
+"quantum_image_circuits: A list of circuits generating quantum states, "
+"only ``full_return==True`` or ``return_state==True`` will return."
+msgstr ""
+
+#: of paddle_quantum.dataset.VisionDataset.encode:21
+msgid ""
+"original_images: One-dimension original vectors without any processing, "
+"only ``return_state==True`` will return;"
+msgstr ""
+
+#: of paddle_quantum.dataset.VisionDataset.encode:22
+msgid ""
+"classical_image_vectors: One-dimension original vectors after filling "
+"with zero, which are encoded to quantum states. only "
+"``return_state==True`` will return;"
+msgstr ""
+
+#: of paddle_quantum.dataset.SimpleDataset:1
+msgid ""
+"SimpleDataset is used for simple dataset and can't downscale the data. "
+"You can inherit ``SimpleDataset`` to generate quantum states from your "
+"classical datasets."
+msgstr ""
+
+#: of paddle_quantum.dataset.SimpleDataset:3
+msgid "Dimension of encoding data"
+msgstr ""
+
+#: of paddle_quantum.dataset.SimpleDataset.encode:1
+msgid "Encode ``feature`` with ``num_qubits`` qubits by ``encoding``."
+msgstr ""
+
+#: of paddle_quantum.dataset.SimpleDataset.encode:3
+msgid "Features needed to encode."
+msgstr ""
+
+#: of paddle_quantum.dataset.SimpleDataset.encode:4
+msgid "Encoding methods."
+msgstr ""
+
+#: of paddle_quantum.dataset.BreastCancer:8
+#: paddle_quantum.dataset.FashionMNIST:15 paddle_quantum.dataset.Iris:10
+#: paddle_quantum.dataset.MNIST:15
+#: paddle_quantum.dataset.SimpleDataset.encode:6
+msgid "Whether to return quantum states. Defaults to ``True``."
+msgstr ""
+
+#: of paddle_quantum.dataset.SimpleDataset.encode:7
+msgid ""
+"Whether to return quantum_states, quantum_circuits, origin_feature and "
+"feature. Defaults to ``False``."
+msgstr ""
+
+#: of paddle_quantum.dataset.SimpleDataset.encode:9
+msgid "Invalid type of feature."
+msgstr ""
+
+#: of paddle_quantum.dataset.SimpleDataset.encode:10
+msgid "Invalid encoding methods."
+msgstr ""
+
+#: of paddle_quantum.dataset.SimpleDataset.encode:11
+msgid "The qubit number is not enough to encode the features."
+msgstr ""
+
+#: of paddle_quantum.dataset.SimpleDataset.encode:13
+msgid ""
+"TODO: not show up in docs - quantum_states: Quantum states, only "
+"``full_return==True`` or ``return_state==True`` will return; - "
+"quantum_circuits: A list of circuits generating quantum states, only "
+"``full_return==True`` or ``return_state==True`` will return; - "
+"origin_feature: One-dimension original vectors without any processing, "
+"only ``return_state==True`` will return - feature: One-dimension original"
+" vectors after filling with zero, which are encoded to quantum states. "
+"only ``return_state==True`` will return."
+msgstr ""
+
+#: of paddle_quantum.dataset.FashionMNIST:1 paddle_quantum.dataset.MNIST:1
+msgid "Bases: :py:class:`~paddle_quantum.dataset.VisionDataset`"
+msgstr ""
+
+#: of paddle_quantum.dataset.MNIST:1
+msgid "MNIST quantum dataset. It inherits ``VisionDataset``."
+msgstr ""
+
+#: of paddle_quantum.dataset.FashionMNIST:3 paddle_quantum.dataset.MNIST:3
+msgid "Data mode including ``train`` and ``test``."
+msgstr ""
+
+#: of paddle_quantum.dataset.FashionMNIST:8 paddle_quantum.dataset.MNIST:8
+msgid "Classes needed to classify."
+msgstr ""
+
+#: of paddle_quantum.dataset.FashionMNIST:9 paddle_quantum.dataset.MNIST:9
+msgid "Data number returned. Defaults to ``-1``."
+msgstr ""
+
+#: of paddle_quantum.dataset.FashionMNIST:10 paddle_quantum.dataset.MNIST:10
+msgid ""
+"Whether to split the circuits. If True, every layer of the encoding "
+"circuit will be split into a list. Defaults to ``False``."
+msgstr ""
+
+#: of paddle_quantum.dataset.FashionMNIST:12 paddle_quantum.dataset.MNIST:12
+msgid ""
+"The dimension after downscaling, which is not allowed to surpass the "
+"figure size. Defaults to ``-1``."
+msgstr ""
+
+#: of paddle_quantum.dataset.FashionMNIST:13 paddle_quantum.dataset.MNIST:13
+msgid ""
+"Whether needed to crop, If ``True``, ``image[0:27][0:27]`` will be "
+"cropped to ``image[4:24][4:24]``. Defaults to ``True``."
+msgstr ""
+
+#: of paddle_quantum.dataset.FashionMNIST:14 paddle_quantum.dataset.MNIST:14
+msgid ""
+"Whether we need to relabel the labels to 0,1,2… for binary "
+"classification.For example [1,2] will be relabeled to [0,1] Defaults to "
+"``True``."
+msgstr ""
+
+#: of paddle_quantum.dataset.BreastCancer:9
+#: paddle_quantum.dataset.FashionMNIST:16 paddle_quantum.dataset.Iris:11
+#: paddle_quantum.dataset.MNIST:16
+msgid "Select random seed. Defaults to ``0``."
+msgstr ""
+
+#: of paddle_quantum.dataset.FashionMNIST:18 paddle_quantum.dataset.MNIST:18
+msgid "Data mode can only be train and test."
+msgstr ""
+
+#: of paddle_quantum.dataset.FashionMNIST:1
+msgid "FashionMNIST quantum dataset. It inherits ``VisionDataset``."
+msgstr ""
+
+#: of paddle_quantum.dataset.BreastCancer:1 paddle_quantum.dataset.Iris:1
+msgid "Bases: :py:class:`~paddle_quantum.dataset.SimpleDataset`"
+msgstr ""
+
+#: of paddle_quantum.dataset.Iris:1
+msgid "Iris dataset"
+msgstr ""
+
+#: of paddle_quantum.dataset.Iris:7
+msgid "Classes needed to classify"
+msgstr ""
+
+#: of paddle_quantum.dataset.BreastCancer:7 paddle_quantum.dataset.Iris:8
+msgid "The proportion of the testing dataset. Defaults to ``0.2``."
+msgstr ""
+
+#: of paddle_quantum.dataset.Iris:9
+msgid ""
+"Whether we need to relabel the labels to 0,1,2… for binary "
+"classification.For example [1,2] will be relabeled to [0,1]. Defaults to "
+"``True``."
+msgstr ""
+
+#: of paddle_quantum.dataset.BreastCancer:1
+msgid "BreastCancer quantum dataset."
+msgstr ""
+
diff --git a/docs/source/locale/en/LC_MESSAGES/paddle_quantum.finance.po b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.finance.po
new file mode 100644
index 0000000..b4f3407
--- /dev/null
+++ b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.finance.po
@@ -0,0 +1,235 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2022, Baidu Inc
+# This file is distributed under the same license as the paddle-quantum
+# package.
+# FIRST AUTHOR , 2022.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: paddle-quantum \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-05-17 11:08+0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: LANGUAGE \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.10.1\n"
+
+#: ../../source/paddle_quantum.finance.rst:2
+msgid "paddle\\_quantum.finance"
+msgstr ""
+
+#: of paddle_quantum.finance:1
+msgid "Functions and data simulator class of quantum finance."
+msgstr ""
+
+#: of paddle_quantum.finance.DataSimulator:1
+msgid "Bases: :py:class:`object`"
+msgstr ""
+
+#: of paddle_quantum.finance.DataSimulator:1
+msgid ""
+"Used to generate data and calculate relevant parameters for portfolio "
+"optimization and portfolio diversification problems."
+msgstr ""
+
+#: of paddle_quantum.finance.DataSimulator
+#: paddle_quantum.finance.DataSimulator.set_data
+#: paddle_quantum.finance.arbitrage_opportunities_hamiltonian
+#: paddle_quantum.finance.portfolio_diversification_hamiltonian
+#: paddle_quantum.finance.portfolio_optimization_hamiltonian
+msgid "Parameters"
+msgstr ""
+
+#: of paddle_quantum.finance.DataSimulator:3
+msgid "A list of names of investable stocks"
+msgstr ""
+
+#: of paddle_quantum.finance.DataSimulator:4
+msgid ""
+"The start date of the trading day when the stock data is randomly "
+"generated. Defaults to ``None``."
+msgstr ""
+
+#: of paddle_quantum.finance.DataSimulator:5
+msgid ""
+"The end date of the trading day when the stock data is randomly "
+"generated. Defaults to ``None``."
+msgstr ""
+
+#: of paddle_quantum.finance.DataSimulator.set_data:1
+msgid "Decide which data source to use: randomly generated or locally entered."
+msgstr ""
+
+#: of paddle_quantum.finance.DataSimulator.set_data:3
+msgid "Stock data entered by the user."
+msgstr ""
+
+#: of paddle_quantum.finance.DataSimulator.randomly_generate:1
+msgid ""
+"Randomly generate stock data for experiments based on start date and end "
+"date."
+msgstr ""
+
+#: of paddle_quantum.finance.DataSimulator.randomly_generate:3
+msgid ""
+"To generate random stock data, you need to specify the start date and end"
+" date in the format of the ``datetime`` package, e.g. ``start = "
+"datetime.datetime(2016, 1, 1)``."
+msgstr ""
+
+#: of paddle_quantum.finance.DataSimulator.get_asset_return_mean_vector:1
+msgid "Calculate expected return of each stock."
+msgstr ""
+
+#: of paddle_quantum.finance.DataSimulator.get_asset_return_covariance_matrix
+#: paddle_quantum.finance.DataSimulator.get_asset_return_mean_vector
+#: paddle_quantum.finance.DataSimulator.get_similarity_matrix
+#: paddle_quantum.finance.arbitrage_opportunities_hamiltonian
+#: paddle_quantum.finance.portfolio_diversification_hamiltonian
+#: paddle_quantum.finance.portfolio_optimization_hamiltonian
+msgid "Returns"
+msgstr ""
+
+#: of paddle_quantum.finance.DataSimulator.get_asset_return_mean_vector:3
+msgid "Expected return of all investable stocks."
+msgstr ""
+
+#: of paddle_quantum.finance.DataSimulator.get_asset_return_covariance_matrix
+#: paddle_quantum.finance.DataSimulator.get_asset_return_mean_vector
+#: paddle_quantum.finance.DataSimulator.get_similarity_matrix
+#: paddle_quantum.finance.arbitrage_opportunities_hamiltonian
+#: paddle_quantum.finance.portfolio_diversification_hamiltonian
+#: paddle_quantum.finance.portfolio_optimization_hamiltonian
+msgid "Return type"
+msgstr ""
+
+#: of paddle_quantum.finance.DataSimulator.get_asset_return_covariance_matrix:1
+msgid "Calculate the covariance matrix between the returns of each stock."
+msgstr ""
+
+#: of paddle_quantum.finance.DataSimulator.get_asset_return_covariance_matrix:3
+#: paddle_quantum.finance.portfolio_optimization_hamiltonian:5
+msgid "The covariance matrix between the returns of each stock."
+msgstr ""
+
+#: of paddle_quantum.finance.DataSimulator.get_similarity_matrix:1
+msgid "Calculate the similarity matrix among stocks."
+msgstr ""
+
+#: of paddle_quantum.finance.DataSimulator.get_similarity_matrix:3
+msgid ""
+"The Dynamic Time Warping algorithm (DTW) is used to calculate the "
+"similarity between two stocks."
+msgstr ""
+
+#: of paddle_quantum.finance.DataSimulator.get_similarity_matrix:5
+#: paddle_quantum.finance.portfolio_diversification_hamiltonian:4
+msgid "The similarity matrix among stocks."
+msgstr ""
+
+#: of paddle_quantum.finance.portfolio_optimization_hamiltonian:1
+msgid "Construct the hamiltonian of the portfolio optimization problem."
+msgstr ""
+
+#: of paddle_quantum.finance.arbitrage_opportunities_hamiltonian:4
+#: paddle_quantum.finance.portfolio_diversification_hamiltonian:3
+#: paddle_quantum.finance.portfolio_optimization_hamiltonian:3
+msgid "Penalty parameter."
+msgstr ""
+
+#: of paddle_quantum.finance.portfolio_optimization_hamiltonian:4
+msgid "Expected return of each stock."
+msgstr ""
+
+#: of paddle_quantum.finance.portfolio_optimization_hamiltonian:6
+msgid "Risk appetite of the decision maker."
+msgstr ""
+
+#: of paddle_quantum.finance.portfolio_optimization_hamiltonian:7
+msgid "Budget, i.e. the number of stocks to be invested."
+msgstr ""
+
+#: of paddle_quantum.finance.portfolio_optimization_hamiltonian:9
+msgid ""
+"C(x) = q \\sum_i \\sum_j S_{ji}x_ix_j - \\sum_{i}x_i \\mu_i + A \\left(B"
+" - \\sum_i x_i\\right)^2"
+msgstr ""
+
+#: of paddle_quantum.finance.portfolio_optimization_hamiltonian:14
+msgid ""
+"Mapping Boolean variables :math:`x_i` to Hamiltonian matrices under "
+":math:`x_i \\mapsto \\frac{I-Z_i}{2}`."
+msgstr ""
+
+#: of paddle_quantum.finance.portfolio_optimization_hamiltonian:16
+msgid "The hamiltonian of the portfolio optimization problem."
+msgstr ""
+
+#: of paddle_quantum.finance.portfolio_diversification_hamiltonian:1
+msgid "Construct the hamiltonian of the portfolio diversification problem."
+msgstr ""
+
+#: of paddle_quantum.finance.portfolio_diversification_hamiltonian:5
+msgid "Number of categories for stock clustering."
+msgstr ""
+
+#: of paddle_quantum.finance.portfolio_diversification_hamiltonian:7
+msgid ""
+"\\begin{aligned}\n"
+"C_x &= -\\sum_{i=1}^{n}\\sum_{j=1}^{n}\\rho_{ij}x_{ij} + A\\left(q- "
+"\\sum_{j=1}^n y_j \\right)^2 + \\sum_{i=1}^n A\\left(\\sum_{j=1}^n 1- "
+"x_{ij} \\right)^2 \\\\\n"
+" &\\quad + \\sum_{j=1}^n A\\left(x_{jj} - y_j\\right)^2 + "
+"\\sum_{i=1}^n \\sum_{j=1}^n A\\left(x_{ij}(1 - y_j)\\right).\\\\\n"
+"\\end{aligned}"
+msgstr ""
+
+#: of paddle_quantum.finance.portfolio_diversification_hamiltonian:14
+msgid ""
+"Mapping Boolean variables :math:`x_{ij}` to the Hamiltonian matrices "
+"under :math:`x_{ij} \\mapsto \\frac{I-Z_{ij}}{2}`"
+msgstr ""
+
+#: of paddle_quantum.finance.portfolio_diversification_hamiltonian:16
+msgid "The hamiltonian of the portfolio diversification problem."
+msgstr ""
+
+#: of paddle_quantum.finance.arbitrage_opportunities_hamiltonian:1
+msgid ""
+"Construct the hamiltonian of the arbitrage opportunity optimization "
+"problem."
+msgstr ""
+
+#: of paddle_quantum.finance.arbitrage_opportunities_hamiltonian:3
+msgid "Graphical representation of conversions between different markets."
+msgstr ""
+
+#: of paddle_quantum.finance.arbitrage_opportunities_hamiltonian:5
+msgid "Number of currency types, i.e. number of vertices in the graph g."
+msgstr ""
+
+#: of paddle_quantum.finance.arbitrage_opportunities_hamiltonian:6
+msgid "Number of vertices contained in the arbitrage loop."
+msgstr ""
+
+#: of paddle_quantum.finance.arbitrage_opportunities_hamiltonian:8
+msgid ""
+"C(x) = - P(x) + A\\sum_{k=0}^{K-1} \\left(1 - \\sum_{i=0}^{n-1} "
+"x_{i,k}\\right)^2 + A\\sum_{k=0}^{K-1}\\sum_{(i,j)\\notin "
+"E}x_{i,k}x_{j,k+1}"
+msgstr ""
+
+#: of paddle_quantum.finance.arbitrage_opportunities_hamiltonian:12
+msgid ""
+"Mapping Boolean variables :math:`x_{i,k}` to the Hamiltonian matrices "
+"under :math:`x_{i,k} \\mapsto \\frac{I-Z_{i,k}}{2}`."
+msgstr ""
+
+#: of paddle_quantum.finance.arbitrage_opportunities_hamiltonian:14
+msgid "The hamiltonian of the arbitrage opportunity optimization problem."
+msgstr ""
+
diff --git a/docs/source/locale/en/LC_MESSAGES/paddle_quantum.fisher.po b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.fisher.po
new file mode 100644
index 0000000..5b7cf1f
--- /dev/null
+++ b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.fisher.po
@@ -0,0 +1,248 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2022, Baidu Inc
+# This file is distributed under the same license as the paddle-quantum
+# package.
+# FIRST AUTHOR , 2022.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: paddle-quantum \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-05-17 11:08+0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: LANGUAGE \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.10.1\n"
+
+#: ../../source/paddle_quantum.fisher.rst:2
+msgid "paddle\\_quantum.fisher"
+msgstr ""
+
+#: of paddle_quantum.fisher:1
+msgid "The source file of the class for the fisher information."
+msgstr ""
+
+#: of paddle_quantum.fisher.ClassicalFisher:1
+#: paddle_quantum.fisher.QuantumFisher:1
+msgid "Bases: :py:class:`object`"
+msgstr ""
+
+#: of paddle_quantum.fisher.QuantumFisher:1
+msgid "Quantum fisher information (QFI) & related calculators."
+msgstr ""
+
+#: of paddle_quantum.fisher.ClassicalFisher
+#: paddle_quantum.fisher.ClassicalFisher.get_cfisher
+#: paddle_quantum.fisher.ClassicalFisher.get_eff_dim
+#: paddle_quantum.fisher.ClassicalFisher.get_gradient
+#: paddle_quantum.fisher.QuantumFisher
+#: paddle_quantum.fisher.QuantumFisher.get_eff_qdim
+#: paddle_quantum.fisher.QuantumFisher.get_qfisher_norm
+#: paddle_quantum.fisher.QuantumFisher.get_qfisher_rank
+msgid "Parameters"
+msgstr ""
+
+#: of paddle_quantum.fisher.QuantumFisher:3
+msgid ""
+"Parameterized quantum circuits requiring calculation of quantum Fisher "
+"information."
+msgstr ""
+
+#: of paddle_quantum.fisher.QuantumFisher:5
+msgid ""
+"This class does not fit the situation when parameters among gates are "
+"correlated, such as control-gates."
+msgstr ""
+
+#: of paddle_quantum.fisher.QuantumFisher.get_qfisher_matrix:1
+msgid "Use parameter shift rule of order 2 to calculate the matrix of QFI."
+msgstr ""
+
+#: of paddle_quantum.fisher.ClassicalFisher.get_cfisher
+#: paddle_quantum.fisher.ClassicalFisher.get_eff_dim
+#: paddle_quantum.fisher.ClassicalFisher.get_gradient
+#: paddle_quantum.fisher.ClassicalFisher.get_normalized_cfisher
+#: paddle_quantum.fisher.QuantumFisher.get_eff_qdim
+#: paddle_quantum.fisher.QuantumFisher.get_qfisher_matrix
+#: paddle_quantum.fisher.QuantumFisher.get_qfisher_norm
+#: paddle_quantum.fisher.QuantumFisher.get_qfisher_rank
+msgid "Returns"
+msgstr ""
+
+#: of paddle_quantum.fisher.QuantumFisher.get_qfisher_matrix:3
+msgid "Matrix of QFI."
+msgstr ""
+
+#: of paddle_quantum.fisher.ClassicalFisher.get_cfisher
+#: paddle_quantum.fisher.ClassicalFisher.get_eff_dim
+#: paddle_quantum.fisher.ClassicalFisher.get_gradient
+#: paddle_quantum.fisher.ClassicalFisher.get_normalized_cfisher
+#: paddle_quantum.fisher.QuantumFisher.get_eff_qdim
+#: paddle_quantum.fisher.QuantumFisher.get_qfisher_matrix
+#: paddle_quantum.fisher.QuantumFisher.get_qfisher_norm
+#: paddle_quantum.fisher.QuantumFisher.get_qfisher_rank
+msgid "Return type"
+msgstr ""
+
+#: of paddle_quantum.fisher.QuantumFisher.get_qfisher_norm:1
+msgid ""
+"Use finite difference rule to calculate the projection norm of QFI along "
+"particular direction."
+msgstr ""
+
+#: of paddle_quantum.fisher.QuantumFisher.get_qfisher_norm:3
+msgid "A direction represented by a vector."
+msgstr ""
+
+#: of paddle_quantum.fisher.QuantumFisher.get_qfisher_norm:4
+msgid "Step size of the finite difference rule. Defaults to ``0.01``。"
+msgstr ""
+
+#: of paddle_quantum.fisher.QuantumFisher.get_qfisher_norm:6
+msgid "Projection norm."
+msgstr ""
+
+#: of paddle_quantum.fisher.QuantumFisher.get_eff_qdim:1
+msgid ""
+"Calculate the effective quantum dimension, i.e. the maximum rank of QFI "
+"matrix in the whole parameter space."
+msgstr ""
+
+#: of paddle_quantum.fisher.QuantumFisher.get_eff_qdim:3
+msgid "Number of samples to estimate the dimension. Defaults to ``4``."
+msgstr ""
+
+#: of paddle_quantum.fisher.QuantumFisher.get_eff_qdim:4
+#: paddle_quantum.fisher.QuantumFisher.get_qfisher_rank:3
+msgid ""
+"Minimum tolerance of the singular values to be 0. Defaults to ``None``, "
+"with the same meaning as in ``numpy.linalg.matrix_rank()``."
+msgstr ""
+
+#: of paddle_quantum.fisher.QuantumFisher.get_eff_qdim:7
+msgid "Effective quantum dimension of the quantum circuit."
+msgstr ""
+
+#: of paddle_quantum.fisher.QuantumFisher.get_qfisher_rank:1
+msgid "Calculate the rank of the QIF matrix."
+msgstr ""
+
+#: of paddle_quantum.fisher.QuantumFisher.get_qfisher_rank:6
+msgid "Rank of the QIF matrix."
+msgstr ""
+
+#: of paddle_quantum.fisher.ClassicalFisher:1
+msgid "Classical fisher information (CFI) & related calculators."
+msgstr ""
+
+#: of paddle_quantum.fisher.ClassicalFisher:3
+msgid "Instance of the classical or quantum neural network model."
+msgstr ""
+
+#: of paddle_quantum.fisher.ClassicalFisher:4
+msgid "Number of the parameter sets."
+msgstr ""
+
+#: of paddle_quantum.fisher.ClassicalFisher:5
+msgid "Number of the input samples."
+msgstr ""
+
+#: of paddle_quantum.fisher.ClassicalFisher:6
+msgid "Model type is ``'classical'`` or ``'quantum'``. Defaults to ``'quantum'``."
+msgstr ""
+
+#: of paddle_quantum.fisher.ClassicalFisher:7
+msgid ""
+"including - size: list of sizes of classical NN units - num_qubits: "
+"number of qubits of quantum NN - depth: depth of quantum NN - encoding: "
+"``IQP`` or ``re-uploading`` encoding of quantum NN"
+msgstr ""
+
+#: of paddle_quantum.fisher.ClassicalFisher
+msgid "Raises"
+msgstr ""
+
+#: of paddle_quantum.fisher.ClassicalFisher:13
+msgid "Unsupported encoding."
+msgstr ""
+
+#: of paddle_quantum.fisher.ClassicalFisher:14
+msgid "Unsupported model type."
+msgstr ""
+
+#: of paddle_quantum.fisher.ClassicalFisher.get_gradient:1
+msgid ""
+"Calculate the gradients with respect to the variational parameters of the"
+" output layer."
+msgstr ""
+
+#: of paddle_quantum.fisher.ClassicalFisher.get_gradient:3
+msgid "Input samples."
+msgstr ""
+
+#: of paddle_quantum.fisher.ClassicalFisher.get_gradient:5
+msgid ""
+"Gradient with respect to the variational parameters of the output layer "
+"with shape [num_inputs, dimension of the output layer, num_thetas]."
+msgstr ""
+
+#: of paddle_quantum.fisher.ClassicalFisher.get_cfisher:1
+msgid "Use the Jacobian matrix to calculate the CFI matrix."
+msgstr ""
+
+#: of paddle_quantum.fisher.ClassicalFisher.get_cfisher:3
+msgid "Gradients with respect to the variational parameter of the output layer."
+msgstr ""
+
+#: of paddle_quantum.fisher.ClassicalFisher.get_cfisher:5
+msgid ""
+"CFI matrix with shape [num_inputs, dimension of the output layer, "
+"num_theta]."
+msgstr ""
+
+#: of paddle_quantum.fisher.ClassicalFisher.get_normalized_cfisher:1
+msgid "Calculate the normalized CFI matrix."
+msgstr ""
+
+#: of paddle_quantum.fisher.ClassicalFisher.get_normalized_cfisher:3
+msgid ""
+"contains elements - CFI matrix with shape [num_inputs, num_theta, "
+"num_theta] - its trace"
+msgstr ""
+
+#: of paddle_quantum.fisher.ClassicalFisher.get_normalized_cfisher:3
+msgid "contains elements"
+msgstr ""
+
+#: of paddle_quantum.fisher.ClassicalFisher.get_normalized_cfisher:5
+msgid "CFI matrix with shape [num_inputs, num_theta, num_theta]"
+msgstr ""
+
+#: of paddle_quantum.fisher.ClassicalFisher.get_normalized_cfisher:6
+msgid "its trace"
+msgstr ""
+
+#: of paddle_quantum.fisher.ClassicalFisher.get_eff_dim:1
+msgid "Calculate the classical effective dimension."
+msgstr ""
+
+#: of paddle_quantum.fisher.ClassicalFisher.get_eff_dim:3
+msgid "Normalized CFI matrix."
+msgstr ""
+
+#: of paddle_quantum.fisher.ClassicalFisher.get_eff_dim:4
+msgid "List of different numbers of samples."
+msgstr ""
+
+#: of paddle_quantum.fisher.ClassicalFisher.get_eff_dim:5
+msgid "A parameter in the effective dimension. Defaults to ``1``."
+msgstr ""
+
+#: of paddle_quantum.fisher.ClassicalFisher.get_eff_dim:7
+msgid "Classical effective dimensions for different numbers of samples."
+msgstr ""
+
diff --git a/docs/source/locale/en/LC_MESSAGES/paddle_quantum.gate.base.po b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.gate.base.po
new file mode 100644
index 0000000..7eec16d
--- /dev/null
+++ b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.gate.base.po
@@ -0,0 +1,61 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2022, Baidu Inc
+# This file is distributed under the same license as the paddle-quantum
+# package.
+# FIRST AUTHOR , 2022.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: paddle-quantum \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-05-17 11:08+0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: LANGUAGE \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.10.1\n"
+
+#: ../../source/paddle_quantum.gate.base.rst:2
+msgid "paddle\\_quantum.gate.base"
+msgstr ""
+
+#: of paddle_quantum.gate.base:1
+msgid "The source file of the basic class for the quantum gates."
+msgstr ""
+
+#: of paddle_quantum.gate.base.Gate:1
+msgid "Bases: :py:class:`~paddle_quantum.base.Operator`"
+msgstr ""
+
+#: of paddle_quantum.gate.base.Gate:1
+msgid "Basis class for quantum gates."
+msgstr ""
+
+#: of paddle_quantum.gate.base.Gate
+msgid "Parameters"
+msgstr ""
+
+#: of paddle_quantum.gate.base.Gate:3
+msgid "Number of layers. Defaults to 1."
+msgstr ""
+
+#: of paddle_quantum.gate.base.Gate:4
+msgid "Backend on which the gates are executed. Defaults to None."
+msgstr ""
+
+#: of paddle_quantum.gate.base.Gate:5
+msgid "Type of data. Defaults to None."
+msgstr ""
+
+#: of paddle_quantum.gate.base.Gate:6
+msgid ""
+"Prefix name used by the layer to name parameters. If prefix is "
+"\"my_layer\", parameter name in MyLayer can be \"my_layer_0.w_n\", where "
+"\"w\" is the parameter base name and \"n\" is an unique suffix auto-"
+"generated. If ``None``, prefix name will be snake cased class name. "
+"Defaults to ``None``."
+msgstr ""
+
diff --git a/docs/source/locale/en/LC_MESSAGES/paddle_quantum.gate.clifford.po b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.gate.clifford.po
new file mode 100644
index 0000000..8a2b8ea
--- /dev/null
+++ b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.gate.clifford.po
@@ -0,0 +1,123 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2022, Baidu Inc
+# This file is distributed under the same license as the paddle-quantum
+# package.
+# FIRST AUTHOR , 2022.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: paddle-quantum \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-05-17 11:08+0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: LANGUAGE \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.10.1\n"
+
+#: ../../source/paddle_quantum.gate.clifford.rst:2
+msgid "paddle\\_quantum.gate.clifford"
+msgstr ""
+
+#: of paddle_quantum.gate.clifford:1
+msgid "Class for randomly generating a Clifford operator."
+msgstr ""
+
+#: of paddle_quantum.gate.clifford.Clifford:1
+msgid "Bases: :py:class:`object`"
+msgstr ""
+
+#: of paddle_quantum.gate.clifford.Clifford:1
+msgid "Users can instantiate this class to randomly generate a Clifford operator."
+msgstr ""
+
+#: of paddle_quantum.gate.clifford.Clifford
+#: paddle_quantum.gate.clifford.compose_clifford_circuit
+msgid "Parameters"
+msgstr ""
+
+#: of paddle_quantum.gate.clifford.Clifford:3
+msgid "Number of qubits on which this Clifford operator acts."
+msgstr ""
+
+#: of paddle_quantum.gate.clifford.Clifford:6
+msgid "References"
+msgstr ""
+
+#: of paddle_quantum.gate.clifford.Clifford:7
+msgid ""
+"1. Bravyi, Sergey, and Dmitri Maslov. \"Hadamard-free circuits expose the"
+" structure of the Clifford group.\" IEEE Transactions on Information "
+"Theory 67.7 (2021): 4546-4563."
+msgstr ""
+
+#: of paddle_quantum.gate.clifford.Clifford.print_clifford:1
+msgid "Print how the Clifford operator acts on the Pauli basis."
+msgstr ""
+
+#: of paddle_quantum.gate.clifford.Clifford.sym:1
+msgid "Obtain the Clifford operator's symplectic matrix."
+msgstr ""
+
+#: of paddle_quantum.gate.clifford.Clifford.circuit
+#: paddle_quantum.gate.clifford.Clifford.sym
+#: paddle_quantum.gate.clifford.Clifford.tableau
+#: paddle_quantum.gate.clifford.compose_clifford_circuit
+msgid "Returns"
+msgstr ""
+
+#: of paddle_quantum.gate.clifford.Clifford.sym:3
+msgid "Symplectic matrix corresponding to this Clifford operator."
+msgstr ""
+
+#: of paddle_quantum.gate.clifford.Clifford.circuit
+#: paddle_quantum.gate.clifford.Clifford.sym
+#: paddle_quantum.gate.clifford.Clifford.tableau
+#: paddle_quantum.gate.clifford.compose_clifford_circuit
+msgid "Return type"
+msgstr ""
+
+#: of paddle_quantum.gate.clifford.Clifford.tableau:1
+msgid "Obtain the Clifford operator's table."
+msgstr ""
+
+#: of paddle_quantum.gate.clifford.Clifford.tableau:3
+msgid ""
+"For the number of qubits being ``num_qubits``, the first ``num_qubits`` "
+"lines correspoding to results of X_i, and the last ``num_qubits`` lines "
+"correspoding to results of Z_i."
+msgstr ""
+
+#: of paddle_quantum.gate.clifford.Clifford.tableau:6
+msgid "Table corresponding to this Clifford operator."
+msgstr ""
+
+#: of paddle_quantum.gate.clifford.Clifford.circuit:1
+msgid "Obtain the circuit corresponding to the Clifford operator."
+msgstr ""
+
+#: of paddle_quantum.gate.clifford.Clifford.circuit:3
+msgid "Circuit corresponding to this Clifford operator."
+msgstr ""
+
+#: of paddle_quantum.gate.clifford.compose_clifford_circuit:1
+msgid ""
+"Compute the composition of two Clifford operators and obtain the "
+"corresponding circuit."
+msgstr ""
+
+#: of paddle_quantum.gate.clifford.compose_clifford_circuit:3
+msgid "The first Clifford operator to be composed."
+msgstr ""
+
+#: of paddle_quantum.gate.clifford.compose_clifford_circuit:4
+msgid "The second Clifford operator to be composed."
+msgstr ""
+
+#: of paddle_quantum.gate.clifford.compose_clifford_circuit:6
+msgid "Circuit corresponding to the composed Clifford operator."
+msgstr ""
+
diff --git a/docs/source/locale/en/LC_MESSAGES/paddle_quantum.gate.custom.po b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.gate.custom.po
new file mode 100644
index 0000000..3003112
--- /dev/null
+++ b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.gate.custom.po
@@ -0,0 +1,66 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2022, Baidu Inc
+# This file is distributed under the same license as the paddle-quantum
+# package.
+# FIRST AUTHOR , 2022.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: paddle-quantum \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-05-17 11:08+0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: LANGUAGE \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.10.1\n"
+
+#: ../../source/paddle_quantum.gate.custom.rst:2
+msgid "paddle\\_quantum.gate.custom"
+msgstr ""
+
+#: of paddle_quantum.gate.custom:1
+msgid "The source file of the oracle class and the control oracle class."
+msgstr ""
+
+#: of paddle_quantum.gate.custom.ControlOracle:1
+#: paddle_quantum.gate.custom.Oracle:1
+msgid "Bases: :py:class:`~paddle_quantum.gate.base.Gate`"
+msgstr ""
+
+#: of paddle_quantum.gate.custom.Oracle:1
+msgid "An oracle as a gate."
+msgstr ""
+
+#: of paddle_quantum.gate.custom.ControlOracle
+#: paddle_quantum.gate.custom.Oracle
+msgid "Parameters"
+msgstr ""
+
+#: of paddle_quantum.gate.custom.ControlOracle:3
+#: paddle_quantum.gate.custom.Oracle:3
+msgid "Unitary oracle to be implemented."
+msgstr ""
+
+#: of paddle_quantum.gate.custom.ControlOracle:4
+#: paddle_quantum.gate.custom.Oracle:4
+msgid "Indices of the qubits on which the gates are applied."
+msgstr ""
+
+#: of paddle_quantum.gate.custom.ControlOracle:5
+#: paddle_quantum.gate.custom.Oracle:5
+msgid "Total number of qubits. Defaults to ``None``."
+msgstr ""
+
+#: of paddle_quantum.gate.custom.ControlOracle:6
+#: paddle_quantum.gate.custom.Oracle:6
+msgid "Number of layers. Defaults to ``1``."
+msgstr ""
+
+#: of paddle_quantum.gate.custom.ControlOracle:1
+msgid "A controlled oracle as a gate."
+msgstr ""
+
diff --git a/docs/source/locale/en/LC_MESSAGES/paddle_quantum.gate.encoding.po b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.gate.encoding.po
new file mode 100644
index 0000000..bfc0b24
--- /dev/null
+++ b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.gate.encoding.po
@@ -0,0 +1,106 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2022, Baidu Inc
+# This file is distributed under the same license as the paddle-quantum
+# package.
+# FIRST AUTHOR , 2022.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: paddle-quantum \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-05-17 11:08+0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: LANGUAGE \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.10.1\n"
+
+#: ../../source/paddle_quantum.gate.encoding.rst:2
+msgid "paddle\\_quantum.gate.encoding"
+msgstr ""
+
+#: of paddle_quantum.gate.encoding:1
+msgid "The source file of the classes for quantum encoding."
+msgstr ""
+
+#: of paddle_quantum.gate.encoding.AmplitudeEncoding:1
+#: paddle_quantum.gate.encoding.AngleEncoding:1
+#: paddle_quantum.gate.encoding.BasisEncoding:1
+#: paddle_quantum.gate.encoding.IQPEncoding:1
+msgid "Bases: :py:class:`~paddle_quantum.gate.base.Gate`"
+msgstr ""
+
+#: of paddle_quantum.gate.encoding.BasisEncoding:1
+msgid "Basis encoding gate for encoding input classical data into quantum states."
+msgstr ""
+
+#: of paddle_quantum.gate.encoding.BasisEncoding:3
+msgid ""
+"In basis encoding, the input classical data can only consist of 0's and "
+"1's. If the input data are 1101, then the quantum state after encoding is"
+" :math:`|1101\\rangle`. Note that the quantum state before encoding is "
+"assumed to be :math:`|00\\ldots 0\\rangle`."
+msgstr ""
+
+#: of paddle_quantum.gate.encoding.AmplitudeEncoding
+#: paddle_quantum.gate.encoding.AngleEncoding
+#: paddle_quantum.gate.encoding.BasisEncoding
+#: paddle_quantum.gate.encoding.IQPEncoding
+msgid "Parameters"
+msgstr ""
+
+#: of paddle_quantum.gate.encoding.AmplitudeEncoding:3
+#: paddle_quantum.gate.encoding.AngleEncoding:4
+#: paddle_quantum.gate.encoding.BasisEncoding:7
+msgid ""
+"Indices of the qubits on which the gates are applied. Defaults to "
+"``'full'``."
+msgstr ""
+
+#: of paddle_quantum.gate.encoding.AmplitudeEncoding:4
+#: paddle_quantum.gate.encoding.AngleEncoding:5
+#: paddle_quantum.gate.encoding.BasisEncoding:8
+#: paddle_quantum.gate.encoding.IQPEncoding:5
+msgid "Total number of qubits. Defaults to ``None``."
+msgstr ""
+
+#: of paddle_quantum.gate.encoding.AmplitudeEncoding:1
+msgid ""
+"Amplitude encoding gate for encoding input classical data into quantum "
+"states."
+msgstr ""
+
+#: of paddle_quantum.gate.encoding.AngleEncoding:1
+msgid "Angle encoding gate for encoding input classical data into quantum states."
+msgstr ""
+
+#: of paddle_quantum.gate.encoding.AngleEncoding:3
+#: paddle_quantum.gate.encoding.IQPEncoding:3
+msgid "Vector to be encoded."
+msgstr ""
+
+#: of paddle_quantum.gate.encoding.AngleEncoding:6
+msgid ""
+"The type of quantum gates used for encoding, which should be one of "
+"``\"rx\"``, ``\"ry\"``, and ``\"rz\"``. Defaults to ``None``."
+msgstr ""
+
+#: of paddle_quantum.gate.encoding.IQPEncoding:1
+msgid ""
+"IQP style encoding gate for encoding input classical data into quantum "
+"states."
+msgstr ""
+
+#: of paddle_quantum.gate.encoding.IQPEncoding:4
+msgid ""
+"Indices of the qubits on which the gates are applied. Defaults to "
+"``None``."
+msgstr ""
+
+#: of paddle_quantum.gate.encoding.IQPEncoding:6
+msgid "Number of encoding layers. Defaults to ``1``."
+msgstr ""
+
diff --git a/docs/source/locale/en/LC_MESSAGES/paddle_quantum.gate.functional.base.po b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.gate.functional.base.po
new file mode 100644
index 0000000..2cbc637
--- /dev/null
+++ b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.gate.functional.base.po
@@ -0,0 +1,68 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2022, Baidu Inc
+# This file is distributed under the same license as the paddle-quantum
+# package.
+# FIRST AUTHOR , 2022.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: paddle-quantum \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-05-17 11:08+0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: LANGUAGE \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.10.1\n"
+
+#: ../../source/paddle_quantum.gate.functional.base.rst:2
+msgid "paddle\\_quantum.gate.functional.base"
+msgstr ""
+
+#: of paddle_quantum.gate.functional.base:1
+msgid "The source file of the basic function for quantum gates."
+msgstr ""
+
+#: of paddle_quantum.gate.functional.base.simulation:1
+msgid "Apply the gate on the input state."
+msgstr ""
+
+#: of paddle_quantum.gate.functional.base.simulation
+msgid "Parameters"
+msgstr ""
+
+#: of paddle_quantum.gate.functional.base.simulation:3
+msgid "Input state."
+msgstr ""
+
+#: of paddle_quantum.gate.functional.base.simulation:4
+msgid "Gate to be executed."
+msgstr ""
+
+#: of paddle_quantum.gate.functional.base.simulation:5
+msgid "Indices of the qubits on which the gate is applied."
+msgstr ""
+
+#: of paddle_quantum.gate.functional.base.simulation:6
+msgid "Total number of qubits."
+msgstr ""
+
+#: of paddle_quantum.gate.functional.base.simulation:7
+msgid "Backend on which the simulation is run."
+msgstr ""
+
+#: of paddle_quantum.gate.functional.base.simulation
+msgid "Returns"
+msgstr ""
+
+#: of paddle_quantum.gate.functional.base.simulation:9
+msgid "Output state."
+msgstr ""
+
+#: of paddle_quantum.gate.functional.base.simulation
+msgid "Return type"
+msgstr ""
+
diff --git a/docs/source/locale/en/LC_MESSAGES/paddle_quantum.gate.functional.multi_qubit_gate.po b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.gate.functional.multi_qubit_gate.po
new file mode 100644
index 0000000..9f9d916
--- /dev/null
+++ b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.gate.functional.multi_qubit_gate.po
@@ -0,0 +1,287 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2022, Baidu Inc
+# This file is distributed under the same license as the paddle-quantum
+# package.
+# FIRST AUTHOR , 2022.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: paddle-quantum \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-05-17 11:08+0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: LANGUAGE \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.10.1\n"
+
+#: ../../source/paddle_quantum.gate.functional.multi_qubit_gate.rst:2
+msgid "paddle\\_quantum.gate.functional.multi\\_qubit\\_gate"
+msgstr ""
+
+#: of paddle_quantum.gate.functional.multi_qubit_gate:1
+msgid "The source file of the functions for multi-qubit quantum gates."
+msgstr ""
+
+#: of paddle_quantum.gate.functional.multi_qubit_gate.cnot:1
+msgid "Apply a CNOT gate on the input state."
+msgstr ""
+
+#: of paddle_quantum.gate.functional.multi_qubit_gate.cnot
+#: paddle_quantum.gate.functional.multi_qubit_gate.cp
+#: paddle_quantum.gate.functional.multi_qubit_gate.crx
+#: paddle_quantum.gate.functional.multi_qubit_gate.cry
+#: paddle_quantum.gate.functional.multi_qubit_gate.crz
+#: paddle_quantum.gate.functional.multi_qubit_gate.cswap
+#: paddle_quantum.gate.functional.multi_qubit_gate.cu
+#: paddle_quantum.gate.functional.multi_qubit_gate.cy
+#: paddle_quantum.gate.functional.multi_qubit_gate.cz
+#: paddle_quantum.gate.functional.multi_qubit_gate.ms
+#: paddle_quantum.gate.functional.multi_qubit_gate.oracle
+#: paddle_quantum.gate.functional.multi_qubit_gate.rxx
+#: paddle_quantum.gate.functional.multi_qubit_gate.ryy
+#: paddle_quantum.gate.functional.multi_qubit_gate.rzz
+#: paddle_quantum.gate.functional.multi_qubit_gate.swap
+#: paddle_quantum.gate.functional.multi_qubit_gate.toffoli
+#: paddle_quantum.gate.functional.multi_qubit_gate.universal_three_qubits
+#: paddle_quantum.gate.functional.multi_qubit_gate.universal_two_qubits
+msgid "Parameters"
+msgstr ""
+
+#: of paddle_quantum.gate.functional.multi_qubit_gate.cnot:3
+#: paddle_quantum.gate.functional.multi_qubit_gate.cp:3
+#: paddle_quantum.gate.functional.multi_qubit_gate.crx:3
+#: paddle_quantum.gate.functional.multi_qubit_gate.cry:3
+#: paddle_quantum.gate.functional.multi_qubit_gate.crz:3
+#: paddle_quantum.gate.functional.multi_qubit_gate.cswap:3
+#: paddle_quantum.gate.functional.multi_qubit_gate.cu:3
+#: paddle_quantum.gate.functional.multi_qubit_gate.cy:3
+#: paddle_quantum.gate.functional.multi_qubit_gate.cz:3
+#: paddle_quantum.gate.functional.multi_qubit_gate.ms:3
+#: paddle_quantum.gate.functional.multi_qubit_gate.oracle:3
+#: paddle_quantum.gate.functional.multi_qubit_gate.rxx:3
+#: paddle_quantum.gate.functional.multi_qubit_gate.ryy:3
+#: paddle_quantum.gate.functional.multi_qubit_gate.rzz:3
+#: paddle_quantum.gate.functional.multi_qubit_gate.swap:3
+#: paddle_quantum.gate.functional.multi_qubit_gate.toffoli:3
+#: paddle_quantum.gate.functional.multi_qubit_gate.universal_three_qubits:3
+#: paddle_quantum.gate.functional.multi_qubit_gate.universal_two_qubits:3
+msgid "Input state."
+msgstr ""
+
+#: of paddle_quantum.gate.functional.multi_qubit_gate.cnot:4
+#: paddle_quantum.gate.functional.multi_qubit_gate.cp:5
+#: paddle_quantum.gate.functional.multi_qubit_gate.crx:5
+#: paddle_quantum.gate.functional.multi_qubit_gate.cry:5
+#: paddle_quantum.gate.functional.multi_qubit_gate.crz:5
+#: paddle_quantum.gate.functional.multi_qubit_gate.cswap:4
+#: paddle_quantum.gate.functional.multi_qubit_gate.cu:5
+#: paddle_quantum.gate.functional.multi_qubit_gate.cy:4
+#: paddle_quantum.gate.functional.multi_qubit_gate.cz:4
+#: paddle_quantum.gate.functional.multi_qubit_gate.ms:4
+#: paddle_quantum.gate.functional.multi_qubit_gate.oracle:5
+#: paddle_quantum.gate.functional.multi_qubit_gate.rxx:5
+#: paddle_quantum.gate.functional.multi_qubit_gate.ryy:5
+#: paddle_quantum.gate.functional.multi_qubit_gate.rzz:5
+#: paddle_quantum.gate.functional.multi_qubit_gate.swap:4
+#: paddle_quantum.gate.functional.multi_qubit_gate.toffoli:4
+#: paddle_quantum.gate.functional.multi_qubit_gate.universal_three_qubits:5
+#: paddle_quantum.gate.functional.multi_qubit_gate.universal_two_qubits:5
+msgid "Indices of the qubits on which the gate is applied."
+msgstr ""
+
+#: of paddle_quantum.gate.functional.multi_qubit_gate.cnot:5
+#: paddle_quantum.gate.functional.multi_qubit_gate.cp:6
+#: paddle_quantum.gate.functional.multi_qubit_gate.crx:6
+#: paddle_quantum.gate.functional.multi_qubit_gate.cry:6
+#: paddle_quantum.gate.functional.multi_qubit_gate.crz:6
+#: paddle_quantum.gate.functional.multi_qubit_gate.cswap:5
+#: paddle_quantum.gate.functional.multi_qubit_gate.cu:6
+#: paddle_quantum.gate.functional.multi_qubit_gate.cy:5
+#: paddle_quantum.gate.functional.multi_qubit_gate.cz:5
+#: paddle_quantum.gate.functional.multi_qubit_gate.ms:5
+#: paddle_quantum.gate.functional.multi_qubit_gate.rxx:6
+#: paddle_quantum.gate.functional.multi_qubit_gate.ryy:6
+#: paddle_quantum.gate.functional.multi_qubit_gate.rzz:6
+#: paddle_quantum.gate.functional.multi_qubit_gate.swap:5
+#: paddle_quantum.gate.functional.multi_qubit_gate.toffoli:5
+#: paddle_quantum.gate.functional.multi_qubit_gate.universal_three_qubits:6
+#: paddle_quantum.gate.functional.multi_qubit_gate.universal_two_qubits:6
+msgid "Type of data."
+msgstr ""
+
+#: of paddle_quantum.gate.functional.multi_qubit_gate.cnot:6
+#: paddle_quantum.gate.functional.multi_qubit_gate.cp:7
+#: paddle_quantum.gate.functional.multi_qubit_gate.crx:7
+#: paddle_quantum.gate.functional.multi_qubit_gate.cry:7
+#: paddle_quantum.gate.functional.multi_qubit_gate.crz:7
+#: paddle_quantum.gate.functional.multi_qubit_gate.cswap:6
+#: paddle_quantum.gate.functional.multi_qubit_gate.cu:7
+#: paddle_quantum.gate.functional.multi_qubit_gate.cy:6
+#: paddle_quantum.gate.functional.multi_qubit_gate.cz:6
+#: paddle_quantum.gate.functional.multi_qubit_gate.ms:6
+#: paddle_quantum.gate.functional.multi_qubit_gate.oracle:6
+#: paddle_quantum.gate.functional.multi_qubit_gate.rxx:7
+#: paddle_quantum.gate.functional.multi_qubit_gate.ryy:7
+#: paddle_quantum.gate.functional.multi_qubit_gate.rzz:7
+#: paddle_quantum.gate.functional.multi_qubit_gate.swap:6
+#: paddle_quantum.gate.functional.multi_qubit_gate.toffoli:6
+#: paddle_quantum.gate.functional.multi_qubit_gate.universal_three_qubits:7
+#: paddle_quantum.gate.functional.multi_qubit_gate.universal_two_qubits:7
+msgid "Backend on which the simulation is run."
+msgstr ""
+
+#: of paddle_quantum.gate.functional.multi_qubit_gate.cnot
+#: paddle_quantum.gate.functional.multi_qubit_gate.cp
+#: paddle_quantum.gate.functional.multi_qubit_gate.crx
+#: paddle_quantum.gate.functional.multi_qubit_gate.cry
+#: paddle_quantum.gate.functional.multi_qubit_gate.crz
+#: paddle_quantum.gate.functional.multi_qubit_gate.cswap
+#: paddle_quantum.gate.functional.multi_qubit_gate.cu
+#: paddle_quantum.gate.functional.multi_qubit_gate.cy
+#: paddle_quantum.gate.functional.multi_qubit_gate.cz
+#: paddle_quantum.gate.functional.multi_qubit_gate.ms
+#: paddle_quantum.gate.functional.multi_qubit_gate.oracle
+#: paddle_quantum.gate.functional.multi_qubit_gate.rxx
+#: paddle_quantum.gate.functional.multi_qubit_gate.ryy
+#: paddle_quantum.gate.functional.multi_qubit_gate.rzz
+#: paddle_quantum.gate.functional.multi_qubit_gate.swap
+#: paddle_quantum.gate.functional.multi_qubit_gate.toffoli
+#: paddle_quantum.gate.functional.multi_qubit_gate.universal_three_qubits
+#: paddle_quantum.gate.functional.multi_qubit_gate.universal_two_qubits
+msgid "Returns"
+msgstr ""
+
+#: of paddle_quantum.gate.functional.multi_qubit_gate.cnot:8
+#: paddle_quantum.gate.functional.multi_qubit_gate.cp:9
+#: paddle_quantum.gate.functional.multi_qubit_gate.crx:9
+#: paddle_quantum.gate.functional.multi_qubit_gate.cry:9
+#: paddle_quantum.gate.functional.multi_qubit_gate.crz:9
+#: paddle_quantum.gate.functional.multi_qubit_gate.cswap:8
+#: paddle_quantum.gate.functional.multi_qubit_gate.cu:9
+#: paddle_quantum.gate.functional.multi_qubit_gate.cy:8
+#: paddle_quantum.gate.functional.multi_qubit_gate.cz:8
+#: paddle_quantum.gate.functional.multi_qubit_gate.ms:8
+#: paddle_quantum.gate.functional.multi_qubit_gate.oracle:8
+#: paddle_quantum.gate.functional.multi_qubit_gate.rxx:9
+#: paddle_quantum.gate.functional.multi_qubit_gate.ryy:9
+#: paddle_quantum.gate.functional.multi_qubit_gate.rzz:9
+#: paddle_quantum.gate.functional.multi_qubit_gate.swap:8
+#: paddle_quantum.gate.functional.multi_qubit_gate.toffoli:8
+#: paddle_quantum.gate.functional.multi_qubit_gate.universal_three_qubits:9
+#: paddle_quantum.gate.functional.multi_qubit_gate.universal_two_qubits:9
+msgid "Output state."
+msgstr ""
+
+#: of paddle_quantum.gate.functional.multi_qubit_gate.cnot
+#: paddle_quantum.gate.functional.multi_qubit_gate.cp
+#: paddle_quantum.gate.functional.multi_qubit_gate.crx
+#: paddle_quantum.gate.functional.multi_qubit_gate.cry
+#: paddle_quantum.gate.functional.multi_qubit_gate.crz
+#: paddle_quantum.gate.functional.multi_qubit_gate.cswap
+#: paddle_quantum.gate.functional.multi_qubit_gate.cu
+#: paddle_quantum.gate.functional.multi_qubit_gate.cy
+#: paddle_quantum.gate.functional.multi_qubit_gate.cz
+#: paddle_quantum.gate.functional.multi_qubit_gate.ms
+#: paddle_quantum.gate.functional.multi_qubit_gate.oracle
+#: paddle_quantum.gate.functional.multi_qubit_gate.rxx
+#: paddle_quantum.gate.functional.multi_qubit_gate.ryy
+#: paddle_quantum.gate.functional.multi_qubit_gate.rzz
+#: paddle_quantum.gate.functional.multi_qubit_gate.swap
+#: paddle_quantum.gate.functional.multi_qubit_gate.toffoli
+#: paddle_quantum.gate.functional.multi_qubit_gate.universal_three_qubits
+#: paddle_quantum.gate.functional.multi_qubit_gate.universal_two_qubits
+msgid "Return type"
+msgstr ""
+
+#: of paddle_quantum.gate.functional.multi_qubit_gate.cy:1
+msgid "Apply a controlled Y gate on the input state."
+msgstr ""
+
+#: of paddle_quantum.gate.functional.multi_qubit_gate.cz:1
+msgid "Apply a controlled Z gate on the input state."
+msgstr ""
+
+#: of paddle_quantum.gate.functional.multi_qubit_gate.swap:1
+msgid "Apply a SWAP gate on the input state."
+msgstr ""
+
+#: of paddle_quantum.gate.functional.multi_qubit_gate.cp:1
+msgid "Apply a controlled P gate on the input state."
+msgstr ""
+
+#: of paddle_quantum.gate.functional.multi_qubit_gate.cp:4
+#: paddle_quantum.gate.functional.multi_qubit_gate.crx:4
+#: paddle_quantum.gate.functional.multi_qubit_gate.cry:4
+#: paddle_quantum.gate.functional.multi_qubit_gate.crz:4
+#: paddle_quantum.gate.functional.multi_qubit_gate.rxx:4
+#: paddle_quantum.gate.functional.multi_qubit_gate.ryy:4
+#: paddle_quantum.gate.functional.multi_qubit_gate.rzz:4
+msgid "Parameter of the gate."
+msgstr ""
+
+#: of paddle_quantum.gate.functional.multi_qubit_gate.crx:1
+msgid "Apply a controlled rotation gate about the x-axis on the input state."
+msgstr ""
+
+#: of paddle_quantum.gate.functional.multi_qubit_gate.cry:1
+msgid "Apply a controlled rotation gate about the y-axis on the input state."
+msgstr ""
+
+#: of paddle_quantum.gate.functional.multi_qubit_gate.crz:1
+msgid "Apply a controlled rotation gate about the z-axis on the input state."
+msgstr ""
+
+#: of paddle_quantum.gate.functional.multi_qubit_gate.cu:1
+msgid "Apply a controlled single-qubit rotation gate on the input state."
+msgstr ""
+
+#: of paddle_quantum.gate.functional.multi_qubit_gate.cu:4
+#: paddle_quantum.gate.functional.multi_qubit_gate.universal_three_qubits:4
+#: paddle_quantum.gate.functional.multi_qubit_gate.universal_two_qubits:4
+msgid "Parameters of the gate."
+msgstr ""
+
+#: of paddle_quantum.gate.functional.multi_qubit_gate.rxx:1
+msgid "Apply an RXX gate on the input state."
+msgstr ""
+
+#: of paddle_quantum.gate.functional.multi_qubit_gate.ryy:1
+msgid "Apply an RYY gate on the input state."
+msgstr ""
+
+#: of paddle_quantum.gate.functional.multi_qubit_gate.rzz:1
+msgid "Apply an RZZ gate on the input state."
+msgstr ""
+
+#: of paddle_quantum.gate.functional.multi_qubit_gate.ms:1
+msgid "Apply a Mølmer-Sørensen (MS) gate on the input state."
+msgstr ""
+
+#: of paddle_quantum.gate.functional.multi_qubit_gate.cswap:1
+msgid "Apply a CSWAP (Fredkin) gate on the input state."
+msgstr ""
+
+#: of paddle_quantum.gate.functional.multi_qubit_gate.toffoli:1
+msgid "Apply a Toffoli gate on the input state."
+msgstr ""
+
+#: of paddle_quantum.gate.functional.multi_qubit_gate.universal_two_qubits:1
+msgid "Apply a universal two-qubit gate on the input state."
+msgstr ""
+
+#: of paddle_quantum.gate.functional.multi_qubit_gate.universal_three_qubits:1
+msgid "Apply a universal three-qubit gate on the input state."
+msgstr ""
+
+#: of paddle_quantum.gate.functional.multi_qubit_gate.oracle:1
+msgid "Apply an oracle gate on the input state."
+msgstr ""
+
+#: of paddle_quantum.gate.functional.multi_qubit_gate.oracle:4
+msgid "Oracle to be executed."
+msgstr ""
+
diff --git a/docs/source/locale/en/LC_MESSAGES/paddle_quantum.gate.functional.po b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.gate.functional.po
new file mode 100644
index 0000000..d508cd5
--- /dev/null
+++ b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.gate.functional.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2022, Baidu Inc
+# This file is distributed under the same license as the paddle-quantum
+# package.
+# FIRST AUTHOR , 2022.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: paddle-quantum \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-05-17 11:08+0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: LANGUAGE \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.10.1\n"
+
+#: ../../source/paddle_quantum.gate.functional.rst:2
+msgid "paddle\\_quantum.gate.functional"
+msgstr ""
+
+#: of paddle_quantum.gate.functional:1
+msgid "The module that contains the functions of various quantum gates."
+msgstr ""
+
+#: ../../source/paddle_quantum.gate.functional.rst:9
+msgid "Submodules"
+msgstr ""
+
diff --git a/docs/source/locale/en/LC_MESSAGES/paddle_quantum.gate.functional.single_qubit_gate.po b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.gate.functional.single_qubit_gate.po
new file mode 100644
index 0000000..62448fb
--- /dev/null
+++ b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.gate.functional.single_qubit_gate.po
@@ -0,0 +1,195 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2022, Baidu Inc
+# This file is distributed under the same license as the paddle-quantum
+# package.
+# FIRST AUTHOR , 2022.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: paddle-quantum \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-05-17 11:08+0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: LANGUAGE \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.10.1\n"
+
+#: ../../source/paddle_quantum.gate.functional.single_qubit_gate.rst:2
+msgid "paddle\\_quantum.gate.functional.single\\_qubit\\_gate"
+msgstr ""
+
+#: of paddle_quantum.gate.functional.single_qubit_gate:1
+msgid "The source file of the functions for single-qubit quantum gates."
+msgstr ""
+
+#: of paddle_quantum.gate.functional.single_qubit_gate.h:1
+msgid "Apply a Hadamard gate on the input state."
+msgstr ""
+
+#: of paddle_quantum.gate.functional.single_qubit_gate.h
+#: paddle_quantum.gate.functional.single_qubit_gate.p
+#: paddle_quantum.gate.functional.single_qubit_gate.rx
+#: paddle_quantum.gate.functional.single_qubit_gate.ry
+#: paddle_quantum.gate.functional.single_qubit_gate.rz
+#: paddle_quantum.gate.functional.single_qubit_gate.s
+#: paddle_quantum.gate.functional.single_qubit_gate.t
+#: paddle_quantum.gate.functional.single_qubit_gate.u3
+#: paddle_quantum.gate.functional.single_qubit_gate.x
+#: paddle_quantum.gate.functional.single_qubit_gate.y
+#: paddle_quantum.gate.functional.single_qubit_gate.z
+msgid "Parameters"
+msgstr ""
+
+#: of paddle_quantum.gate.functional.single_qubit_gate.h:3
+#: paddle_quantum.gate.functional.single_qubit_gate.p:3
+#: paddle_quantum.gate.functional.single_qubit_gate.rx:3
+#: paddle_quantum.gate.functional.single_qubit_gate.ry:3
+#: paddle_quantum.gate.functional.single_qubit_gate.rz:3
+#: paddle_quantum.gate.functional.single_qubit_gate.s:3
+#: paddle_quantum.gate.functional.single_qubit_gate.t:3
+#: paddle_quantum.gate.functional.single_qubit_gate.u3:3
+#: paddle_quantum.gate.functional.single_qubit_gate.x:3
+#: paddle_quantum.gate.functional.single_qubit_gate.y:3
+#: paddle_quantum.gate.functional.single_qubit_gate.z:3
+msgid "Input state."
+msgstr ""
+
+#: of paddle_quantum.gate.functional.single_qubit_gate.h:4
+#: paddle_quantum.gate.functional.single_qubit_gate.p:5
+#: paddle_quantum.gate.functional.single_qubit_gate.rx:5
+#: paddle_quantum.gate.functional.single_qubit_gate.ry:5
+#: paddle_quantum.gate.functional.single_qubit_gate.rz:5
+#: paddle_quantum.gate.functional.single_qubit_gate.s:4
+#: paddle_quantum.gate.functional.single_qubit_gate.t:4
+#: paddle_quantum.gate.functional.single_qubit_gate.u3:5
+#: paddle_quantum.gate.functional.single_qubit_gate.x:4
+#: paddle_quantum.gate.functional.single_qubit_gate.y:4
+#: paddle_quantum.gate.functional.single_qubit_gate.z:4
+msgid "Index of the qubit on which the gate is applied."
+msgstr ""
+
+#: of paddle_quantum.gate.functional.single_qubit_gate.h:5
+#: paddle_quantum.gate.functional.single_qubit_gate.p:6
+#: paddle_quantum.gate.functional.single_qubit_gate.rx:6
+#: paddle_quantum.gate.functional.single_qubit_gate.ry:6
+#: paddle_quantum.gate.functional.single_qubit_gate.rz:6
+#: paddle_quantum.gate.functional.single_qubit_gate.s:5
+#: paddle_quantum.gate.functional.single_qubit_gate.t:5
+#: paddle_quantum.gate.functional.single_qubit_gate.u3:6
+#: paddle_quantum.gate.functional.single_qubit_gate.x:5
+#: paddle_quantum.gate.functional.single_qubit_gate.y:5
+#: paddle_quantum.gate.functional.single_qubit_gate.z:5
+msgid "Type of data."
+msgstr ""
+
+#: of paddle_quantum.gate.functional.single_qubit_gate.h:6
+#: paddle_quantum.gate.functional.single_qubit_gate.p:7
+#: paddle_quantum.gate.functional.single_qubit_gate.rx:7
+#: paddle_quantum.gate.functional.single_qubit_gate.ry:7
+#: paddle_quantum.gate.functional.single_qubit_gate.rz:7
+#: paddle_quantum.gate.functional.single_qubit_gate.s:6
+#: paddle_quantum.gate.functional.single_qubit_gate.t:6
+#: paddle_quantum.gate.functional.single_qubit_gate.u3:7
+#: paddle_quantum.gate.functional.single_qubit_gate.x:6
+#: paddle_quantum.gate.functional.single_qubit_gate.y:6
+#: paddle_quantum.gate.functional.single_qubit_gate.z:6
+msgid "Backend on which the simulation is run."
+msgstr ""
+
+#: of paddle_quantum.gate.functional.single_qubit_gate.h
+#: paddle_quantum.gate.functional.single_qubit_gate.p
+#: paddle_quantum.gate.functional.single_qubit_gate.rx
+#: paddle_quantum.gate.functional.single_qubit_gate.ry
+#: paddle_quantum.gate.functional.single_qubit_gate.rz
+#: paddle_quantum.gate.functional.single_qubit_gate.s
+#: paddle_quantum.gate.functional.single_qubit_gate.t
+#: paddle_quantum.gate.functional.single_qubit_gate.u3
+#: paddle_quantum.gate.functional.single_qubit_gate.x
+#: paddle_quantum.gate.functional.single_qubit_gate.y
+#: paddle_quantum.gate.functional.single_qubit_gate.z
+msgid "Returns"
+msgstr ""
+
+#: of paddle_quantum.gate.functional.single_qubit_gate.h:8
+#: paddle_quantum.gate.functional.single_qubit_gate.p:9
+#: paddle_quantum.gate.functional.single_qubit_gate.rx:9
+#: paddle_quantum.gate.functional.single_qubit_gate.ry:9
+#: paddle_quantum.gate.functional.single_qubit_gate.rz:9
+#: paddle_quantum.gate.functional.single_qubit_gate.s:8
+#: paddle_quantum.gate.functional.single_qubit_gate.t:8
+#: paddle_quantum.gate.functional.single_qubit_gate.u3:9
+#: paddle_quantum.gate.functional.single_qubit_gate.x:8
+#: paddle_quantum.gate.functional.single_qubit_gate.y:8
+#: paddle_quantum.gate.functional.single_qubit_gate.z:8
+msgid "Output state."
+msgstr ""
+
+#: of paddle_quantum.gate.functional.single_qubit_gate.h
+#: paddle_quantum.gate.functional.single_qubit_gate.p
+#: paddle_quantum.gate.functional.single_qubit_gate.rx
+#: paddle_quantum.gate.functional.single_qubit_gate.ry
+#: paddle_quantum.gate.functional.single_qubit_gate.rz
+#: paddle_quantum.gate.functional.single_qubit_gate.s
+#: paddle_quantum.gate.functional.single_qubit_gate.t
+#: paddle_quantum.gate.functional.single_qubit_gate.u3
+#: paddle_quantum.gate.functional.single_qubit_gate.x
+#: paddle_quantum.gate.functional.single_qubit_gate.y
+#: paddle_quantum.gate.functional.single_qubit_gate.z
+msgid "Return type"
+msgstr ""
+
+#: of paddle_quantum.gate.functional.single_qubit_gate.s:1
+msgid "Apply an S gate on the input state."
+msgstr ""
+
+#: of paddle_quantum.gate.functional.single_qubit_gate.t:1
+msgid "Apply a T gate on the input state."
+msgstr ""
+
+#: of paddle_quantum.gate.functional.single_qubit_gate.x:1
+msgid "Apply an X gate on the input state."
+msgstr ""
+
+#: of paddle_quantum.gate.functional.single_qubit_gate.y:1
+msgid "Apply a Y gate on the input state."
+msgstr ""
+
+#: of paddle_quantum.gate.functional.single_qubit_gate.z:1
+msgid "Apply a Z gate on the input state."
+msgstr ""
+
+#: of paddle_quantum.gate.functional.single_qubit_gate.p:1
+msgid "Apply a P gate on the input state."
+msgstr ""
+
+#: of paddle_quantum.gate.functional.single_qubit_gate.p:4
+#: paddle_quantum.gate.functional.single_qubit_gate.rx:4
+#: paddle_quantum.gate.functional.single_qubit_gate.ry:4
+#: paddle_quantum.gate.functional.single_qubit_gate.rz:4
+msgid "Parameter of the gate."
+msgstr ""
+
+#: of paddle_quantum.gate.functional.single_qubit_gate.rx:1
+msgid "Apply a single-qubit rotation gate about the x-axis on the input state."
+msgstr ""
+
+#: of paddle_quantum.gate.functional.single_qubit_gate.ry:1
+msgid "Apply a single-qubit rotation gate about the y-axis on the input state."
+msgstr ""
+
+#: of paddle_quantum.gate.functional.single_qubit_gate.rz:1
+msgid "Apply a single-qubit rotation gate about the z-axis on the input state."
+msgstr ""
+
+#: of paddle_quantum.gate.functional.single_qubit_gate.u3:1
+msgid "Apply a single-qubit rotation gate on the input state."
+msgstr ""
+
+#: of paddle_quantum.gate.functional.single_qubit_gate.u3:4
+msgid "Parameters of the gate."
+msgstr ""
+
diff --git a/docs/source/locale/en/LC_MESSAGES/paddle_quantum.gate.layer.po b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.gate.layer.po
new file mode 100644
index 0000000..06ee22b
--- /dev/null
+++ b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.gate.layer.po
@@ -0,0 +1,177 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2022, Baidu Inc
+# This file is distributed under the same license as the paddle-quantum
+# package.
+# FIRST AUTHOR , 2022.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: paddle-quantum \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-05-17 11:08+0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: LANGUAGE \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.10.1\n"
+
+#: ../../source/paddle_quantum.gate.layer.rst:2
+msgid "paddle\\_quantum.gate.layer"
+msgstr ""
+
+#: of paddle_quantum.gate.layer:1
+msgid "The source file of the class for quantum circuit templates."
+msgstr ""
+
+#: of paddle_quantum.gate.layer.qubits_idx_filter:1
+msgid "Check the validity of ``qubits_idx`` and ``num_qubits``."
+msgstr ""
+
+#: of paddle_quantum.gate.layer.ComplexBlockLayer
+#: paddle_quantum.gate.layer.ComplexEntangledLayer
+#: paddle_quantum.gate.layer.LinearEntangledLayer
+#: paddle_quantum.gate.layer.RealBlockLayer
+#: paddle_quantum.gate.layer.RealEntangledLayer
+#: paddle_quantum.gate.layer.SuperpositionLayer
+#: paddle_quantum.gate.layer.WeakSuperpositionLayer
+#: paddle_quantum.gate.layer.qubits_idx_filter
+msgid "Parameters"
+msgstr ""
+
+#: of paddle_quantum.gate.layer.qubits_idx_filter:3
+msgid "Indices of qubits."
+msgstr ""
+
+#: of paddle_quantum.gate.layer.qubits_idx_filter:4
+msgid "Total number of qubits."
+msgstr ""
+
+#: of paddle_quantum.gate.layer.qubits_idx_filter
+msgid "Raises"
+msgstr ""
+
+#: of paddle_quantum.gate.layer.qubits_idx_filter:6
+msgid ""
+"You must specify ``qubits_idx`` or ``num_qubits`` to instantiate the "
+"class."
+msgstr ""
+
+#: of paddle_quantum.gate.layer.qubits_idx_filter:7
+msgid "The ``qubits_idx`` must be ``Iterable`` or ``'full'``."
+msgstr ""
+
+#: of paddle_quantum.gate.layer.qubits_idx_filter
+msgid "Returns"
+msgstr ""
+
+#: of paddle_quantum.gate.layer.qubits_idx_filter:9
+msgid "Checked indices of qubits."
+msgstr ""
+
+#: of paddle_quantum.gate.layer.qubits_idx_filter
+msgid "Return type"
+msgstr ""
+
+#: of paddle_quantum.gate.layer.ComplexBlockLayer:1
+#: paddle_quantum.gate.layer.ComplexEntangledLayer:1
+#: paddle_quantum.gate.layer.LinearEntangledLayer:1
+#: paddle_quantum.gate.layer.RealBlockLayer:1
+#: paddle_quantum.gate.layer.RealEntangledLayer:1
+#: paddle_quantum.gate.layer.SuperpositionLayer:1
+#: paddle_quantum.gate.layer.WeakSuperpositionLayer:1
+msgid "Bases: :py:class:`~paddle_quantum.gate.base.Gate`"
+msgstr ""
+
+#: of paddle_quantum.gate.layer.SuperpositionLayer:1
+msgid "Layers of Hadamard gates."
+msgstr ""
+
+#: of paddle_quantum.gate.layer.ComplexBlockLayer:5
+#: paddle_quantum.gate.layer.ComplexEntangledLayer:8
+#: paddle_quantum.gate.layer.LinearEntangledLayer:3
+#: paddle_quantum.gate.layer.RealBlockLayer:5
+#: paddle_quantum.gate.layer.RealEntangledLayer:8
+#: paddle_quantum.gate.layer.SuperpositionLayer:3
+#: paddle_quantum.gate.layer.WeakSuperpositionLayer:3
+msgid ""
+"Indices of the qubits on which the gates are applied. Defaults to "
+"``'full'``."
+msgstr ""
+
+#: of paddle_quantum.gate.layer.ComplexBlockLayer:6
+#: paddle_quantum.gate.layer.ComplexEntangledLayer:9
+#: paddle_quantum.gate.layer.LinearEntangledLayer:4
+#: paddle_quantum.gate.layer.RealBlockLayer:6
+#: paddle_quantum.gate.layer.RealEntangledLayer:9
+#: paddle_quantum.gate.layer.SuperpositionLayer:4
+#: paddle_quantum.gate.layer.WeakSuperpositionLayer:4
+msgid "Total number of qubits. Defaults to ``None``."
+msgstr ""
+
+#: of paddle_quantum.gate.layer.ComplexBlockLayer:7
+#: paddle_quantum.gate.layer.ComplexEntangledLayer:10
+#: paddle_quantum.gate.layer.LinearEntangledLayer:5
+#: paddle_quantum.gate.layer.RealBlockLayer:7
+#: paddle_quantum.gate.layer.RealEntangledLayer:10
+#: paddle_quantum.gate.layer.SuperpositionLayer:5
+#: paddle_quantum.gate.layer.WeakSuperpositionLayer:5
+msgid "Number of layers. Defaults to ``1``."
+msgstr ""
+
+#: of paddle_quantum.gate.layer.WeakSuperpositionLayer:1
+msgid "Layers of Ry gates with a rotation angle :math:`\\pi/4`."
+msgstr ""
+
+#: of paddle_quantum.gate.layer.LinearEntangledLayer:1
+msgid "Linear entangled layers consisting of Ry gates, Rz gates, and CNOT gates."
+msgstr ""
+
+#: of paddle_quantum.gate.layer.RealEntangledLayer:1
+msgid "Strongly entangled layers consisting of Ry gates and CNOT gates."
+msgstr ""
+
+#: of paddle_quantum.gate.layer.RealEntangledLayer:5
+msgid ""
+"The mathematical representation of this layer of quantum gates is a real "
+"unitary matrix. This ansatz is from the following paper: "
+"https://arxiv.org/pdf/1905.10876.pdf."
+msgstr ""
+
+#: of paddle_quantum.gate.layer.ComplexEntangledLayer:1
+msgid ""
+"Strongly entangled layers consisting of single-qubit rotation gates and "
+"CNOT gates."
+msgstr ""
+
+#: of paddle_quantum.gate.layer.ComplexEntangledLayer:5
+msgid ""
+"The mathematical representation of this layer of quantum gates is a "
+"complex unitary matrix. This ansatz is from the following paper: "
+"https://arxiv.org/abs/1804.00633."
+msgstr ""
+
+#: of paddle_quantum.gate.layer.RealBlockLayer:1
+msgid "Weakly entangled layers consisting of Ry gates and CNOT gates."
+msgstr ""
+
+#: of paddle_quantum.gate.layer.RealBlockLayer:3
+msgid ""
+"The mathematical representation of this layer of quantum gates is a real "
+"unitary matrix."
+msgstr ""
+
+#: of paddle_quantum.gate.layer.ComplexBlockLayer:1
+msgid ""
+"Weakly entangled layers consisting of single-qubit rotation gates and "
+"CNOT gates."
+msgstr ""
+
+#: of paddle_quantum.gate.layer.ComplexBlockLayer:3
+msgid ""
+"The mathematical representation of this layer of quantum gates is a "
+"complex unitary matrix."
+msgstr ""
+
diff --git a/docs/source/locale/en/LC_MESSAGES/paddle_quantum.gate.multi_qubit_gate.po b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.gate.multi_qubit_gate.po
new file mode 100644
index 0000000..a61dd34
--- /dev/null
+++ b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.gate.multi_qubit_gate.po
@@ -0,0 +1,506 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2022, Baidu Inc
+# This file is distributed under the same license as the paddle-quantum
+# package.
+# FIRST AUTHOR , 2022.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: paddle-quantum \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-05-17 11:08+0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: LANGUAGE \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.10.1\n"
+
+#: ../../source/paddle_quantum.gate.multi_qubit_gate.rst:2
+msgid "paddle\\_quantum.gate.multi\\_qubit\\_gate"
+msgstr ""
+
+#: of paddle_quantum.gate.multi_qubit_gate:1
+msgid "The source file of the classes for multi-qubit gates."
+msgstr ""
+
+#: of paddle_quantum.gate.multi_qubit_gate.CNOT:1
+#: paddle_quantum.gate.multi_qubit_gate.CP:1
+#: paddle_quantum.gate.multi_qubit_gate.CRX:1
+#: paddle_quantum.gate.multi_qubit_gate.CRY:1
+#: paddle_quantum.gate.multi_qubit_gate.CRZ:1
+#: paddle_quantum.gate.multi_qubit_gate.CSWAP:1
+#: paddle_quantum.gate.multi_qubit_gate.CU:1
+#: paddle_quantum.gate.multi_qubit_gate.CX:1
+#: paddle_quantum.gate.multi_qubit_gate.CY:1
+#: paddle_quantum.gate.multi_qubit_gate.CZ:1
+#: paddle_quantum.gate.multi_qubit_gate.MS:1
+#: paddle_quantum.gate.multi_qubit_gate.RXX:1
+#: paddle_quantum.gate.multi_qubit_gate.RYY:1
+#: paddle_quantum.gate.multi_qubit_gate.RZZ:1
+#: paddle_quantum.gate.multi_qubit_gate.SWAP:1
+#: paddle_quantum.gate.multi_qubit_gate.Toffoli:1
+#: paddle_quantum.gate.multi_qubit_gate.UniversalThreeQubits:1
+#: paddle_quantum.gate.multi_qubit_gate.UniversalTwoQubits:1
+msgid "Bases: :py:class:`~paddle_quantum.gate.base.Gate`"
+msgstr ""
+
+#: of paddle_quantum.gate.multi_qubit_gate.CNOT:1
+msgid "A collection of CNOT gates."
+msgstr ""
+
+#: of paddle_quantum.gate.multi_qubit_gate.CNOT:3
+#: paddle_quantum.gate.multi_qubit_gate.CP:3
+#: paddle_quantum.gate.multi_qubit_gate.CRX:3
+#: paddle_quantum.gate.multi_qubit_gate.CRY:3
+#: paddle_quantum.gate.multi_qubit_gate.CRZ:3
+#: paddle_quantum.gate.multi_qubit_gate.CU:3
+#: paddle_quantum.gate.multi_qubit_gate.CY:3
+#: paddle_quantum.gate.multi_qubit_gate.CZ:3
+msgid ""
+"For a 2-qubit quantum circuit, when ``qubits_idx`` is ``[0, 1]``, the "
+"matrix form of such a gate is:"
+msgstr ""
+
+#: of paddle_quantum.gate.multi_qubit_gate.CNOT:5
+msgid ""
+"\\begin{align}\n"
+" CNOT &=|0\\rangle \\langle 0|\\otimes I + |1 \\rangle \\langle "
+"1|\\otimes X\\\\\n"
+" &=\n"
+" \\begin{bmatrix}\n"
+" 1 & 0 & 0 & 0 \\\\\n"
+" 0 & 1 & 0 & 0 \\\\\n"
+" 0 & 0 & 0 & 1 \\\\\n"
+" 0 & 0 & 1 & 0\n"
+" \\end{bmatrix}\n"
+"\\end{align}"
+msgstr ""
+
+#: of paddle_quantum.gate.multi_qubit_gate.CNOT
+#: paddle_quantum.gate.multi_qubit_gate.CP
+#: paddle_quantum.gate.multi_qubit_gate.CRX
+#: paddle_quantum.gate.multi_qubit_gate.CRY
+#: paddle_quantum.gate.multi_qubit_gate.CRZ
+#: paddle_quantum.gate.multi_qubit_gate.CSWAP
+#: paddle_quantum.gate.multi_qubit_gate.CU
+#: paddle_quantum.gate.multi_qubit_gate.CX
+#: paddle_quantum.gate.multi_qubit_gate.CY
+#: paddle_quantum.gate.multi_qubit_gate.CZ
+#: paddle_quantum.gate.multi_qubit_gate.MS
+#: paddle_quantum.gate.multi_qubit_gate.RXX
+#: paddle_quantum.gate.multi_qubit_gate.RYY
+#: paddle_quantum.gate.multi_qubit_gate.RZZ
+#: paddle_quantum.gate.multi_qubit_gate.SWAP
+#: paddle_quantum.gate.multi_qubit_gate.Toffoli
+#: paddle_quantum.gate.multi_qubit_gate.UniversalThreeQubits
+#: paddle_quantum.gate.multi_qubit_gate.UniversalTwoQubits
+msgid "Parameters"
+msgstr ""
+
+#: of paddle_quantum.gate.multi_qubit_gate.CNOT:18
+#: paddle_quantum.gate.multi_qubit_gate.CP:14
+#: paddle_quantum.gate.multi_qubit_gate.CRX:18
+#: paddle_quantum.gate.multi_qubit_gate.CRY:18
+#: paddle_quantum.gate.multi_qubit_gate.CRZ:18
+#: paddle_quantum.gate.multi_qubit_gate.CSWAP:21
+#: paddle_quantum.gate.multi_qubit_gate.CU:18
+#: paddle_quantum.gate.multi_qubit_gate.CX:3
+#: paddle_quantum.gate.multi_qubit_gate.CY:18
+#: paddle_quantum.gate.multi_qubit_gate.CZ:18
+#: paddle_quantum.gate.multi_qubit_gate.MS:17
+#: paddle_quantum.gate.multi_qubit_gate.RXX:17
+#: paddle_quantum.gate.multi_qubit_gate.RYY:17
+#: paddle_quantum.gate.multi_qubit_gate.RZZ:17
+#: paddle_quantum.gate.multi_qubit_gate.SWAP:17
+#: paddle_quantum.gate.multi_qubit_gate.Toffoli:20
+#: paddle_quantum.gate.multi_qubit_gate.UniversalThreeQubits:3
+#: paddle_quantum.gate.multi_qubit_gate.UniversalTwoQubits:3
+msgid ""
+"Indices of the qubits on which the gates are applied. Defaults to "
+"``'cycle'``."
+msgstr ""
+
+#: of paddle_quantum.gate.multi_qubit_gate.CNOT:19
+#: paddle_quantum.gate.multi_qubit_gate.CP:15
+#: paddle_quantum.gate.multi_qubit_gate.CRX:19
+#: paddle_quantum.gate.multi_qubit_gate.CRY:19
+#: paddle_quantum.gate.multi_qubit_gate.CRZ:19
+#: paddle_quantum.gate.multi_qubit_gate.CSWAP:22
+#: paddle_quantum.gate.multi_qubit_gate.CU:19
+#: paddle_quantum.gate.multi_qubit_gate.CX:4
+#: paddle_quantum.gate.multi_qubit_gate.CY:19
+#: paddle_quantum.gate.multi_qubit_gate.CZ:19
+#: paddle_quantum.gate.multi_qubit_gate.MS:18
+#: paddle_quantum.gate.multi_qubit_gate.RXX:18
+#: paddle_quantum.gate.multi_qubit_gate.RYY:18
+#: paddle_quantum.gate.multi_qubit_gate.RZZ:18
+#: paddle_quantum.gate.multi_qubit_gate.SWAP:18
+#: paddle_quantum.gate.multi_qubit_gate.Toffoli:21
+#: paddle_quantum.gate.multi_qubit_gate.UniversalThreeQubits:4
+#: paddle_quantum.gate.multi_qubit_gate.UniversalTwoQubits:4
+msgid "Total number of qubits. Defaults to ``None``."
+msgstr ""
+
+#: of paddle_quantum.gate.multi_qubit_gate.CNOT:20
+#: paddle_quantum.gate.multi_qubit_gate.CP:16
+#: paddle_quantum.gate.multi_qubit_gate.CRX:20
+#: paddle_quantum.gate.multi_qubit_gate.CRY:20
+#: paddle_quantum.gate.multi_qubit_gate.CRZ:20
+#: paddle_quantum.gate.multi_qubit_gate.CSWAP:23
+#: paddle_quantum.gate.multi_qubit_gate.CU:20
+#: paddle_quantum.gate.multi_qubit_gate.CX:5
+#: paddle_quantum.gate.multi_qubit_gate.CY:20
+#: paddle_quantum.gate.multi_qubit_gate.CZ:20
+#: paddle_quantum.gate.multi_qubit_gate.MS:19
+#: paddle_quantum.gate.multi_qubit_gate.RXX:19
+#: paddle_quantum.gate.multi_qubit_gate.RYY:19
+#: paddle_quantum.gate.multi_qubit_gate.RZZ:19
+#: paddle_quantum.gate.multi_qubit_gate.SWAP:19
+#: paddle_quantum.gate.multi_qubit_gate.Toffoli:22
+#: paddle_quantum.gate.multi_qubit_gate.UniversalThreeQubits:5
+#: paddle_quantum.gate.multi_qubit_gate.UniversalTwoQubits:5
+msgid "Number of layers. Defaults to ``1``."
+msgstr ""
+
+#: of paddle_quantum.gate.multi_qubit_gate.CX:1
+msgid "Same as CNOT."
+msgstr ""
+
+#: of paddle_quantum.gate.multi_qubit_gate.CY:1
+msgid "A collection of controlled Y gates."
+msgstr ""
+
+#: of paddle_quantum.gate.multi_qubit_gate.CY:5
+msgid ""
+"\\begin{align}\n"
+" CY &=|0\\rangle \\langle 0|\\otimes I + |1 \\rangle \\langle "
+"1|\\otimes Y\\\\\n"
+" &=\n"
+" \\begin{bmatrix}\n"
+" 1 & 0 & 0 & 0 \\\\\n"
+" 0 & 1 & 0 & 0 \\\\\n"
+" 0 & 0 & 0 & -1j \\\\\n"
+" 0 & 0 & 1j & 0\n"
+" \\end{bmatrix}\n"
+"\\end{align}"
+msgstr ""
+
+#: of paddle_quantum.gate.multi_qubit_gate.CZ:1
+msgid "A collection of controlled Z gates."
+msgstr ""
+
+#: of paddle_quantum.gate.multi_qubit_gate.CZ:5
+msgid ""
+"\\begin{align}\n"
+" CZ &=|0\\rangle \\langle 0|\\otimes I + |1 \\rangle \\langle "
+"1|\\otimes Z\\\\\n"
+" &=\n"
+" \\begin{bmatrix}\n"
+" 1 & 0 & 0 & 0 \\\\\n"
+" 0 & 1 & 0 & 0 \\\\\n"
+" 0 & 0 & 1 & 0 \\\\\n"
+" 0 & 0 & 0 & -1\n"
+" \\end{bmatrix}\n"
+"\\end{align}"
+msgstr ""
+
+#: of paddle_quantum.gate.multi_qubit_gate.SWAP:1
+msgid "A collection of SWAP gates."
+msgstr ""
+
+#: of paddle_quantum.gate.multi_qubit_gate.CSWAP:3
+#: paddle_quantum.gate.multi_qubit_gate.MS:3
+#: paddle_quantum.gate.multi_qubit_gate.RXX:3
+#: paddle_quantum.gate.multi_qubit_gate.RYY:3
+#: paddle_quantum.gate.multi_qubit_gate.RZZ:3
+#: paddle_quantum.gate.multi_qubit_gate.SWAP:3
+#: paddle_quantum.gate.multi_qubit_gate.Toffoli:3
+msgid "The matrix form of such a gate is:"
+msgstr ""
+
+#: of paddle_quantum.gate.multi_qubit_gate.SWAP:5
+msgid ""
+"\\begin{align}\n"
+" SWAP =\n"
+" \\begin{bmatrix}\n"
+" 1 & 0 & 0 & 0 \\\\\n"
+" 0 & 0 & 1 & 0 \\\\\n"
+" 0 & 1 & 0 & 0 \\\\\n"
+" 0 & 0 & 0 & 1\n"
+" \\end{bmatrix}\n"
+"\\end{align}"
+msgstr ""
+
+#: of paddle_quantum.gate.multi_qubit_gate.CP:1
+msgid "A collection of controlled P gates."
+msgstr ""
+
+#: of paddle_quantum.gate.multi_qubit_gate.CP:5
+msgid ""
+"\\begin{bmatrix}\n"
+" 1 & 0 & 0 & 0\\\\\n"
+" 0 & 1 & 0 & 0\\\\\n"
+" 0 & 0 & 1 & 0\\\\\n"
+" 0 & 0 & 0 & e^{i\\theta}\n"
+"\\end{bmatrix}"
+msgstr ""
+
+#: of paddle_quantum.gate.multi_qubit_gate.CP:17
+#: paddle_quantum.gate.multi_qubit_gate.CRX:21
+#: paddle_quantum.gate.multi_qubit_gate.CRY:21
+#: paddle_quantum.gate.multi_qubit_gate.CRZ:21
+#: paddle_quantum.gate.multi_qubit_gate.CU:21
+#: paddle_quantum.gate.multi_qubit_gate.RXX:20
+#: paddle_quantum.gate.multi_qubit_gate.RYY:20
+#: paddle_quantum.gate.multi_qubit_gate.RZZ:20
+#: paddle_quantum.gate.multi_qubit_gate.UniversalThreeQubits:6
+#: paddle_quantum.gate.multi_qubit_gate.UniversalTwoQubits:6
+msgid "Parameters of the gates. Defaults to ``None``."
+msgstr ""
+
+#: of paddle_quantum.gate.multi_qubit_gate.CP:18
+#: paddle_quantum.gate.multi_qubit_gate.CRX:22
+#: paddle_quantum.gate.multi_qubit_gate.CRY:22
+#: paddle_quantum.gate.multi_qubit_gate.CRZ:22
+#: paddle_quantum.gate.multi_qubit_gate.CU:22
+#: paddle_quantum.gate.multi_qubit_gate.RXX:21
+#: paddle_quantum.gate.multi_qubit_gate.RYY:21
+#: paddle_quantum.gate.multi_qubit_gate.RZZ:21
+#: paddle_quantum.gate.multi_qubit_gate.UniversalThreeQubits:7
+#: paddle_quantum.gate.multi_qubit_gate.UniversalTwoQubits:7
+msgid "Whether gates in the same layer share a parameter. Defaults to ``False``."
+msgstr ""
+
+#: of paddle_quantum.gate.multi_qubit_gate.CP
+#: paddle_quantum.gate.multi_qubit_gate.CRX
+#: paddle_quantum.gate.multi_qubit_gate.CRY
+#: paddle_quantum.gate.multi_qubit_gate.CRZ
+#: paddle_quantum.gate.multi_qubit_gate.CU
+#: paddle_quantum.gate.multi_qubit_gate.RXX
+#: paddle_quantum.gate.multi_qubit_gate.RYY
+#: paddle_quantum.gate.multi_qubit_gate.RZZ
+#: paddle_quantum.gate.multi_qubit_gate.UniversalThreeQubits
+#: paddle_quantum.gate.multi_qubit_gate.UniversalTwoQubits
+msgid "Raises"
+msgstr ""
+
+#: of paddle_quantum.gate.multi_qubit_gate.CP:20
+#: paddle_quantum.gate.multi_qubit_gate.CRX:24
+#: paddle_quantum.gate.multi_qubit_gate.CRY:24
+#: paddle_quantum.gate.multi_qubit_gate.CRZ:24
+#: paddle_quantum.gate.multi_qubit_gate.CU:24
+#: paddle_quantum.gate.multi_qubit_gate.RXX:23
+#: paddle_quantum.gate.multi_qubit_gate.RYY:23
+#: paddle_quantum.gate.multi_qubit_gate.RZZ:23
+#: paddle_quantum.gate.multi_qubit_gate.UniversalThreeQubits:9
+#: paddle_quantum.gate.multi_qubit_gate.UniversalTwoQubits:9
+msgid "The ``param`` must be ``paddle.Tensor`` or ``float``."
+msgstr ""
+
+#: of paddle_quantum.gate.multi_qubit_gate.CRX:1
+msgid "A collection of controlled rotation gates about the x-axis."
+msgstr ""
+
+#: of paddle_quantum.gate.multi_qubit_gate.CRX:5
+msgid ""
+"\\begin{align}\n"
+" CRx &=|0\\rangle \\langle 0|\\otimes I + |1 \\rangle \\langle "
+"1|\\otimes Rx\\\\\n"
+" &=\n"
+" \\begin{bmatrix}\n"
+" 1 & 0 & 0 & 0 \\\\\n"
+" 0 & 1 & 0 & 0 \\\\\n"
+" 0 & 0 & \\cos\\frac{\\theta}{2} & -i\\sin\\frac{\\theta}{2} \\\\\n"
+" 0 & 0 & -i\\sin\\frac{\\theta}{2} & \\cos\\frac{\\theta}{2}\n"
+" \\end{bmatrix}\n"
+"\\end{align}"
+msgstr ""
+
+#: of paddle_quantum.gate.multi_qubit_gate.CRY:1
+msgid "A collection of controlled rotation gates about the y-axis."
+msgstr ""
+
+#: of paddle_quantum.gate.multi_qubit_gate.CRY:5
+msgid ""
+"\\begin{align}\n"
+" CRy &=|0\\rangle \\langle 0|\\otimes I + |1 \\rangle \\langle "
+"1|\\otimes Ry\\\\\n"
+" &=\n"
+" \\begin{bmatrix}\n"
+" 1 & 0 & 0 & 0 \\\\\n"
+" 0 & 1 & 0 & 0 \\\\\n"
+" 0 & 0 & \\cos\\frac{\\theta}{2} & -\\sin\\frac{\\theta}{2} \\\\\n"
+" 0 & 0 & \\sin\\frac{\\theta}{2} & \\cos\\frac{\\theta}{2}\n"
+" \\end{bmatrix}\n"
+"\\end{align}"
+msgstr ""
+
+#: of paddle_quantum.gate.multi_qubit_gate.CRZ:1
+msgid "A collection of controlled rotation gates about the z-axis."
+msgstr ""
+
+#: of paddle_quantum.gate.multi_qubit_gate.CRZ:5
+msgid ""
+"\\begin{align}\n"
+" CRz &=|0\\rangle \\langle 0|\\otimes I + |1 \\rangle \\langle "
+"1|\\otimes Rz\\\\\n"
+" &=\n"
+" \\begin{bmatrix}\n"
+" 1 & 0 & 0 & 0 \\\\\n"
+" 0 & 1 & 0 & 0 \\\\\n"
+" 0 & 0 & 1 & 0 \\\\\n"
+" 0 & 0 & 0 & e^{i\\theta}\n"
+" \\end{bmatrix}\n"
+"\\end{align}"
+msgstr ""
+
+#: of paddle_quantum.gate.multi_qubit_gate.CU:1
+msgid "A collection of controlled single-qubit rotation gates."
+msgstr ""
+
+#: of paddle_quantum.gate.multi_qubit_gate.CU:5
+msgid ""
+"\\begin{align}\n"
+" CU\n"
+" &=\n"
+" \\begin{bmatrix}\n"
+" 1 & 0 & 0 & 0 \\\\\n"
+" 0 & 1 & 0 & 0 \\\\\n"
+" 0 & 0 & \\cos\\frac\\theta2 &-e^{i\\lambda}\\sin\\frac\\theta2 "
+"\\\\\n"
+" 0 & 0 & "
+"e^{i\\phi}\\sin\\frac\\theta2&e^{i(\\phi+\\lambda)}\\cos\\frac\\theta2\n"
+" \\end{bmatrix}\n"
+"\\end{align}"
+msgstr ""
+
+#: of paddle_quantum.gate.multi_qubit_gate.RXX:1
+msgid "A collection of RXX gates."
+msgstr ""
+
+#: of paddle_quantum.gate.multi_qubit_gate.RXX:5
+msgid ""
+"\\begin{align}\n"
+" RXX(\\theta) =\n"
+" \\begin{bmatrix}\n"
+" \\cos\\frac{\\theta}{2} & 0 & 0 & -i\\sin\\frac{\\theta}{2} "
+"\\\\\n"
+" 0 & \\cos\\frac{\\theta}{2} & -i\\sin\\frac{\\theta}{2} & 0 "
+"\\\\\n"
+" 0 & -i\\sin\\frac{\\theta}{2} & \\cos\\frac{\\theta}{2} & 0 "
+"\\\\\n"
+" -i\\sin\\frac{\\theta}{2} & 0 & 0 & \\cos\\frac{\\theta}{2}\n"
+" \\end{bmatrix}\n"
+"\\end{align}"
+msgstr ""
+
+#: of paddle_quantum.gate.multi_qubit_gate.RYY:1
+msgid "A collection of RYY gates."
+msgstr ""
+
+#: of paddle_quantum.gate.multi_qubit_gate.RYY:5
+msgid ""
+"\\begin{align}\n"
+" RYY(\\theta) =\n"
+" \\begin{bmatrix}\n"
+" \\cos\\frac{\\theta}{2} & 0 & 0 & i\\sin\\frac{\\theta}{2} "
+"\\\\\n"
+" 0 & \\cos\\frac{\\theta}{2} & -i\\sin\\frac{\\theta}{2} & 0 "
+"\\\\\n"
+" 0 & -i\\sin\\frac{\\theta}{2} & \\cos\\frac{\\theta}{2} & 0 "
+"\\\\\n"
+" i\\sin\\frac{\\theta}{2} & 0 & 0 & cos\\frac{\\theta}{2}\n"
+" \\end{bmatrix}\n"
+"\\end{align}"
+msgstr ""
+
+#: of paddle_quantum.gate.multi_qubit_gate.RZZ:1
+msgid "A collection of RZZ gates."
+msgstr ""
+
+#: of paddle_quantum.gate.multi_qubit_gate.RZZ:5
+msgid ""
+"\\begin{align}\n"
+" RZZ(\\theta) =\n"
+" \\begin{bmatrix}\n"
+" e^{-i\\frac{\\theta}{2}} & 0 & 0 & 0 \\\\\n"
+" 0 & e^{i\\frac{\\theta}{2}} & 0 & 0 \\\\\n"
+" 0 & 0 & e^{i\\frac{\\theta}{2}} & 0 \\\\\n"
+" 0 & 0 & 0 & e^{-i\\frac{\\theta}{2}}\n"
+" \\end{bmatrix}\n"
+"\\end{align}"
+msgstr ""
+
+#: of paddle_quantum.gate.multi_qubit_gate.MS:1
+msgid "A collection of Mølmer-Sørensen (MS) gates for trapped ion devices."
+msgstr ""
+
+#: of paddle_quantum.gate.multi_qubit_gate.MS:5
+msgid ""
+"\\begin{align}\n"
+" MS = RXX(-\\frac{\\pi}{2}) = \\frac{1}{\\sqrt{2}}\n"
+" \\begin{bmatrix}\n"
+" 1 & 0 & 0 & i \\\\\n"
+" 0 & 1 & i & 0 \\\\\n"
+" 0 & i & 1 & 0 \\\\\n"
+" i & 0 & 0 & 1\n"
+" \\end{bmatrix}\n"
+"\\end{align}"
+msgstr ""
+
+#: of paddle_quantum.gate.multi_qubit_gate.CSWAP:1
+msgid "A collection of CSWAP (Fredkin) gates."
+msgstr ""
+
+#: of paddle_quantum.gate.multi_qubit_gate.CSWAP:5
+msgid ""
+"\\begin{align}\n"
+" CSWAP =\n"
+" \\begin{bmatrix}\n"
+" 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\\\\n"
+" 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\\\\n"
+" 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 \\\\\n"
+" 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 \\\\\n"
+" 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 \\\\\n"
+" 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 \\\\\n"
+" 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 \\\\\n"
+" 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1\n"
+" \\end{bmatrix}\n"
+"\\end{align}"
+msgstr ""
+
+#: of paddle_quantum.gate.multi_qubit_gate.Toffoli:1
+msgid "A collection of Toffoli gates."
+msgstr ""
+
+#: of paddle_quantum.gate.multi_qubit_gate.Toffoli:5
+msgid ""
+"\\begin{align}\n"
+" \\begin{bmatrix}\n"
+" 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\\\\n"
+" 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\\\\n"
+" 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 \\\\\n"
+" 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 \\\\\n"
+" 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 \\\\\n"
+" 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 \\\\\n"
+" 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 \\\\\n"
+" 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0\n"
+" \\end{bmatrix}\n"
+"\\end{align}"
+msgstr ""
+
+#: of paddle_quantum.gate.multi_qubit_gate.UniversalTwoQubits:1
+msgid ""
+"A collection of universal two-qubit gates. One of such a gate requires 15"
+" parameters."
+msgstr ""
+
+#: of paddle_quantum.gate.multi_qubit_gate.UniversalThreeQubits:1
+msgid ""
+"A collection of universal three-qubit gates. One of such a gate requires "
+"81 parameters."
+msgstr ""
+
diff --git a/docs/source/locale/en/LC_MESSAGES/paddle_quantum.gate.po b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.gate.po
new file mode 100644
index 0000000..ea2a27d
--- /dev/null
+++ b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.gate.po
@@ -0,0 +1,36 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2022, Baidu Inc
+# This file is distributed under the same license as the paddle-quantum
+# package.
+# FIRST AUTHOR , 2022.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: paddle-quantum \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-05-17 11:08+0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: LANGUAGE \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.10.1\n"
+
+#: ../../source/paddle_quantum.gate.rst:2
+msgid "paddle\\_quantum.gate"
+msgstr ""
+
+#: of paddle_quantum.gate:1
+msgid "The module of the quantum gates."
+msgstr ""
+
+#: ../../source/paddle_quantum.gate.rst:9
+msgid "Subpackages"
+msgstr ""
+
+#: ../../source/paddle_quantum.gate.rst:16
+msgid "Submodules"
+msgstr ""
+
diff --git a/docs/source/locale/en/LC_MESSAGES/paddle_quantum.gate.single_qubit_gate.po b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.gate.single_qubit_gate.po
new file mode 100644
index 0000000..c6e73fe
--- /dev/null
+++ b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.gate.single_qubit_gate.po
@@ -0,0 +1,285 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2022, Baidu Inc
+# This file is distributed under the same license as the paddle-quantum
+# package.
+# FIRST AUTHOR , 2022.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: paddle-quantum \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-05-17 11:08+0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: LANGUAGE \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.10.1\n"
+
+#: ../../source/paddle_quantum.gate.single_qubit_gate.rst:2
+msgid "paddle\\_quantum.gate.single\\_qubit\\_gate"
+msgstr ""
+
+#: of paddle_quantum.gate.single_qubit_gate:1
+msgid "The source file of the classes for single-qubit gates."
+msgstr ""
+
+#: of paddle_quantum.gate.single_qubit_gate.H:1
+#: paddle_quantum.gate.single_qubit_gate.P:1
+#: paddle_quantum.gate.single_qubit_gate.RX:1
+#: paddle_quantum.gate.single_qubit_gate.RY:1
+#: paddle_quantum.gate.single_qubit_gate.RZ:1
+#: paddle_quantum.gate.single_qubit_gate.S:1
+#: paddle_quantum.gate.single_qubit_gate.T:1
+#: paddle_quantum.gate.single_qubit_gate.U3:1
+#: paddle_quantum.gate.single_qubit_gate.X:1
+#: paddle_quantum.gate.single_qubit_gate.Y:1
+#: paddle_quantum.gate.single_qubit_gate.Z:1
+msgid "Bases: :py:class:`~paddle_quantum.gate.base.Gate`"
+msgstr ""
+
+#: of paddle_quantum.gate.single_qubit_gate.H:1
+msgid "A collection of single-qubit Hadamard gates."
+msgstr ""
+
+#: of paddle_quantum.gate.single_qubit_gate.H:3
+#: paddle_quantum.gate.single_qubit_gate.P:3
+#: paddle_quantum.gate.single_qubit_gate.RX:3
+#: paddle_quantum.gate.single_qubit_gate.RY:3
+#: paddle_quantum.gate.single_qubit_gate.RZ:3
+#: paddle_quantum.gate.single_qubit_gate.S:3
+#: paddle_quantum.gate.single_qubit_gate.T:3
+#: paddle_quantum.gate.single_qubit_gate.U3:3
+#: paddle_quantum.gate.single_qubit_gate.X:3
+#: paddle_quantum.gate.single_qubit_gate.Y:3
+#: paddle_quantum.gate.single_qubit_gate.Z:3
+msgid "The matrix form of such a gate is:"
+msgstr ""
+
+#: of paddle_quantum.gate.single_qubit_gate.H:5
+msgid ""
+"H = \\frac{1}{\\sqrt{2}}\n"
+" \\begin{bmatrix}\n"
+" 1&1\\\\\n"
+" 1&-1\n"
+" \\end{bmatrix}"
+msgstr ""
+
+#: of paddle_quantum.gate.single_qubit_gate.H
+#: paddle_quantum.gate.single_qubit_gate.P
+#: paddle_quantum.gate.single_qubit_gate.RX
+#: paddle_quantum.gate.single_qubit_gate.RY
+#: paddle_quantum.gate.single_qubit_gate.RZ
+#: paddle_quantum.gate.single_qubit_gate.S
+#: paddle_quantum.gate.single_qubit_gate.T
+#: paddle_quantum.gate.single_qubit_gate.U3
+#: paddle_quantum.gate.single_qubit_gate.X
+#: paddle_quantum.gate.single_qubit_gate.Y
+#: paddle_quantum.gate.single_qubit_gate.Z
+msgid "Parameters"
+msgstr ""
+
+#: of paddle_quantum.gate.single_qubit_gate.H:13
+#: paddle_quantum.gate.single_qubit_gate.P:12
+#: paddle_quantum.gate.single_qubit_gate.RX:12
+#: paddle_quantum.gate.single_qubit_gate.RY:12
+#: paddle_quantum.gate.single_qubit_gate.RZ:12
+#: paddle_quantum.gate.single_qubit_gate.S:13
+#: paddle_quantum.gate.single_qubit_gate.T:13
+#: paddle_quantum.gate.single_qubit_gate.U3:15
+#: paddle_quantum.gate.single_qubit_gate.X:12
+#: paddle_quantum.gate.single_qubit_gate.Y:12
+#: paddle_quantum.gate.single_qubit_gate.Z:12
+msgid ""
+"Indices of the qubits on which the gates are applied. Defaults to "
+"``'full'``."
+msgstr ""
+
+#: of paddle_quantum.gate.single_qubit_gate.H:14
+#: paddle_quantum.gate.single_qubit_gate.P:13
+#: paddle_quantum.gate.single_qubit_gate.RX:13
+#: paddle_quantum.gate.single_qubit_gate.RY:13
+#: paddle_quantum.gate.single_qubit_gate.RZ:13
+#: paddle_quantum.gate.single_qubit_gate.S:14
+#: paddle_quantum.gate.single_qubit_gate.T:14
+#: paddle_quantum.gate.single_qubit_gate.U3:16
+#: paddle_quantum.gate.single_qubit_gate.X:13
+#: paddle_quantum.gate.single_qubit_gate.Y:13
+#: paddle_quantum.gate.single_qubit_gate.Z:13
+msgid "Total number of qubits. Defaults to ``None``."
+msgstr ""
+
+#: of paddle_quantum.gate.single_qubit_gate.H:15
+#: paddle_quantum.gate.single_qubit_gate.P:14
+#: paddle_quantum.gate.single_qubit_gate.RX:14
+#: paddle_quantum.gate.single_qubit_gate.RY:14
+#: paddle_quantum.gate.single_qubit_gate.RZ:14
+#: paddle_quantum.gate.single_qubit_gate.S:15
+#: paddle_quantum.gate.single_qubit_gate.T:15
+#: paddle_quantum.gate.single_qubit_gate.U3:17
+#: paddle_quantum.gate.single_qubit_gate.X:14
+#: paddle_quantum.gate.single_qubit_gate.Y:14
+#: paddle_quantum.gate.single_qubit_gate.Z:14
+msgid "Number of layers. Defaults to ``1``."
+msgstr ""
+
+#: of paddle_quantum.gate.single_qubit_gate.S:1
+msgid "A collection of single-qubit S gates."
+msgstr ""
+
+#: of paddle_quantum.gate.single_qubit_gate.S:5
+msgid ""
+"S =\n"
+" \\begin{bmatrix}\n"
+" 1&0\\\\\n"
+" 0&i\n"
+" \\end{bmatrix}"
+msgstr ""
+
+#: of paddle_quantum.gate.single_qubit_gate.T:1
+msgid "A collection of single-qubit T gates."
+msgstr ""
+
+#: of paddle_quantum.gate.single_qubit_gate.T:5
+msgid ""
+"T =\n"
+" \\begin{bmatrix}\n"
+" 1&0\\\\\n"
+" 0&e^\\frac{i\\pi}{4}\n"
+" \\end{bmatrix}"
+msgstr ""
+
+#: of paddle_quantum.gate.single_qubit_gate.X:1
+msgid "A collection of single-qubit X gates."
+msgstr ""
+
+#: of paddle_quantum.gate.single_qubit_gate.X:5
+msgid ""
+"\\begin{bmatrix}\n"
+" 0 & 1 \\\\\n"
+" 1 & 0\n"
+"\\end{bmatrix}"
+msgstr ""
+
+#: of paddle_quantum.gate.single_qubit_gate.Y:1
+msgid "A collection of single-qubit Y gates."
+msgstr ""
+
+#: of paddle_quantum.gate.single_qubit_gate.Y:5
+msgid ""
+"\\begin{bmatrix}\n"
+" 0 & -i \\\\\n"
+" i & 0\n"
+"\\end{bmatrix}"
+msgstr ""
+
+#: of paddle_quantum.gate.single_qubit_gate.Z:1
+msgid "A collection of single-qubit Z gates."
+msgstr ""
+
+#: of paddle_quantum.gate.single_qubit_gate.Z:5
+msgid ""
+"\\begin{bmatrix}\n"
+" 1 & 0 \\\\\n"
+" 0 & -1\n"
+"\\end{bmatrix}"
+msgstr ""
+
+#: of paddle_quantum.gate.single_qubit_gate.P:1
+msgid "A collection of single-qubit P gates."
+msgstr ""
+
+#: of paddle_quantum.gate.single_qubit_gate.P:5
+msgid ""
+"\\begin{bmatrix}\n"
+" 1 & 0 \\\\\n"
+" 0 & e^{i\\theta}\n"
+"\\end{bmatrix}"
+msgstr ""
+
+#: of paddle_quantum.gate.single_qubit_gate.P:15
+#: paddle_quantum.gate.single_qubit_gate.RX:15
+#: paddle_quantum.gate.single_qubit_gate.RY:15
+#: paddle_quantum.gate.single_qubit_gate.RZ:15
+#: paddle_quantum.gate.single_qubit_gate.U3:18
+msgid "Parameters of the gates. Defaults to ``None``."
+msgstr ""
+
+#: of paddle_quantum.gate.single_qubit_gate.P:16
+#: paddle_quantum.gate.single_qubit_gate.RX:16
+#: paddle_quantum.gate.single_qubit_gate.RY:16
+#: paddle_quantum.gate.single_qubit_gate.RZ:16
+#: paddle_quantum.gate.single_qubit_gate.U3:19
+msgid "Whether gates in the same layer share a parameter. Defaults to ``False``."
+msgstr ""
+
+#: of paddle_quantum.gate.single_qubit_gate.P
+#: paddle_quantum.gate.single_qubit_gate.RX
+#: paddle_quantum.gate.single_qubit_gate.RY
+#: paddle_quantum.gate.single_qubit_gate.RZ
+#: paddle_quantum.gate.single_qubit_gate.U3
+msgid "Raises"
+msgstr ""
+
+#: of paddle_quantum.gate.single_qubit_gate.P:18
+#: paddle_quantum.gate.single_qubit_gate.RX:18
+#: paddle_quantum.gate.single_qubit_gate.RY:18
+#: paddle_quantum.gate.single_qubit_gate.RZ:18
+#: paddle_quantum.gate.single_qubit_gate.U3:21
+msgid "The ``param`` must be ``paddle.Tensor`` or ``float``."
+msgstr ""
+
+#: of paddle_quantum.gate.single_qubit_gate.RX:1
+msgid "A collection of single-qubit rotation gates about the x-axis."
+msgstr ""
+
+#: of paddle_quantum.gate.single_qubit_gate.RX:5
+msgid ""
+"\\begin{bmatrix}\n"
+" \\cos\\frac{\\theta}{2} & -i\\sin\\frac{\\theta}{2} \\\\\n"
+" -i\\sin\\frac{\\theta}{2} & \\cos\\frac{\\theta}{2}\n"
+"\\end{bmatrix}"
+msgstr ""
+
+#: of paddle_quantum.gate.single_qubit_gate.RY:1
+msgid "A collection of single-qubit rotation gates about the y-axis."
+msgstr ""
+
+#: of paddle_quantum.gate.single_qubit_gate.RY:5
+msgid ""
+"\\begin{bmatrix}\n"
+" \\cos\\frac{\\theta}{2} & -\\sin\\frac{\\theta}{2} \\\\\n"
+" \\sin\\frac{\\theta}{2} & \\cos\\frac{\\theta}{2}\n"
+"\\end{bmatrix}"
+msgstr ""
+
+#: of paddle_quantum.gate.single_qubit_gate.RZ:1
+msgid "A collection of single-qubit rotation gates about the z-axis."
+msgstr ""
+
+#: of paddle_quantum.gate.single_qubit_gate.RZ:5
+msgid ""
+"\\begin{bmatrix}\n"
+" e^{-i\\frac{\\theta}{2}} & 0 \\\\\n"
+" 0 & e^{i\\frac{\\theta}{2}}\n"
+"\\end{bmatrix}"
+msgstr ""
+
+#: of paddle_quantum.gate.single_qubit_gate.U3:1
+msgid "A collection of single-qubit rotation gates."
+msgstr ""
+
+#: of paddle_quantum.gate.single_qubit_gate.U3:5
+msgid ""
+"\\begin{align}\n"
+" U3(\\theta, \\phi, \\lambda) =\n"
+" \\begin{bmatrix}\n"
+" \\cos\\frac\\theta2&-e^{i\\lambda}\\sin\\frac\\theta2\\\\\n"
+" "
+"e^{i\\phi}\\sin\\frac\\theta2&e^{i(\\phi+\\lambda)}\\cos\\frac\\theta2\n"
+" \\end{bmatrix}\n"
+"\\end{align}"
+msgstr ""
+
diff --git a/docs/source/locale/en/LC_MESSAGES/paddle_quantum.gradtool.po b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.gradtool.po
new file mode 100644
index 0000000..e104688
--- /dev/null
+++ b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.gradtool.po
@@ -0,0 +1,191 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2022, Baidu Inc
+# This file is distributed under the same license as the paddle-quantum
+# package.
+# FIRST AUTHOR , 2022.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: paddle-quantum \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-05-17 11:08+0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: LANGUAGE \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.10.1\n"
+
+#: ../../source/paddle_quantum.gradtool.rst:2
+msgid "paddle\\_quantum.gradtool"
+msgstr ""
+
+#: of paddle_quantum.gradtool:1
+msgid "The module of the gradient tool."
+msgstr ""
+
+#: of paddle_quantum.gradtool.show_gradient:1
+msgid "calculate gradient and loss function for every paramters in QNN"
+msgstr ""
+
+#: of paddle_quantum.gradtool.plot_distribution
+#: paddle_quantum.gradtool.plot_loss_grad
+#: paddle_quantum.gradtool.plot_supervised_loss_grad
+#: paddle_quantum.gradtool.random_sample
+#: paddle_quantum.gradtool.random_sample_supervised
+#: paddle_quantum.gradtool.show_gradient
+msgid "Parameters"
+msgstr ""
+
+#: of paddle_quantum.gradtool.plot_loss_grad:3
+#: paddle_quantum.gradtool.plot_supervised_loss_grad:3
+#: paddle_quantum.gradtool.random_sample:3
+#: paddle_quantum.gradtool.random_sample_supervised:3
+#: paddle_quantum.gradtool.show_gradient:3
+msgid "QNN ready to be trained"
+msgstr ""
+
+#: of paddle_quantum.gradtool.plot_loss_grad:4
+#: paddle_quantum.gradtool.plot_supervised_loss_grad:4
+#: paddle_quantum.gradtool.random_sample:4
+#: paddle_quantum.gradtool.random_sample_supervised:4
+#: paddle_quantum.gradtool.show_gradient:4
+msgid "loss function that evaluate QNN"
+msgstr ""
+
+#: of paddle_quantum.gradtool.plot_loss_grad:5
+#: paddle_quantum.gradtool.show_gradient:5
+msgid "number of iterations"
+msgstr ""
+
+#: of paddle_quantum.gradtool.plot_loss_grad:6
+#: paddle_quantum.gradtool.plot_supervised_loss_grad:7
+#: paddle_quantum.gradtool.show_gradient:6
+msgid "learning rate"
+msgstr ""
+
+#: of paddle_quantum.gradtool.plot_loss_grad:7
+#: paddle_quantum.gradtool.plot_supervised_loss_grad:11
+#: paddle_quantum.gradtool.random_sample:9
+#: paddle_quantum.gradtool.random_sample_supervised:13
+#: paddle_quantum.gradtool.show_gradient:7
+msgid "parameters for loss_func other than circuit"
+msgstr ""
+
+#: of paddle_quantum.gradtool.plot_supervised_loss_grad
+#: paddle_quantum.gradtool.random_sample
+#: paddle_quantum.gradtool.random_sample_supervised
+#: paddle_quantum.gradtool.show_gradient
+msgid "Returns"
+msgstr ""
+
+#: of paddle_quantum.gradtool.show_gradient:9
+msgid ""
+"contain following two elements - loss_list: list of losses for each "
+"iteration - grad_list: list of gradients for each iteration"
+msgstr ""
+
+#: of paddle_quantum.gradtool.plot_supervised_loss_grad
+#: paddle_quantum.gradtool.random_sample
+#: paddle_quantum.gradtool.random_sample_supervised
+#: paddle_quantum.gradtool.show_gradient
+msgid "Return type"
+msgstr ""
+
+#: of paddle_quantum.gradtool.random_sample:1
+msgid ""
+"random sampling the model. Obtain mean and variance of gradients "
+"according to different calculation modes"
+msgstr ""
+
+#: of paddle_quantum.gradtool.random_sample:5
+#: paddle_quantum.gradtool.random_sample_supervised:6
+msgid "number of sampling"
+msgstr ""
+
+#: of paddle_quantum.gradtool.random_sample:6
+#: paddle_quantum.gradtool.random_sample_supervised:10
+msgid "mode for calculation, default to be single"
+msgstr ""
+
+#: of paddle_quantum.gradtool.random_sample:7
+#: paddle_quantum.gradtool.random_sample_supervised:11
+msgid "whether plot the calculation"
+msgstr ""
+
+#: of paddle_quantum.gradtool.random_sample:8
+#: paddle_quantum.gradtool.random_sample_supervised:12
+msgid "which parameter to be plotted in single mode, default to be the first"
+msgstr ""
+
+#: of paddle_quantum.gradtool.random_sample:14
+#: paddle_quantum.gradtool.random_sample_supervised:17
+msgid ""
+"this function provides three calculation modes: single, max and random - "
+"in single mode, we calculate the mean and variance of gradients of every "
+"trainable parameters - in max mode, we calculate the mean and variance of"
+" maximum gradients of for every trainable parameters - in random mode, we"
+" calculate the mean and variance of data randomly extracted from "
+"gradients of every trainable parameters"
+msgstr ""
+
+#: of paddle_quantum.gradtool.plot_supervised_loss_grad:13
+#: paddle_quantum.gradtool.random_sample:19
+#: paddle_quantum.gradtool.random_sample_supervised:22
+msgid ""
+"contain the following two elements - loss_list: list of losses for each "
+"iteration - grad_list: list of gradients for each iteration"
+msgstr ""
+
+#: of paddle_quantum.gradtool.random_sample_supervised:1
+msgid ""
+"random sampling the supervised model. Obtain mean and variance of "
+"gradients according to different calculation modes"
+msgstr ""
+
+#: of paddle_quantum.gradtool.plot_supervised_loss_grad:5
+#: paddle_quantum.gradtool.random_sample_supervised:5
+msgid "number of qubits"
+msgstr ""
+
+#: of paddle_quantum.gradtool.plot_supervised_loss_grad:8
+#: paddle_quantum.gradtool.random_sample_supervised:7
+msgid "size of batches"
+msgstr ""
+
+#: of paddle_quantum.gradtool.plot_supervised_loss_grad:9
+#: paddle_quantum.gradtool.random_sample_supervised:8
+msgid "data set"
+msgstr ""
+
+#: of paddle_quantum.gradtool.plot_supervised_loss_grad:10
+#: paddle_quantum.gradtool.random_sample_supervised:9
+msgid "label set"
+msgstr ""
+
+#: of paddle_quantum.gradtool.plot_loss_grad:1
+msgid ""
+"plot the distribution maps between loss values & gradients and number of "
+"iterations"
+msgstr ""
+
+#: of paddle_quantum.gradtool.plot_supervised_loss_grad:1
+msgid ""
+"plot the distribution maps between loss values & gradients and number of "
+"iterations in supervised training"
+msgstr ""
+
+#: of paddle_quantum.gradtool.plot_supervised_loss_grad:6
+msgid "number of training iterations"
+msgstr ""
+
+#: of paddle_quantum.gradtool.plot_distribution:1
+msgid "plot the distribution map according to input gradient"
+msgstr ""
+
+#: of paddle_quantum.gradtool.plot_distribution:3
+msgid "list of gradients of a parameter"
+msgstr ""
+
diff --git a/docs/source/locale/en/LC_MESSAGES/paddle_quantum.hamiltonian.po b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.hamiltonian.po
new file mode 100644
index 0000000..4134a1e
--- /dev/null
+++ b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.hamiltonian.po
@@ -0,0 +1,206 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2022, Baidu Inc
+# This file is distributed under the same license as the paddle-quantum
+# package.
+# FIRST AUTHOR , 2022.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: paddle-quantum \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-05-17 11:08+0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: LANGUAGE \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.10.1\n"
+
+#: ../../source/paddle_quantum.hamiltonian.rst:2
+msgid "paddle\\_quantum.hamiltonian"
+msgstr ""
+
+#: of paddle_quantum.hamiltonian:1
+msgid "The module of the hamiltonian class."
+msgstr ""
+
+#: of paddle_quantum.hamiltonian.Hamiltonian:1
+#: paddle_quantum.hamiltonian.SpinOps:1
+msgid "Bases: :py:class:`object`"
+msgstr ""
+
+#: of paddle_quantum.hamiltonian.Hamiltonian:1
+msgid "Hamiltonian ``class`` in Paddle Quantum."
+msgstr ""
+
+#: of paddle_quantum.hamiltonian.Hamiltonian:3
+msgid "User can instantiate the ``class`` with a Pauli string."
+msgstr ""
+
+#: of paddle_quantum.hamiltonian.Hamiltonian
+#: paddle_quantum.hamiltonian.Hamiltonian.construct_h_matrix
+#: paddle_quantum.hamiltonian.SpinOps
+msgid "Parameters"
+msgstr ""
+
+#: of paddle_quantum.hamiltonian.Hamiltonian:5
+msgid "A list of Hamiltonian information, e.g. ``[(1, 'Z0, Z1'), (2, 'I')]``"
+msgstr ""
+
+#: of paddle_quantum.hamiltonian.Hamiltonian:6
+msgid ""
+"Determines whether the input list will be automatically merged (e.g.``(1,"
+" 'Z0, Z1')`` and ``(2, 'Z1, Z0')``, these two items will be automatically"
+" merged)."
+msgstr ""
+
+#: of paddle_quantum.hamiltonian.Hamiltonian
+#: paddle_quantum.hamiltonian.Hamiltonian.construct_h_matrix
+#: paddle_quantum.hamiltonian.Hamiltonian.decompose_pauli_words
+#: paddle_quantum.hamiltonian.Hamiltonian.decompose_with_sites
+msgid "Returns"
+msgstr ""
+
+#: of paddle_quantum.hamiltonian.Hamiltonian:9
+msgid "Create a Hamiltonian class"
+msgstr ""
+
+#: of paddle_quantum.hamiltonian.Hamiltonian:11
+msgid "If ``compress=False``, the legitimacy of the input will not be checked."
+msgstr ""
+
+#: of paddle_quantum.hamiltonian.Hamiltonian.n_terms:1
+msgid "Number of terms of the hamiltonian."
+msgstr ""
+
+#: of paddle_quantum.hamiltonian.Hamiltonian.pauli_str:1
+msgid "The Pauli string corresponding to the hamiltonian."
+msgstr ""
+
+#: of paddle_quantum.hamiltonian.Hamiltonian.terms:1
+msgid "All items in hamiltonian, i.e. ``[['Z0, Z1'], ['I']]``."
+msgstr ""
+
+#: of paddle_quantum.hamiltonian.Hamiltonian.coefficients:1
+msgid "The coefficient of each term in the Hamiltonian,i.e. ``[1.0, 2.0]``."
+msgstr ""
+
+#: of paddle_quantum.hamiltonian.Hamiltonian.pauli_words:1
+msgid "The Pauli word of each term,i.e. ``['ZIZ', 'IIX']``."
+msgstr ""
+
+#: of paddle_quantum.hamiltonian.Hamiltonian.pauli_words_r:1
+msgid "A list of Pauli word (exclude I),i.e. ``['ZXZZ', 'Z', 'X']``."
+msgstr ""
+
+#: of paddle_quantum.hamiltonian.Hamiltonian.pauli_words_matrix:1
+msgid "The list of matrices with respect to simplied Pauli words."
+msgstr ""
+
+#: of paddle_quantum.hamiltonian.Hamiltonian.sites:1
+msgid "A list of qubits index corresponding to the hamiltonian."
+msgstr ""
+
+#: of paddle_quantum.hamiltonian.Hamiltonian.n_qubits:1
+msgid "Number of qubits."
+msgstr ""
+
+#: of paddle_quantum.hamiltonian.Hamiltonian.decompose_with_sites:1
+msgid ""
+"Decompose pauli_str into coefficients, a simplified form of Pauli "
+"strings, and the indices of qubits on which the Pauli operators act on."
+msgstr ""
+
+#: of paddle_quantum.hamiltonian.Hamiltonian.decompose_with_sites:3
+msgid ""
+"- coefficients: the coefficient for each term. - pauli_words_r: the "
+"simplified form of the Pauli string for each item, e.g. the Pauli word of"
+" 'Z0, Z1, X3' is 'ZZX'. - sites: a list of qubits index, e.g. the site of"
+" 'Z0, Z1, X3' is [0, 1, 3]."
+msgstr ""
+
+#: of paddle_quantum.hamiltonian.Hamiltonian.decompose_pauli_words:3
+#: paddle_quantum.hamiltonian.Hamiltonian.decompose_with_sites:3
+msgid "coefficients: the coefficient for each term."
+msgstr ""
+
+#: of paddle_quantum.hamiltonian.Hamiltonian.decompose_with_sites:4
+msgid ""
+"pauli_words_r: the simplified form of the Pauli string for each item, "
+"e.g. the Pauli word of 'Z0, Z1, X3' is 'ZZX'."
+msgstr ""
+
+#: of paddle_quantum.hamiltonian.Hamiltonian.decompose_with_sites:5
+msgid "sites: a list of qubits index, e.g. the site of 'Z0, Z1, X3' is [0, 1, 3]."
+msgstr ""
+
+#: of paddle_quantum.hamiltonian.Hamiltonian.construct_h_matrix
+#: paddle_quantum.hamiltonian.Hamiltonian.decompose_pauli_words
+#: paddle_quantum.hamiltonian.Hamiltonian.decompose_with_sites
+msgid "Return type"
+msgstr ""
+
+#: of paddle_quantum.hamiltonian.Hamiltonian.decompose_pauli_words:1
+msgid "Decompose pauli_str into coefficients and Pauli strings."
+msgstr ""
+
+#: of paddle_quantum.hamiltonian.Hamiltonian.decompose_pauli_words:3
+msgid ""
+"- coefficients: the coefficient for each term. - the Pauli string for "
+"each item, e.g. the Pauli word of 'Z0, Z1, X3' is 'ZZIX'."
+msgstr ""
+
+#: of paddle_quantum.hamiltonian.Hamiltonian.decompose_pauli_words:4
+msgid ""
+"the Pauli string for each item, e.g. the Pauli word of 'Z0, Z1, X3' is "
+"'ZZIX'."
+msgstr ""
+
+#: of paddle_quantum.hamiltonian.Hamiltonian.construct_h_matrix:1
+msgid "Construct a matrix form of the Hamiltonian in Z-basis."
+msgstr ""
+
+#: of paddle_quantum.hamiltonian.Hamiltonian.construct_h_matrix:3
+msgid "The number of qubits. Defaults to 1."
+msgstr ""
+
+#: of paddle_quantum.hamiltonian.Hamiltonian.construct_h_matrix:5
+msgid "The matrix form of the Hamiltonian in Z-basis."
+msgstr ""
+
+#: of paddle_quantum.hamiltonian.SpinOps:1
+msgid ""
+"The spin operators in matrix forms, could be used to construct "
+"Hamiltonian matrix or spin observables."
+msgstr ""
+
+#: of paddle_quantum.hamiltonian.SpinOps:3
+msgid "Size of the system (number of qubits)."
+msgstr ""
+
+#: of paddle_quantum.hamiltonian.SpinOps:4
+msgid ""
+"Decide whether to use the sparse matrix to calculate. Default is "
+"``False``."
+msgstr ""
+
+#: of paddle_quantum.hamiltonian.SpinOps.sigz_p:1
+msgid ""
+"A list of :math:`S^z_i` operators, different elements correspond to "
+"different indices :math:`i`."
+msgstr ""
+
+#: of paddle_quantum.hamiltonian.SpinOps.sigy_p:1
+msgid ""
+"A list of :math:`S^y_i` operators, different elements correspond to "
+"different indices :math:`i`."
+msgstr ""
+
+#: of paddle_quantum.hamiltonian.SpinOps.sigx_p:1
+msgid ""
+"A list of :math:`S^x_i` operators, different elements correspond to "
+"different indices :math:`i`."
+msgstr ""
+
diff --git a/docs/source/locale/en/LC_MESSAGES/paddle_quantum.linalg.po b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.linalg.po
new file mode 100644
index 0000000..f7627bf
--- /dev/null
+++ b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.linalg.po
@@ -0,0 +1,254 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2022, Baidu Inc
+# This file is distributed under the same license as the paddle-quantum
+# package.
+# FIRST AUTHOR , 2022.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: paddle-quantum \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-05-17 11:08+0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: LANGUAGE \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.10.1\n"
+
+#: ../../source/paddle_quantum.linalg.rst:2
+msgid "paddle\\_quantum.linalg"
+msgstr ""
+
+#: of paddle_quantum.linalg:1
+msgid "The common linear algorithm in paddle quantum."
+msgstr ""
+
+#: of paddle_quantum.linalg.abs_norm:1
+msgid "tool for calculation of matrix norm"
+msgstr ""
+
+#: of paddle_quantum.linalg.NKron paddle_quantum.linalg.abs_norm
+#: paddle_quantum.linalg.dagger paddle_quantum.linalg.haar_density_operator
+#: paddle_quantum.linalg.haar_orthogonal
+#: paddle_quantum.linalg.haar_state_vector paddle_quantum.linalg.haar_unitary
+#: paddle_quantum.linalg.hermitian_random paddle_quantum.linalg.is_hermitian
+#: paddle_quantum.linalg.is_projector paddle_quantum.linalg.is_unitary
+#: paddle_quantum.linalg.orthogonal_projection_random
+#: paddle_quantum.linalg.unitary_hermitian_random
+#: paddle_quantum.linalg.unitary_random
+#: paddle_quantum.linalg.unitary_random_with_hermitian_block
+msgid "Parameters"
+msgstr ""
+
+#: of paddle_quantum.linalg.abs_norm:3 paddle_quantum.linalg.dagger:3
+msgid "Tensor"
+msgstr ""
+
+#: of paddle_quantum.linalg.NKron paddle_quantum.linalg.abs_norm
+#: paddle_quantum.linalg.dagger paddle_quantum.linalg.haar_density_operator
+#: paddle_quantum.linalg.haar_orthogonal
+#: paddle_quantum.linalg.haar_state_vector paddle_quantum.linalg.haar_unitary
+#: paddle_quantum.linalg.hermitian_random paddle_quantum.linalg.is_hermitian
+#: paddle_quantum.linalg.is_projector paddle_quantum.linalg.is_unitary
+#: paddle_quantum.linalg.orthogonal_projection_random
+#: paddle_quantum.linalg.unitary_hermitian_random
+#: paddle_quantum.linalg.unitary_random
+#: paddle_quantum.linalg.unitary_random_with_hermitian_block
+msgid "Returns"
+msgstr ""
+
+#: of paddle_quantum.linalg.abs_norm:5
+msgid "norm of mat"
+msgstr ""
+
+#: of paddle_quantum.linalg.NKron paddle_quantum.linalg.abs_norm
+#: paddle_quantum.linalg.dagger paddle_quantum.linalg.haar_density_operator
+#: paddle_quantum.linalg.haar_orthogonal
+#: paddle_quantum.linalg.haar_state_vector paddle_quantum.linalg.haar_unitary
+#: paddle_quantum.linalg.hermitian_random paddle_quantum.linalg.is_hermitian
+#: paddle_quantum.linalg.is_projector paddle_quantum.linalg.is_unitary
+#: paddle_quantum.linalg.orthogonal_projection_random
+#: paddle_quantum.linalg.unitary_hermitian_random
+#: paddle_quantum.linalg.unitary_random
+#: paddle_quantum.linalg.unitary_random_with_hermitian_block
+msgid "Return type"
+msgstr ""
+
+#: of paddle_quantum.linalg.dagger:1
+msgid "tool for calculation of matrix dagger"
+msgstr ""
+
+#: of paddle_quantum.linalg.dagger:5
+msgid "The dagger of matrix"
+msgstr ""
+
+#: of paddle_quantum.linalg.is_hermitian:1
+msgid "verify whether P is Hermitian"
+msgstr ""
+
+#: of paddle_quantum.linalg.is_hermitian:3
+msgid "hermitian candidate"
+msgstr ""
+
+#: of paddle_quantum.linalg.is_hermitian:4 paddle_quantum.linalg.is_projector:4
+#: paddle_quantum.linalg.is_unitary:4
+msgid "tolerance of error"
+msgstr ""
+
+#: of paddle_quantum.linalg.is_hermitian:6
+msgid "determine whether :math:`mat - mat^\\dagger = 0`"
+msgstr ""
+
+#: of paddle_quantum.linalg.is_projector:1
+msgid "verify whether P is a projector"
+msgstr ""
+
+#: of paddle_quantum.linalg.is_projector:3
+msgid "projector candidate"
+msgstr ""
+
+#: of paddle_quantum.linalg.is_projector:6
+msgid "determine whether :math:`PP - P = 0`"
+msgstr ""
+
+#: of paddle_quantum.linalg.is_unitary:1
+msgid "verify whether P is a unitary"
+msgstr ""
+
+#: of paddle_quantum.linalg.is_unitary:3
+msgid "unitary candidate"
+msgstr ""
+
+#: of paddle_quantum.linalg.is_unitary:6
+msgid "determine whether :math:`PP^\\dagger - I = 0`"
+msgstr ""
+
+#: of paddle_quantum.linalg.hermitian_random:1
+msgid "randomly generate a :math:`2^n \\times 2^n` hermitian matrix"
+msgstr ""
+
+#: of paddle_quantum.linalg.hermitian_random:3
+#: paddle_quantum.linalg.orthogonal_projection_random:3
+msgid "log2(dimension)"
+msgstr ""
+
+#: of paddle_quantum.linalg.hermitian_random:5
+msgid "a :math:`2^n \\times 2^n` hermitian matrix"
+msgstr ""
+
+#: of paddle_quantum.linalg.orthogonal_projection_random:1
+msgid "randomly generate a :math:`2^n \\times 2^n` rank-1 orthogonal projector"
+msgstr ""
+
+#: of paddle_quantum.linalg.orthogonal_projection_random:5
+msgid "a :math:`2^n \\times 2^n` orthogonal projector and its eigenstate"
+msgstr ""
+
+#: of paddle_quantum.linalg.unitary_hermitian_random:1
+msgid "randomly generate a :math:`2^n \\times 2^n` hermitian unitary"
+msgstr ""
+
+#: of paddle_quantum.linalg.unitary_hermitian_random:3
+#: paddle_quantum.linalg.unitary_random:3
+#: paddle_quantum.linalg.unitary_random_with_hermitian_block:3
+msgid ":math:`\\log_{2}(dimension)`"
+msgstr ""
+
+#: of paddle_quantum.linalg.unitary_hermitian_random:5
+msgid "a :math:`2^n \\times 2^n` hermitian unitary matrix"
+msgstr ""
+
+#: of paddle_quantum.linalg.unitary_random_with_hermitian_block:1
+msgid ""
+"randomly generate a unitary :math:`2^n \\times 2^n` matrix that is a "
+"block encoding of a :math:`2^{n/2} \\times 2^{n/2}` Hermitian matrix"
+msgstr ""
+
+#: of paddle_quantum.linalg.unitary_random_with_hermitian_block:5
+msgid ""
+"a :math:`2^n \\times 2^n` unitary matrix that its upper-left block is a "
+"Hermitian matrix"
+msgstr ""
+
+#: of paddle_quantum.linalg.unitary_random:1
+msgid "randomly generate a :math:`2^n \\times 2^n` unitary"
+msgstr ""
+
+#: of paddle_quantum.linalg.unitary_random:5
+msgid "a :math:`2^n \\times 2^n` unitary matrix"
+msgstr ""
+
+#: of paddle_quantum.linalg.haar_orthogonal:1
+msgid ""
+"randomly generate an orthogonal matrix following Haar random, referenced "
+"by arXiv:math-ph/0609050v2"
+msgstr ""
+
+#: of paddle_quantum.linalg.haar_density_operator:3
+#: paddle_quantum.linalg.haar_orthogonal:3
+#: paddle_quantum.linalg.haar_state_vector:3
+#: paddle_quantum.linalg.haar_unitary:3
+msgid "number of qubits"
+msgstr ""
+
+#: of paddle_quantum.linalg.haar_orthogonal:5
+msgid "a :math:`2^n \\times 2^n` orthogonal matrix"
+msgstr ""
+
+#: of paddle_quantum.linalg.haar_unitary:1
+msgid ""
+"randomly generate a unitary following Haar random, referenced by arXiv"
+":math-ph/0609050v2"
+msgstr ""
+
+#: of paddle_quantum.linalg.haar_unitary:5
+msgid "a :math:`2^n \\times 2^n` unitary"
+msgstr ""
+
+#: of paddle_quantum.linalg.haar_state_vector:1
+msgid "randomly generate a state vector following Haar random"
+msgstr ""
+
+#: of paddle_quantum.linalg.haar_state_vector:4
+msgid "whether the vector is real, default to be False"
+msgstr ""
+
+#: of paddle_quantum.linalg.haar_state_vector:6
+msgid "a :math:`2^n \\times 1` state vector"
+msgstr ""
+
+#: of paddle_quantum.linalg.haar_density_operator:1
+msgid "randomly generate a density matrix following Haar random"
+msgstr ""
+
+#: of paddle_quantum.linalg.haar_density_operator:4
+msgid "rank of density matrix, default to be False refering to full ranks"
+msgstr ""
+
+#: of paddle_quantum.linalg.haar_density_operator:5
+msgid "whether the density matrix is real, default to be False"
+msgstr ""
+
+#: of paddle_quantum.linalg.haar_density_operator:7
+msgid "a :math:`2^n \\times 2^n` density matrix"
+msgstr ""
+
+#: of paddle_quantum.linalg.NKron:1
+msgid "calculate Kronecker product of at least two matrices"
+msgstr ""
+
+#: of paddle_quantum.linalg.NKron:3 paddle_quantum.linalg.NKron:4
+msgid "matrix"
+msgstr ""
+
+#: of paddle_quantum.linalg.NKron:5
+msgid "other matrices"
+msgstr ""
+
+#: of paddle_quantum.linalg.NKron:7
+msgid "Kronecker product of matrices"
+msgstr ""
+
diff --git a/docs/source/locale/en/LC_MESSAGES/paddle_quantum.locc.locc_ansatz.po b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.locc.locc_ansatz.po
new file mode 100644
index 0000000..f0024bd
--- /dev/null
+++ b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.locc.locc_ansatz.po
@@ -0,0 +1,424 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2022, Baidu Inc
+# This file is distributed under the same license as the paddle-quantum
+# package.
+# FIRST AUTHOR , 2022.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: paddle-quantum \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-05-17 11:08+0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: LANGUAGE \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.10.1\n"
+
+#: ../../source/paddle_quantum.locc.locc_ansatz.rst:2
+msgid "paddle\\_quantum.locc.locc\\_ansatz"
+msgstr ""
+
+#: of paddle_quantum.locc.locc_ansatz:1
+msgid "The source file of the LoccAnsatz class."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_ansatz.LoccAnsatz:1
+msgid "Bases: :py:class:`~paddle_quantum.ansatz.circuit.Circuit`"
+msgstr ""
+
+#: of paddle_quantum.locc.locc_ansatz.LoccAnsatz:1
+msgid ""
+"Inherit the ``Circuit`` class. The purpose is to build a circuit template"
+" for an LOCC task."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_ansatz.LoccAnsatz:3
+msgid ""
+"In an LOCC task, each party can only perform quantum operations on their "
+"own qubits. So we only allow local quantum gates to be added to each "
+"party's qubits."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_ansatz.LoccAnsatz
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.append
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.cnot
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.control_oracle
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.cp
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.crx
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.cry
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.crz
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.cswap
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.cu
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.cx
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.cy
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.cz
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.extend
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.forward
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.h
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.insert
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.ms
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.oracle
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.p
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.pop
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.rx
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.rxx
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.ry
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.ryy
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.rz
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.rzz
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.s
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.swap
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.t
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.toffoli
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.u3
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.universal_three_qubits
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.universal_two_qubits
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.x
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.y
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.z
+msgid "Parameters"
+msgstr ""
+
+#: of paddle_quantum.locc.locc_ansatz.LoccAnsatz:5
+msgid "The owner of this circuit."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_ansatz.LoccAnsatz.append:1
+msgid "Append an operator."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_ansatz.LoccAnsatz.append:3
+msgid "operator with a name or just an operator."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_ansatz.LoccAnsatz.extend:1
+msgid "Append a list of operators."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_ansatz.LoccAnsatz.extend:3
+msgid "List of operators."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_ansatz.LoccAnsatz.insert:1
+msgid "Insert an operator at index ``index``."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_ansatz.LoccAnsatz.insert:3
+msgid "Index to be inserted."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_ansatz.LoccAnsatz.insert:4
+msgid "An operator."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_ansatz.LoccAnsatz.pop:1
+msgid "Remove the matched operator."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_ansatz.LoccAnsatz.pop:3
+msgid "Matched with which the operator will be popped."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_ansatz.LoccAnsatz.forward:1
+msgid "Forward the input."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_ansatz.LoccAnsatz.forward:3
+msgid "Initial state."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_ansatz.LoccAnsatz.forward
+msgid "Returns"
+msgstr ""
+
+#: of paddle_quantum.locc.locc_ansatz.LoccAnsatz.forward:5
+msgid "Output state."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_ansatz.LoccAnsatz.forward
+msgid "Return type"
+msgstr ""
+
+#: of paddle_quantum.locc.locc_ansatz.LoccAnsatz.h:1
+msgid "Add single-qubit Hadamard gates."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_ansatz.LoccAnsatz.h:3
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.p:3
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.rx:3
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.ry:3
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.rz:3
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.s:3
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.t:3
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.u3:3
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.x:3
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.y:3
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.z:3
+msgid ""
+"Indices of the qubits on which the gates are applied. Defaults to "
+"``'full'``."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_ansatz.LoccAnsatz.cnot:4
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.control_oracle:5
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.cp:4
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.crx:4
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.cry:4
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.crz:4
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.cswap:4
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.cu:4
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.cx:4
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.cy:4
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.cz:4
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.h:4
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.ms:4
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.oracle:5
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.p:4
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.rx:4
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.rxx:4
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.ry:4
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.ryy:4
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.rz:4
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.rzz:4
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.s:4
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.swap:4
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.t:4
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.toffoli:4
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.u3:4
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.universal_three_qubits:4
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.universal_two_qubits:4
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.x:4
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.y:4
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.z:4
+msgid "Total number of qubits. Defaults to ``None``."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_ansatz.LoccAnsatz.cnot:5
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.control_oracle:6
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.cp:5
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.crx:5
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.cry:5
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.crz:5
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.cswap:5
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.cu:5
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.cx:5
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.cy:5
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.cz:5
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.h:5
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.ms:5
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.oracle:6
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.p:5
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.rx:5
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.rxx:5
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.ry:5
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.ryy:5
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.rz:5
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.rzz:5
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.s:5
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.swap:5
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.t:5
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.toffoli:5
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.u3:5
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.universal_three_qubits:5
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.universal_two_qubits:5
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.x:5
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.y:5
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.z:5
+msgid "Number of layers. Defaults to ``1``."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_ansatz.LoccAnsatz.s:1
+msgid "Add single-qubit S gates."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_ansatz.LoccAnsatz.t:1
+msgid "Add single-qubit T gates."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_ansatz.LoccAnsatz.x:1
+msgid "Add single-qubit X gates."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_ansatz.LoccAnsatz.y:1
+msgid "Add single-qubit Y gates."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_ansatz.LoccAnsatz.z:1
+msgid "Add single-qubit Z gates."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_ansatz.LoccAnsatz.p:1
+msgid "Add single-qubit P gates."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_ansatz.LoccAnsatz.cp:6
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.crx:6
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.cry:6
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.crz:6
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.cu:6
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.p:6
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.rx:6
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.rxx:6
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.ry:6
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.ryy:6
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.rz:6
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.rzz:6
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.u3:6
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.universal_three_qubits:6
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.universal_two_qubits:6
+msgid "Parameters of the gates. Defaults to ``None``."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_ansatz.LoccAnsatz.cp:7
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.crx:7
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.cry:7
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.crz:7
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.cu:7
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.p:7
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.rx:7
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.rxx:7
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.ry:7
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.ryy:7
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.rz:7
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.rzz:7
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.u3:7
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.universal_three_qubits:7
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.universal_two_qubits:7
+msgid "Whether gates in the same layer share a parameter. Defaults to ``False``."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_ansatz.LoccAnsatz.rx:1
+msgid "Add single-qubit rotation gates about the x-axis."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_ansatz.LoccAnsatz.ry:1
+msgid "Add single-qubit rotation gates about the y-axis."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_ansatz.LoccAnsatz.rz:1
+msgid "Add single-qubit rotation gates about the z-axis."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_ansatz.LoccAnsatz.u3:1
+msgid "Add single-qubit rotation gates."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_ansatz.LoccAnsatz.cnot:1
+msgid "Add CNOT gates."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_ansatz.LoccAnsatz.cnot:3
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.cp:3
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.crx:3
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.cry:3
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.crz:3
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.cswap:3
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.cu:3
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.cx:3
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.cy:3
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.cz:3
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.ms:3
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.rxx:3
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.ryy:3
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.rzz:3
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.swap:3
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.toffoli:3
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.universal_three_qubits:3
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.universal_two_qubits:3
+msgid ""
+"Indices of the qubits on which the gates are applied. Defaults to "
+"``'cycle'``."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_ansatz.LoccAnsatz.cx:1
+msgid "Same as cnot."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_ansatz.LoccAnsatz.cy:1
+msgid "Add controlled Y gates."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_ansatz.LoccAnsatz.cz:1
+msgid "Add controlled Z gates."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_ansatz.LoccAnsatz.swap:1
+msgid "Add SWAP gates."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_ansatz.LoccAnsatz.cp:1
+msgid "Add controlled P gates."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_ansatz.LoccAnsatz.crx:1
+msgid "Add controlled rotation gates about the x-axis."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_ansatz.LoccAnsatz.cry:1
+msgid "Add controlled rotation gates about the y-axis."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_ansatz.LoccAnsatz.crz:1
+msgid "Add controlled rotation gates about the z-axis."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_ansatz.LoccAnsatz.cu:1
+msgid "Add controlled single-qubit rotation gates."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_ansatz.LoccAnsatz.rxx:1
+msgid "Add RXX gates."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_ansatz.LoccAnsatz.ryy:1
+msgid "Add RYY gates."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_ansatz.LoccAnsatz.rzz:1
+msgid "Add RZZ gates."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_ansatz.LoccAnsatz.ms:1
+msgid "Add Mølmer-Sørensen (MS) gates."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_ansatz.LoccAnsatz.cswap:1
+msgid "Add CSWAP (Fredkin) gates."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_ansatz.LoccAnsatz.toffoli:1
+msgid "Add Toffoli gates."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_ansatz.LoccAnsatz.universal_two_qubits:1
+msgid "Add universal two-qubit gates. One of such a gate requires 15 parameters."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_ansatz.LoccAnsatz.universal_three_qubits:1
+msgid ""
+"Add universal three-qubit gates. One of such a gate requires 81 "
+"parameters."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_ansatz.LoccAnsatz.oracle:1
+msgid "Add an oracle gate."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_ansatz.LoccAnsatz.control_oracle:3
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.oracle:3
+msgid "Unitary oracle to be implemented."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_ansatz.LoccAnsatz.control_oracle:4
+#: paddle_quantum.locc.locc_ansatz.LoccAnsatz.oracle:4
+msgid "Indices of the qubits on which the gates are applied."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_ansatz.LoccAnsatz.control_oracle:1
+msgid "Add a controlled oracle gate."
+msgstr ""
+
diff --git a/docs/source/locale/en/LC_MESSAGES/paddle_quantum.locc.locc_net.po b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.locc.locc_net.po
new file mode 100644
index 0000000..4edb738
--- /dev/null
+++ b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.locc.locc_net.po
@@ -0,0 +1,225 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2022, Baidu Inc
+# This file is distributed under the same license as the paddle-quantum
+# package.
+# FIRST AUTHOR , 2022.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: paddle-quantum \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-05-17 11:08+0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: LANGUAGE \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.10.1\n"
+
+#: ../../source/paddle_quantum.locc.locc_net.rst:2
+msgid "paddle\\_quantum.locc.locc\\_net"
+msgstr ""
+
+#: of paddle_quantum.locc.locc_net:1
+msgid "The source file of the LoccNet class."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_net.LoccNet:1
+msgid "Bases: :py:class:`~paddle.fluid.dygraph.layers.Layer`"
+msgstr ""
+
+#: of paddle_quantum.locc.locc_net.LoccNet:1
+msgid "Used to design LOCC protocols and perform training or verification."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_net.LoccNet.set_init_state:1
+msgid "Initialize the LoccState of LoccNet."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_net.LoccNet.add_new_party
+#: paddle_quantum.locc.locc_net.LoccNet.create_ansatz
+#: paddle_quantum.locc.locc_net.LoccNet.measure
+#: paddle_quantum.locc.locc_net.LoccNet.partial_state
+#: paddle_quantum.locc.locc_net.LoccNet.reset_state
+#: paddle_quantum.locc.locc_net.LoccNet.set_init_state
+msgid "Parameters"
+msgstr ""
+
+#: of paddle_quantum.locc.locc_net.LoccNet.reset_state:4
+#: paddle_quantum.locc.locc_net.LoccNet.set_init_state:3
+msgid "Matrix form of the input quantum state."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_net.LoccNet.set_init_state:4
+msgid ""
+"Indices of the qubits corresponding to the input quantum state. It should"
+" be a ``tuple`` of ``(party_id, qubit_id)``, or a ``list`` of it."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_net.LoccNet.add_new_party
+#: paddle_quantum.locc.locc_net.LoccNet.create_ansatz
+#: paddle_quantum.locc.locc_net.LoccNet.measure
+#: paddle_quantum.locc.locc_net.LoccNet.partial_state
+#: paddle_quantum.locc.locc_net.LoccNet.reset_state
+#: paddle_quantum.locc.locc_net.LoccNet.set_init_state
+msgid "Raises"
+msgstr ""
+
+#: of paddle_quantum.locc.locc_net.LoccNet.create_ansatz:5
+#: paddle_quantum.locc.locc_net.LoccNet.measure:9
+#: paddle_quantum.locc.locc_net.LoccNet.partial_state:9
+#: paddle_quantum.locc.locc_net.LoccNet.reset_state:8
+#: paddle_quantum.locc.locc_net.LoccNet.set_init_state:7
+msgid "Party's ID should be ``str`` or ``int``."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_net.LoccNet.partial_state:1
+msgid "Get the quantum state of the qubits of interest."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_net.LoccNet.partial_state:3
+msgid "Input LOCC state."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_net.LoccNet.partial_state:4
+msgid ""
+"Indices of the qubits of interest. It should be a ``tuple`` of "
+"``(party_id, qubit_id)``, or a ``list`` of it."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_net.LoccNet.partial_state:6
+msgid ""
+"If ``True``, return the partial quantum state of the given qubits; if "
+"``False``, return the partial quantum state of the remaining qubits. "
+"Defaults to ``True``."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_net.LoccNet.partial_state:10
+#: paddle_quantum.locc.locc_net.LoccNet.reset_state:9
+msgid "The ``state`` should be ``LoccState`` or a ``list`` of it."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_net.LoccNet.add_new_party
+#: paddle_quantum.locc.locc_net.LoccNet.create_ansatz
+#: paddle_quantum.locc.locc_net.LoccNet.get_num_qubits
+#: paddle_quantum.locc.locc_net.LoccNet.measure
+#: paddle_quantum.locc.locc_net.LoccNet.partial_state
+#: paddle_quantum.locc.locc_net.LoccNet.reset_state
+msgid "Returns"
+msgstr ""
+
+#: of paddle_quantum.locc.locc_net.LoccNet.partial_state:12
+msgid "LOCC state after obtaining partial quantum state."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_net.LoccNet.add_new_party
+#: paddle_quantum.locc.locc_net.LoccNet.create_ansatz
+#: paddle_quantum.locc.locc_net.LoccNet.get_num_qubits
+#: paddle_quantum.locc.locc_net.LoccNet.measure
+#: paddle_quantum.locc.locc_net.LoccNet.partial_state
+#: paddle_quantum.locc.locc_net.LoccNet.reset_state
+msgid "Return type"
+msgstr ""
+
+#: of paddle_quantum.locc.locc_net.LoccNet.reset_state:1
+msgid "Reset the quantum state of the qubits of interest."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_net.LoccNet.reset_state:3
+msgid "LOCC state before resetting."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_net.LoccNet.reset_state:5
+msgid ""
+"Indices of the qubits to be reset. It should be a ``tuple`` of "
+"``(party_id, qubit_id)``, or a ``list`` of it."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_net.LoccNet.reset_state:11
+msgid "LOCC state after resetting the state of part of the qubits."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_net.LoccNet.add_new_party:1
+msgid "Add a new LOCC party."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_net.LoccNet.add_new_party:3
+msgid "Number of qubits of the party."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_net.LoccNet.add_new_party:4
+msgid "Name of the party. Defaults to ``None``."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_net.LoccNet.add_new_party:8
+msgid ""
+"You can use a string or a number as a party's ID. If a string is "
+"preferred, you can set ``party_name``; if a number is preferred, then you"
+" don't need to set ``party_name`` and the party's index number will be "
+"automatically assigned."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_net.LoccNet.add_new_party:12
+msgid "The ``party_name`` should be ``str``."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_net.LoccNet.add_new_party:14
+msgid "ID of the party."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_net.LoccNet.create_ansatz:1
+msgid "Create a new local ansatz."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_net.LoccNet.create_ansatz:3
+msgid "Party's ID."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_net.LoccNet.create_ansatz:7
+msgid "Created local ansatz."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_net.LoccNet.measure:1
+msgid "Perform 0-1 measurement or parameterized measurement on an LOCC state."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_net.LoccNet.measure:3
+msgid "LOCC state to be measured."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_net.LoccNet.measure:4
+msgid "Indices of the qubits to be measured."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_net.LoccNet.measure:5
+msgid "Expected measurement outcomes."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_net.LoccNet.measure:6
+msgid ""
+"Parameters of measurement. Defaults to ``None``, which means 0-1 "
+"measurement."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_net.LoccNet.measure:8
+msgid "The ``results_desired`` should be ``str`` or a ``list`` of it."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_net.LoccNet.measure:10
+msgid "The ``status`` should be ``LoccState`` or a ``list`` of it."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_net.LoccNet.measure:12
+msgid "LOCC state after measurement."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_net.LoccNet.get_num_qubits:1
+msgid "Get the number of the qubits in this LOCCNet."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_net.LoccNet.get_num_qubits:3
+msgid "Number of qubits in LOCCNet."
+msgstr ""
+
diff --git a/docs/source/locale/en/LC_MESSAGES/paddle_quantum.locc.locc_party.po b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.locc.locc_party.po
new file mode 100644
index 0000000..7a04e0f
--- /dev/null
+++ b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.locc.locc_party.po
@@ -0,0 +1,44 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2022, Baidu Inc
+# This file is distributed under the same license as the paddle-quantum
+# package.
+# FIRST AUTHOR , 2022.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: paddle-quantum \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-05-17 11:08+0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: LANGUAGE \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.10.1\n"
+
+#: ../../source/paddle_quantum.locc.locc_party.rst:2
+msgid "paddle\\_quantum.locc.locc\\_party"
+msgstr ""
+
+#: of paddle_quantum.locc.locc_party:1
+msgid "The source file of the LoccParty class."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_party.LoccParty:1
+msgid "Bases: :py:class:`object`"
+msgstr ""
+
+#: of paddle_quantum.locc.locc_party.LoccParty:1
+msgid "An LOCC party."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_party.LoccParty
+msgid "Parameters"
+msgstr ""
+
+#: of paddle_quantum.locc.locc_party.LoccParty:3
+msgid "Number of qubits of this party."
+msgstr ""
+
diff --git a/docs/source/locale/en/LC_MESSAGES/paddle_quantum.locc.locc_state.po b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.locc.locc_state.po
new file mode 100644
index 0000000..3345449
--- /dev/null
+++ b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.locc.locc_state.po
@@ -0,0 +1,91 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2022, Baidu Inc
+# This file is distributed under the same license as the paddle-quantum
+# package.
+# FIRST AUTHOR , 2022.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: paddle-quantum \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-05-17 11:08+0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: LANGUAGE \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.10.1\n"
+
+#: ../../source/paddle_quantum.locc.locc_state.rst:2
+msgid "paddle\\_quantum.locc.locc\\_state"
+msgstr ""
+
+#: of paddle_quantum.locc.locc_state:1
+msgid "The source file of the LoccState class."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_state.LoccState:1
+msgid "Bases: :py:class:`~paddle_quantum.state.state.State`"
+msgstr ""
+
+#: of paddle_quantum.locc.locc_state.LoccState:1
+msgid "An LOCC state in LOCCNet."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_state.LoccState:3
+msgid ""
+"We care not only about the quantum state in LOCC, but also about the "
+"probability of getting it and the corresponding measurement result. "
+"Therefore, this class contains three attributes: quantum state ``data``, "
+"the probability of getting this state ``prob``, and the measurement "
+"result leading to this state, namely ``measured_result``."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_state.LoccState
+msgid "Parameters"
+msgstr ""
+
+#: of paddle_quantum.locc.locc_state.LoccState:8
+msgid ""
+"Matrix form of the quantum state of this ``LoccState``. Defaults to "
+"``None``."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_state.LoccState:9
+msgid "Probability of getting this quantum state.. Defaults to ``None``."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_state.LoccState:10
+msgid "Measurement result leading to this quantum state. Defaults to ``None``."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_state.LoccState:11
+msgid "Total number of qubits. Defaults to ``None``."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_state.LoccState:12
+msgid "Backend of Paddle Quantum. Defaults to ``None``."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_state.LoccState:13
+msgid "Type of data. Defaults to ``None``."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_state.LoccState.clone:1
+msgid "Create a copy of the current object."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_state.LoccState.clone
+msgid "Returns"
+msgstr ""
+
+#: of paddle_quantum.locc.locc_state.LoccState.clone:3
+msgid "A copy of the current object."
+msgstr ""
+
+#: of paddle_quantum.locc.locc_state.LoccState.clone
+msgid "Return type"
+msgstr ""
+
diff --git a/docs/source/locale/en/LC_MESSAGES/paddle_quantum.locc.po b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.locc.po
new file mode 100644
index 0000000..697bfd9
--- /dev/null
+++ b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.locc.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2022, Baidu Inc
+# This file is distributed under the same license as the paddle-quantum
+# package.
+# FIRST AUTHOR , 2022.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: paddle-quantum \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-05-17 11:08+0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: LANGUAGE \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.10.1\n"
+
+#: ../../source/paddle_quantum.locc.rst:2
+msgid "paddle\\_quantum.locc"
+msgstr ""
+
+#: of paddle_quantum.locc:1
+msgid "The module of the LOCCNet."
+msgstr ""
+
+#: ../../source/paddle_quantum.locc.rst:10
+msgid "Submodules"
+msgstr ""
+
diff --git a/docs/source/locale/en/LC_MESSAGES/paddle_quantum.loss.distance.po b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.loss.distance.po
new file mode 100644
index 0000000..3d36edb
--- /dev/null
+++ b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.loss.distance.po
@@ -0,0 +1,119 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2022, Baidu Inc
+# This file is distributed under the same license as the paddle-quantum
+# package.
+# FIRST AUTHOR , 2022.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: paddle-quantum \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-05-17 11:08+0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: LANGUAGE \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.10.1\n"
+
+#: ../../source/paddle_quantum.loss.distance.rst:2
+msgid "paddle\\_quantum.loss.distance"
+msgstr ""
+
+#: of paddle_quantum.loss.distance:1
+msgid "The source file of the class for the distance."
+msgstr ""
+
+#: of paddle_quantum.loss.distance.StateFidelity:1
+#: paddle_quantum.loss.distance.TraceDistance:1
+msgid "Bases: :py:class:`~paddle_quantum.base.Operator`"
+msgstr ""
+
+#: of paddle_quantum.loss.distance.TraceDistance:1
+msgid "The class of the loss function to compute the trace distance."
+msgstr ""
+
+#: of paddle_quantum.loss.distance.TraceDistance:3
+msgid "This interface can make you using the trace distance as the loss function."
+msgstr ""
+
+#: of paddle_quantum.loss.distance.StateFidelity
+#: paddle_quantum.loss.distance.StateFidelity.forward
+#: paddle_quantum.loss.distance.TraceDistance
+#: paddle_quantum.loss.distance.TraceDistance.forward
+msgid "Parameters"
+msgstr ""
+
+#: of paddle_quantum.loss.distance.TraceDistance:5
+msgid "The target state to be used to compute the trace distance."
+msgstr ""
+
+#: of paddle_quantum.loss.distance.TraceDistance.forward:1
+msgid "Compute the trace distance between the input state and the target state."
+msgstr ""
+
+#: of paddle_quantum.loss.distance.StateFidelity.forward:3
+#: paddle_quantum.loss.distance.TraceDistance.forward:3
+msgid ""
+"The value computed by this function can be used as a loss function to "
+"optimize."
+msgstr ""
+
+#: of paddle_quantum.loss.distance.TraceDistance.forward:5
+msgid ""
+"The input state which will be used to compute the trace distance with the"
+" target state."
+msgstr ""
+
+#: of paddle_quantum.loss.distance.StateFidelity.forward
+#: paddle_quantum.loss.distance.TraceDistance.forward
+msgid "Raises"
+msgstr ""
+
+#: of paddle_quantum.loss.distance.StateFidelity.forward:7
+#: paddle_quantum.loss.distance.TraceDistance.forward:7
+msgid "The backend is wrong or not supported."
+msgstr ""
+
+#: of paddle_quantum.loss.distance.StateFidelity.forward
+#: paddle_quantum.loss.distance.TraceDistance.forward
+msgid "Returns"
+msgstr ""
+
+#: of paddle_quantum.loss.distance.TraceDistance.forward:9
+msgid "The trace distance between the input state and the target state."
+msgstr ""
+
+#: of paddle_quantum.loss.distance.StateFidelity.forward
+#: paddle_quantum.loss.distance.TraceDistance.forward
+msgid "Return type"
+msgstr ""
+
+#: of paddle_quantum.loss.distance.StateFidelity:1
+msgid "The class of the loss function to compute the state fidelity."
+msgstr ""
+
+#: of paddle_quantum.loss.distance.StateFidelity:3
+msgid "This interface can make you using the state fidelity as the loss function."
+msgstr ""
+
+#: of paddle_quantum.loss.distance.StateFidelity:5
+msgid "The target state to be used to compute the state fidelity."
+msgstr ""
+
+#: of paddle_quantum.loss.distance.StateFidelity.forward:1
+msgid "Compute the state fidelity between the input state and the target state."
+msgstr ""
+
+#: of paddle_quantum.loss.distance.StateFidelity.forward:5
+msgid ""
+"The input state which will be used to compute the state fidelity with the"
+" target state."
+msgstr ""
+
+#: of paddle_quantum.loss.distance.StateFidelity.forward:9
+msgid "The state fidelity between the input state and the target state."
+msgstr ""
+
diff --git a/docs/source/locale/en/LC_MESSAGES/paddle_quantum.loss.measure.po b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.loss.measure.po
new file mode 100644
index 0000000..97656d1
--- /dev/null
+++ b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.loss.measure.po
@@ -0,0 +1,139 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2022, Baidu Inc
+# This file is distributed under the same license as the paddle-quantum
+# package.
+# FIRST AUTHOR , 2022.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: paddle-quantum \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-05-17 11:08+0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: LANGUAGE \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.10.1\n"
+
+#: ../../source/paddle_quantum.loss.measure.rst:2
+msgid "paddle\\_quantum.loss.measure"
+msgstr ""
+
+#: of paddle_quantum.loss.measure:1
+msgid "The source file of the class for the measurement."
+msgstr ""
+
+#: of paddle_quantum.loss.measure.ExpecVal:1
+#: paddle_quantum.loss.measure.Measure:1
+msgid "Bases: :py:class:`~paddle_quantum.base.Operator`"
+msgstr ""
+
+#: of paddle_quantum.loss.measure.ExpecVal:1
+msgid ""
+"The class of the loss function to compute the expectation value for the "
+"observable."
+msgstr ""
+
+#: of paddle_quantum.loss.measure.ExpecVal:3
+msgid ""
+"This interface can make you using the expectation value for the "
+"observable as the loss function."
+msgstr ""
+
+#: of paddle_quantum.loss.measure.ExpecVal
+#: paddle_quantum.loss.measure.ExpecVal.forward
+#: paddle_quantum.loss.measure.Measure
+#: paddle_quantum.loss.measure.Measure.forward
+msgid "Parameters"
+msgstr ""
+
+#: of paddle_quantum.loss.measure.ExpecVal:5
+msgid "The information about the observable."
+msgstr ""
+
+#: of paddle_quantum.loss.measure.ExpecVal:6
+msgid ""
+"The number of measurement shots. Now it just need to be input when the "
+"backend is QuLeaf."
+msgstr ""
+
+#: of paddle_quantum.loss.measure.ExpecVal.forward:1
+msgid ""
+"Compute the expectation value of the observable with respect to the input"
+" state."
+msgstr ""
+
+#: of paddle_quantum.loss.measure.ExpecVal.forward:3
+msgid ""
+"The value computed by this function can be used as a loss function to "
+"optimize."
+msgstr ""
+
+#: of paddle_quantum.loss.measure.ExpecVal.forward:5
+msgid "The input state which will be used to compute the expectation value."
+msgstr ""
+
+#: of paddle_quantum.loss.measure.ExpecVal.forward
+#: paddle_quantum.loss.measure.Measure
+msgid "Raises"
+msgstr ""
+
+#: of paddle_quantum.loss.measure.ExpecVal.forward:7
+msgid "The backend is wrong or not supported."
+msgstr ""
+
+#: of paddle_quantum.loss.measure.ExpecVal.forward
+#: paddle_quantum.loss.measure.Measure.forward
+msgid "Returns"
+msgstr ""
+
+#: of paddle_quantum.loss.measure.ExpecVal.forward:9
+msgid ""
+"The expectation value. If the backend is QuLeaf, it is computed by "
+"sampling."
+msgstr ""
+
+#: of paddle_quantum.loss.measure.ExpecVal.forward
+#: paddle_quantum.loss.measure.Measure.forward
+msgid "Return type"
+msgstr ""
+
+#: of paddle_quantum.loss.measure.Measure:1
+msgid "Compute the probability of the specified measurement result."
+msgstr ""
+
+#: of paddle_quantum.loss.measure.Measure:3
+msgid "Specify the basis of the measurement. Defaults to 'z'."
+msgstr ""
+
+#: of paddle_quantum.loss.measure.Measure:5
+msgid "Currently we just support the z basis."
+msgstr ""
+
+#: of paddle_quantum.loss.measure.Measure.forward:1
+msgid "Compute the probability of measurement to the input state."
+msgstr ""
+
+#: of paddle_quantum.loss.measure.Measure.forward:3
+msgid "The quantum state to be measured."
+msgstr ""
+
+#: of paddle_quantum.loss.measure.Measure.forward:4
+msgid ""
+"The index of the qubits to be measured. Defaults to 'full' which means "
+"measure all the qubits."
+msgstr ""
+
+#: of paddle_quantum.loss.measure.Measure.forward:5
+msgid ""
+"Specify the results of the measurement to return. Defaults to None which "
+"means return the probability of all the results."
+msgstr ""
+
+#: of paddle_quantum.loss.measure.Measure.forward:7
+msgid "The probability of the measurement."
+msgstr ""
+
diff --git a/docs/source/locale/en/LC_MESSAGES/paddle_quantum.loss.po b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.loss.po
new file mode 100644
index 0000000..5666393
--- /dev/null
+++ b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.loss.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2022, Baidu Inc
+# This file is distributed under the same license as the paddle-quantum
+# package.
+# FIRST AUTHOR , 2022.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: paddle-quantum \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-05-17 11:08+0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: LANGUAGE \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.10.1\n"
+
+#: ../../source/paddle_quantum.loss.rst:2
+msgid "paddle\\_quantum.loss"
+msgstr ""
+
+#: of paddle_quantum.loss:1
+msgid "The module of the pre-provided loss."
+msgstr ""
+
+#: ../../source/paddle_quantum.loss.rst:10
+msgid "Submodules"
+msgstr ""
+
diff --git a/docs/source/locale/en/LC_MESSAGES/paddle_quantum.mbqc.mcalculus.MCalculus.po b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.mbqc.mcalculus.MCalculus.po
new file mode 100644
index 0000000..ea110c1
--- /dev/null
+++ b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.mbqc.mcalculus.MCalculus.po
@@ -0,0 +1,186 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2021, Institute for Quantum Computing, Baidu Inc.
+# This file is distributed under the same license as the Paddle Quantum
+# package.
+# FIRST AUTHOR , 2021.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Paddle Quantum \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-08-18 19:49+0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: LANGUAGE \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.9.1\n"
+
+#: ../../source/_autosummary/paddle_quantum.mbqc.mcalculus.MCalculus.rst:2
+msgid "paddle\\_quantum.mbqc.mcalculus.MCalculus"
+msgstr "paddle\\_quantum.mbqc.mcalculus.MCalculus"
+
+#: of paddle_quantum.mbqc.mcalculus.MCalculus:1
+msgid "定义测量模式类。"
+msgstr "Define ``MCalculus`` class."
+
+#: of paddle_quantum.mbqc.mcalculus.MCalculus:3
+msgid "跟据文献 [The measurement calculus, arXiv: 0704.1263] 的测量语言,该类提供处理测量模式的各种基本操作。"
+msgstr ""
+"According to the measurement language in [The measurement calculus, "
+"arXiv: 0704.1263], this class provides various basic operations for "
+"measurement patterns."
+
+#: of paddle_quantum.mbqc.mcalculus.MCalculus.__init__:1
+#: paddle_quantum.mbqc.mcalculus.MCalculus.track_progress:1::1
+msgid "``MCalculus`` 的构造函数,用于实例化一个 ``MCalculus`` 对象。"
+msgstr "``MCalculus`` constructor, used to instantiate a ``MCalculus`` object."
+
+#: ../../source/_autosummary/paddle_quantum.mbqc.mcalculus.MCalculus.rst:14
+msgid "Methods"
+msgstr "Methods"
+
+#: of paddle_quantum.mbqc.mcalculus.MCalculus.track_progress:1::1
+msgid ""
+":obj:`__init__ `\\ "
+"\\(\\)"
+msgstr ""
+":obj:`__init__ `\\ "
+"\\(\\)"
+
+#: of paddle_quantum.mbqc.mcalculus.MCalculus.track_progress:1::1
+msgid ""
+":obj:`get_pattern "
+"`\\ \\(\\)"
+msgstr ""
+":obj:`get_pattern "
+"`\\ \\(\\)"
+
+#: of paddle_quantum.mbqc.mcalculus.MCalculus.get_pattern:1
+#: paddle_quantum.mbqc.mcalculus.MCalculus.track_progress:1::1
+msgid "返回测量模式。"
+msgstr "Return pattern."
+
+#: of paddle_quantum.mbqc.mcalculus.MCalculus.track_progress:1::1
+msgid ""
+":obj:`optimize_by_row "
+"`\\ \\(\\)"
+msgstr ""
+":obj:`optimize_by_row "
+"`\\ \\(\\)"
+
+#: of paddle_quantum.mbqc.mcalculus.MCalculus.optimize_by_row:1
+#: paddle_quantum.mbqc.mcalculus.MCalculus.track_progress:1::1
+msgid "按照行序优先的原则对测量模式中的测量顺序进行优化。"
+msgstr "optimize measurements of the pattern by a row-major order algorithm."
+
+#: of paddle_quantum.mbqc.mcalculus.MCalculus.track_progress:1::1
+msgid ""
+":obj:`set_circuit "
+"`\\ \\(circuit\\)"
+msgstr ""
+":obj:`set_circuit "
+"`\\ \\(circuit\\)"
+
+#: of paddle_quantum.mbqc.mcalculus.MCalculus.set_circuit:1
+#: paddle_quantum.mbqc.mcalculus.MCalculus.track_progress:1::1
+msgid "对 ``MCalculus`` 类设置量子电路。"
+msgstr "Set quantum circuit to ``MCalculus`` class."
+
+#: of paddle_quantum.mbqc.mcalculus.MCalculus.track_progress:1::1
+msgid ""
+":obj:`shift_signals "
+"`\\ \\(\\)"
+msgstr ""
+":obj:`shift_signals "
+"`\\ \\(\\)"
+
+#: of paddle_quantum.mbqc.mcalculus.MCalculus.shift_signals:1
+#: paddle_quantum.mbqc.mcalculus.MCalculus.track_progress:1::1
+msgid "信号转移操作。"
+msgstr "Signal shifting operation."
+
+#: of paddle_quantum.mbqc.mcalculus.MCalculus.track_progress:1::1
+msgid ""
+":obj:`standardize "
+"`\\ \\(\\)"
+msgstr ""
+":obj:`standardize "
+"`\\ \\(\\)"
+
+#: of paddle_quantum.mbqc.mcalculus.MCalculus.standardize:1
+#: paddle_quantum.mbqc.mcalculus.MCalculus.track_progress:1::1
+msgid "对测量模式进行标准化。"
+msgstr "Standardize pattern."
+
+#: of paddle_quantum.mbqc.mcalculus.MCalculus.track_progress:1::1
+msgid ""
+":obj:`track_progress "
+"`\\ "
+"\\(\\[track\\]\\)"
+msgstr ""
+":obj:`track_progress "
+"`\\ "
+"\\(\\[track\\]\\)"
+
+#: of paddle_quantum.mbqc.mcalculus.MCalculus.track_progress:1
+#: paddle_quantum.mbqc.mcalculus.MCalculus.track_progress:1::1
+msgid "显示测量模式处理过程的进度条开关。"
+msgstr "Switch to show the pattern processing progress bar."
+
+#: of paddle_quantum.mbqc.mcalculus.MCalculus.set_circuit
+#: paddle_quantum.mbqc.mcalculus.MCalculus.track_progress
+msgid "Parameters"
+msgstr "Parameters"
+
+#: of paddle_quantum.mbqc.mcalculus.MCalculus.track_progress:3
+msgid "``True`` 为打开进度条显示,``False`` 为关闭进度条显示,默认为 ``True``"
+msgstr ""
+"``True`` for turning on the progress bar, ``False`` for turning off the "
+"progress bar, the default value is ``True``."
+
+#: of paddle_quantum.mbqc.mcalculus.MCalculus.set_circuit:3
+msgid "量子电路"
+msgstr "Quantum circuit."
+
+#: of paddle_quantum.mbqc.mcalculus.MCalculus.standardize:3
+msgid ""
+"该方法对测量模式进行标准化操作,转化成等价的 EMC 模型。即将所有的 ``CommandE`` 交换到最前面,其次是 ``CommandM``,"
+" ``CommandX`` 和 ``CommandZ``。为了简化测量模式,该方法在标准化各类命令之后还对 ``CommandM`` 进行 "
+"Pauli 简化。"
+msgstr ""
+"This method is called to standardize a pattern to the EMC model, that is,"
+" to permute all ``CommandE`` to the front, and then ``CommandM``, and "
+"then ``CommandX``, and finally the ``CommandZ``. To simplify the pattern, "
+"this method automatically performs Pauli simplifications to ``CommandM``"
+" after the standardization of all commands."
+
+#: of paddle_quantum.mbqc.mcalculus.MCalculus.shift_signals:3
+msgid "这是用户选择性调用的方法之一。"
+msgstr "This is one method that the user optionally calls."
+
+#: of paddle_quantum.mbqc.mcalculus.MCalculus.get_pattern
+msgid "Returns"
+msgstr "Returns"
+
+#: of paddle_quantum.mbqc.mcalculus.MCalculus.get_pattern:3
+msgid "处理后的测量模式"
+msgstr "The pattern after processing."
+
+#: of paddle_quantum.mbqc.mcalculus.MCalculus.get_pattern
+msgid "Return type"
+msgstr "Return type"
+
+#: of paddle_quantum.mbqc.mcalculus.MCalculus.optimize_by_row:5
+msgid ""
+"这是一种启发式的优化算法,对于特定的测量模式可以起到优化测量顺序的作用,不排除存在更优的测量顺序。例如,对于浅层量子电路, "
+"按照行序优先原则,测量完同一量子位上的量子门、测量对应的节点后,该量子位不再起作用,进而减少后续计算时可能涉及到的节点数目。"
+msgstr ""
+"This is a heuristic optimization algorithm, with good performance in "
+"specific patterns. However, we do not exclude the existence of a better "
+"measurement order. For quantum shallow circuits, once all qubits on the "
+"same row are measured, they no longer play a role in the following "
+"calculations. In this way, the number of qubits involved in subsequent "
+"calculations can be reduced."
+
diff --git a/docs/source/locale/en/LC_MESSAGES/paddle_quantum.mbqc.mcalculus.po b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.mbqc.mcalculus.po
new file mode 100644
index 0000000..13e53d9
--- /dev/null
+++ b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.mbqc.mcalculus.po
@@ -0,0 +1,202 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2021, Institute for Quantum Computing, Baidu Inc.
+# This file is distributed under the same license as the Paddle Quantum
+# package.
+# FIRST AUTHOR , 2021.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Paddle Quantum \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-08-18 19:46+0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: LANGUAGE \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.9.1\n"
+
+#: ../../source/_autosummary/paddle_quantum.mbqc.mcalculus.rst:2
+msgid "paddle\\_quantum.mbqc.mcalculus"
+msgstr "paddle\\_quantum.mbqc.mcalculus"
+
+#: of paddle_quantum.mbqc.mcalculus.MCalculus:1
+msgid "定义测量模式类。"
+msgstr "Define ``MCalculus`` class."
+
+#: of paddle_quantum.mbqc.mcalculus.MCalculus:3
+msgid "跟据文献 [The measurement calculus, arXiv: 0704.1263] 的测量语言,该类提供处理测量模式的各种基本操作。"
+msgstr ""
+"According to the measurement language in [The measurement calculus, "
+"arXiv: 0704.1263], this class provides various basic operations for "
+"measurement patterns."
+
+#: of paddle_quantum.mbqc.mcalculus.MCalculus.__init__:1
+#: paddle_quantum.mbqc.mcalculus.MCalculus.track_progress:1::1
+msgid "``MCalculus`` 的构造函数,用于实例化一个 ``MCalculus`` 对象。"
+msgstr "``MCalculus`` constructor, used to instantiate a ``MCalculus`` object."
+
+#: ../../source/_autosummary/paddle_quantum.mbqc.mcalculus.MCalculus.rst:14
+msgid "Methods"
+msgstr "Methods"
+
+#: of paddle_quantum.mbqc.mcalculus.MCalculus.track_progress:1::1
+msgid ""
+":obj:`__init__ `\\ "
+"\\(\\)"
+msgstr ""
+":obj:`__init__ `\\ "
+"\\(\\)"
+
+#: of paddle_quantum.mbqc.mcalculus.MCalculus.track_progress:1::1
+msgid ""
+":obj:`get_pattern "
+"`\\ \\(\\)"
+msgstr ""
+":obj:`get_pattern "
+"`\\ \\(\\)"
+
+#: of paddle_quantum.mbqc.mcalculus.MCalculus.get_pattern:1
+#: paddle_quantum.mbqc.mcalculus.MCalculus.track_progress:1::1
+msgid "返回测量模式。"
+msgstr "Return pattern."
+
+#: of paddle_quantum.mbqc.mcalculus.MCalculus.track_progress:1::1
+msgid ""
+":obj:`optimize_by_row "
+"`\\ \\(\\)"
+msgstr ""
+":obj:`optimize_by_row "
+"`\\ \\(\\)"
+
+#: of paddle_quantum.mbqc.mcalculus.MCalculus.optimize_by_row:1
+#: paddle_quantum.mbqc.mcalculus.MCalculus.track_progress:1::1
+msgid "按照行序优先的原则对测量模式中的测量顺序进行优化。"
+msgstr "optimize measurements of the pattern by a row-major order algorithm."
+
+#: of paddle_quantum.mbqc.mcalculus.MCalculus.track_progress:1::1
+msgid ""
+":obj:`set_circuit "
+"`\\ \\(circuit\\)"
+msgstr ""
+":obj:`set_circuit "
+"`\\ \\(circuit\\)"
+
+#: of paddle_quantum.mbqc.mcalculus.MCalculus.set_circuit:1
+#: paddle_quantum.mbqc.mcalculus.MCalculus.track_progress:1::1
+msgid "对 ``MCalculus`` 类设置量子电路。"
+msgstr "Set quantum circuit to ``MCalculus`` class."
+
+#: of paddle_quantum.mbqc.mcalculus.MCalculus.track_progress:1::1
+msgid ""
+":obj:`shift_signals "
+"`\\ \\(\\)"
+msgstr ""
+":obj:`shift_signals "
+"`\\ \\(\\)"
+
+#: of paddle_quantum.mbqc.mcalculus.MCalculus.shift_signals:1
+#: paddle_quantum.mbqc.mcalculus.MCalculus.track_progress:1::1
+msgid "信号转移操作。"
+msgstr "Signal shifting operation."
+
+#: of paddle_quantum.mbqc.mcalculus.MCalculus.track_progress:1::1
+msgid ""
+":obj:`standardize "
+"`\\ \\(\\)"
+msgstr ""
+":obj:`standardize "
+"`\\ \\(\\)"
+
+#: of paddle_quantum.mbqc.mcalculus.MCalculus.standardize:1
+#: paddle_quantum.mbqc.mcalculus.MCalculus.track_progress:1::1
+msgid "对测量模式进行标准化。"
+msgstr "Standardize pattern."
+
+#: of paddle_quantum.mbqc.mcalculus.MCalculus.track_progress:1::1
+msgid ""
+":obj:`track_progress "
+"`\\ "
+"\\(\\[track\\]\\)"
+msgstr ""
+":obj:`track_progress "
+"`\\ "
+"\\(\\[track\\]\\)"
+
+#: of paddle_quantum.mbqc.mcalculus.MCalculus.track_progress:1
+#: paddle_quantum.mbqc.mcalculus.MCalculus.track_progress:1::1
+msgid "显示测量模式处理过程的进度条开关。"
+msgstr "Switch to show the pattern processing progress bar."
+
+#: of paddle_quantum.mbqc.mcalculus.MCalculus.set_circuit
+#: paddle_quantum.mbqc.mcalculus.MCalculus.track_progress
+msgid "Parameters"
+msgstr "Parameters"
+
+#: of paddle_quantum.mbqc.mcalculus.MCalculus.track_progress:3
+msgid "``True`` 为打开进度条显示,``False`` 为关闭进度条显示,默认为 ``True``"
+msgstr ""
+"``True`` for turning on the progress bar, ``False`` for turning off the "
+"progress bar, the default value is ``True``."
+
+#: of paddle_quantum.mbqc.mcalculus.MCalculus.set_circuit:3
+msgid "量子电路"
+msgstr "Quantum circuit."
+
+#: of paddle_quantum.mbqc.mcalculus.MCalculus.standardize:3
+msgid ""
+"该方法对测量模式进行标准化操作,转化成等价的 EMC 模型。即将所有的 ``CommandE`` 交换到最前面,其次是 ``CommandM``,"
+" ``CommandX`` 和 ``CommandZ``。为了简化测量模式,该方法在标准化各类命令之后还对 ``CommandM`` 进行 "
+"Pauli 简化。"
+msgstr ""
+"This method is called to standardize a pattern to the EMC model, that is,"
+" to permute all ``CommandE`` to the front, and then ``CommandM``, and "
+"then ``CommandX``, and finally the ``CommandZ``. To simplify the pattern, "
+"this method automatically performs Pauli simplifications to ``CommandM``"
+" after the standardization of all commands."
+
+#: of paddle_quantum.mbqc.mcalculus.MCalculus.shift_signals:3
+msgid "这是用户选择性调用的方法之一。"
+msgstr "This is one method that the user optionally calls."
+
+#: of paddle_quantum.mbqc.mcalculus.MCalculus.get_pattern
+msgid "Returns"
+msgstr "Returns"
+
+#: of paddle_quantum.mbqc.mcalculus.MCalculus.get_pattern:3
+msgid "处理后的测量模式"
+msgstr "The pattern after processing."
+
+#: of paddle_quantum.mbqc.mcalculus.MCalculus.get_pattern
+msgid "Return type"
+msgstr "Return type"
+
+#: of paddle_quantum.mbqc.mcalculus.MCalculus.optimize_by_row:5
+msgid ""
+"这是一种启发式的优化算法,对于特定的测量模式可以起到优化测量顺序的作用,不排除存在更优的测量顺序。例如,对于浅层量子电路, "
+"按照行序优先原则,测量完同一量子位上的量子门、测量对应的节点后,该量子位不再起作用,进而减少后续计算时可能涉及到的节点数目。"
+msgstr ""
+"This is a heuristic optimization algorithm, with good performance in "
+"specific patterns. However, we do not exclude the existence of a better "
+"measurement order. For quantum shallow circuits, once all qubits on the "
+"same row are measured, they no longer play a role in the following "
+"calculations. In this way, the number of qubits involved in subsequent "
+"calculations can be reduced."
+
+#: of paddle_quantum.mbqc.mcalculus:1
+msgid "此模块包含处理 MBQC 测量模式的相关操作。"
+msgstr "This module contains operations for the manipulation of measurement patterns."
+
+#: ../../source/_autosummary/paddle_quantum.mbqc.mcalculus.rst:20
+msgid "Classes"
+msgstr "Classes"
+
+#: ../../source/_autosummary/paddle_quantum.mbqc.mcalculus.rst:25::1
+msgid ":obj:`MCalculus `\\ \\(\\)"
+msgstr ":obj:`MCalculus `\\ \\(\\)"
+
+#: ../../source/_autosummary/paddle_quantum.mbqc.mcalculus.rst:25::1
+msgid "定义测量模式类。"
+msgstr "Define ``MCalculus`` class."
+
diff --git a/docs/source/locale/en/LC_MESSAGES/paddle_quantum.mbqc.po b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.mbqc.po
new file mode 100644
index 0000000..3b0f0f9
--- /dev/null
+++ b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.mbqc.po
@@ -0,0 +1,75 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2021, Institute for Quantum Computing, Baidu Inc.
+# This file is distributed under the same license as the Paddle Quantum
+# package.
+# FIRST AUTHOR , 2021.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Paddle Quantum \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-05-17 11:08+0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: LANGUAGE \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.10.1\n"
+
+#: ../../source/paddle_quantum.mbqc.rst:2
+msgid "paddle\\_quantum.mbqc"
+msgstr "paddle\\_quantum.mbqc"
+
+#: ../../source/paddle_quantum.mbqc.rst:10
+msgid "Submodules"
+msgstr "Submodules"
+
+#~ msgid ":obj:`paddle_quantum.mbqc.mcalculus `\\"
+#~ msgstr ":obj:`paddle_quantum.mbqc.mcalculus `\\"
+
+#~ msgid "此模块包含处理 MBQC 测量模式的相关操作。"
+#~ msgstr ""
+#~ "This module contains operations for the"
+#~ " manipulation of measurement patterns."
+
+#~ msgid ":obj:`paddle_quantum.mbqc.qobject `\\"
+#~ msgstr ":obj:`paddle_quantum.mbqc.qobject `\\"
+
+#~ msgid "此模块包含量子信息处理的常用对象,如量子态、量子电路、测量模式等。"
+#~ msgstr ""
+#~ "This module contains common objects for"
+#~ " quantum information processing, such as"
+#~ " quantum states, quantum circuits, "
+#~ "measurement patterns, etc."
+
+#~ msgid ":obj:`paddle_quantum.mbqc.simulator `\\"
+#~ msgstr ":obj:`paddle_quantum.mbqc.simulator `\\"
+
+#~ msgid "此模块包含构造 MBQC 模型的常用类和配套的运算模拟工具。"
+#~ msgstr ""
+#~ "This module contains a frequently used"
+#~ " class and accompanying simulation tools"
+#~ " for constructing MBQC models."
+
+#~ msgid ""
+#~ ":obj:`paddle_quantum.mbqc.transpiler "
+#~ "`\\"
+#~ msgstr ""
+#~ ":obj:`paddle_quantum.mbqc.transpiler "
+#~ "`\\"
+
+#~ msgid "此模块包含电路模型和 MBQC 测量模式的转义工具。"
+#~ msgstr ""
+#~ "This module contains tools for "
+#~ "transpiling circuits to measurement patterns."
+
+#~ msgid ":obj:`paddle_quantum.mbqc.utils `\\"
+#~ msgstr ":obj:`paddle_quantum.mbqc.utils `\\"
+
+#~ msgid "此模块包含计算所需的各种常用类和函数。"
+#~ msgstr ""
+#~ "This module contains various common "
+#~ "classes and functions used for "
+#~ "computation."
+
diff --git a/docs/source/locale/en/LC_MESSAGES/paddle_quantum.mbqc.qobject.Circuit.po b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.mbqc.qobject.Circuit.po
new file mode 100644
index 0000000..a0daf57
--- /dev/null
+++ b/docs/source/locale/en/LC_MESSAGES/paddle_quantum.mbqc.qobject.Circuit.po
@@ -0,0 +1,530 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2021, Institute for Quantum Computing, Baidu Inc.
+# This file is distributed under the same license as the Paddle Quantum
+# package.
+# FIRST AUTHOR , 2021.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Paddle Quantum \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-08-26 16:36+0800\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: LANGUAGE \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Generated-By: Babel 2.9.1\n"
+
+#: ../../source/_autosummary/paddle_quantum.mbqc.qobject.Circuit.rst:2
+msgid "paddle\\_quantum.mbqc.qobject.Circuit"
+msgstr "paddle\\_quantum.mbqc.qobject.Circuit"
+
+#: of paddle_quantum.mbqc.qobject.Circuit:1
+msgid "定义量子电路。"
+msgstr "Define quantum circuit."
+
+#: of paddle_quantum.mbqc.qobject.Circuit:3
+msgid "该类与 ``UAnsatz`` 类似,用户可以仿照 ``UAnsatz`` 电路的调用方式对此类进行实例化,完成电路图的构建。"
+msgstr ""
+"This class is similar to the class ``UAnsatz``. Users can similarly "
+"instantiate this class to build quantum circuits."
+
+#: of paddle_quantum.mbqc.qobject.Circuit:5
+msgid ""
+"当前版本仅支持 ``H, X, Y, Z, S, T, Rx, Ry, Rz, Rz_5, U, CNOT, CNOT_15, CZ`` "
+"中的量子门以及测量操作。"
+msgstr ""
+"The current version only supports quantum measurements and quantum gates "
+"in ``H, X, Y, Z, S, T, Rx, Ry, Rz, Rz_5, U, CNOT, CNOT_15, CZ``."
+
+#: of paddle_quantum.mbqc.qobject.Circuit:9
+#: paddle_quantum.mbqc.qobject.Circuit.__init__:3
+msgid "电路的宽度(比特数)"
+msgstr "Circuit width (qubit number)."
+
+#: of paddle_quantum.mbqc.qobject.Circuit
+msgid "type"
+msgstr "type"
+
+#: of paddle_quantum.mbqc.qobject.Circuit:11
+msgid "int"
+msgstr "int"
+
+#: of paddle_quantum.mbqc.qobject.Circuit.__init__:1
+#: paddle_quantum.mbqc.qobject.Circuit.h:1::1
+msgid "``Circuit`` 的构造函数,用于实例化一个 ``Circuit`` 对象。"
+msgstr "``Circuit`` constructor, used to instantiate a ``Circuit`` object."
+
+#: of paddle_quantum.mbqc.qobject.Circuit.__init__
+#: paddle_quantum.mbqc.qobject.Circuit.cnot
+#: paddle_quantum.mbqc.qobject.Circuit.cnot_15
+#: paddle_quantum.mbqc.qobject.Circuit.cz paddle_quantum.mbqc.qobject.Circuit.h
+#: paddle_quantum.mbqc.qobject.Circuit.measure
+#: paddle_quantum.mbqc.qobject.Circuit.rx
+#: paddle_quantum.mbqc.qobject.Circuit.ry
+#: paddle_quantum.mbqc.qobject.Circuit.rz
+#: paddle_quantum.mbqc.qobject.Circuit.rz_5
+#: paddle_quantum.mbqc.qobject.Circuit.s paddle_quantum.mbqc.qobject.Circuit.t
+#: paddle_quantum.mbqc.qobject.Circuit.u paddle_quantum.mbqc.qobject.Circuit.x
+#: paddle_quantum.mbqc.qobject.Circuit.y paddle_quantum.mbqc.qobject.Circuit.z
+msgid "Parameters"
+msgstr "Parameters"
+
+#: ../../source/_autosummary/paddle_quantum.mbqc.qobject.Circuit.rst:14
+msgid "Methods"
+msgstr "Methods"
+
+#: of paddle_quantum.mbqc.qobject.Circuit.h:1::1
+msgid ""
+":obj:`__init__ `\\ "
+"\\(width\\)"
+msgstr ""
+":obj:`__init__ `\\ "
+"\\(width\\)"
+
+#: of paddle_quantum.mbqc.qobject.Circuit.h:1::1
+msgid ""
+":obj:`cnot `\\ "
+"\\(which\\_qubits\\)"
+msgstr ""
+":obj:`cnot `\\ "
+"\\(which\\_qubits\\)"
+
+#: of paddle_quantum.mbqc.qobject.Circuit.cnot:1
+#: paddle_quantum.mbqc.qobject.Circuit.h:1::1
+msgid "添加控制非门。"
+msgstr "Add a Control NOT gate."
+
+#: of paddle_quantum.mbqc.qobject.Circuit.h:1::1
+msgid ""
+":obj:`cnot_15 `\\ "
+"\\(which\\_qubits\\)"
+msgstr ""
+":obj:`cnot_15 `\\ "
+"\\(which\\_qubits\\)"
+
+#: of paddle_quantum.mbqc.qobject.Circuit.cnot_15:1
+#: paddle_quantum.mbqc.qobject.Circuit.h:1::1
+msgid "添加控制非门 (该门对应的测量模式由十五个量子比特构成)。"
+msgstr "Add a Control NOT gate (Corresponding to the pattern of 15 qubits)."
+
+#: of paddle_quantum.mbqc.qobject.Circuit.h:1::1
+msgid ":obj:`cz `\\ \\(which\\_qubits\\)"
+msgstr ":obj:`cz `\\ \\(which\\_qubits\\)"
+
+#: of paddle_quantum.mbqc.qobject.Circuit.cz:1
+#: paddle_quantum.mbqc.qobject.Circuit.h:1::1
+msgid "添加控制 Z 门。"
+msgstr "Add a Control Z gate."
+
+#: of paddle_quantum.mbqc.qobject.Circuit.h:1::1
+msgid ""
+":obj:`get_circuit `\\ "
+"\\(\\)"
+msgstr ""
+":obj:`get_circuit `\\ "
+"\\(\\)"
+
+#: of paddle_quantum.mbqc.qobject.Circuit.get_circuit:1
+#: paddle_quantum.mbqc.qobject.Circuit.h:1::1
+msgid "返回量子电路列表。"
+msgstr "Return a quantum circuit list."
+
+#: of paddle_quantum.mbqc.qobject.Circuit.h:1::1
+msgid ""
+":obj:`get_measured_qubits "
+"`\\ \\(\\)"
+msgstr ""
+":obj:`get_measured_qubits "
+"`\\ \\(\\)"
+
+#: of paddle_quantum.mbqc.qobject.Circuit.get_measured_qubits:1
+#: paddle_quantum.mbqc.qobject.Circuit.h:1::1
+msgid "返回量子电路中测量的比特位。"
+msgstr "Return measurement qubit indices in the quantum circuit."
+
+#: of paddle_quantum.mbqc.qobject.Circuit.h:1::1
+msgid ":obj:`get_width `\\ \\(\\)"
+msgstr ":obj:`get_width `\\ \\(\\)"
+
+#: of paddle_quantum.mbqc.qobject.Circuit.get_width:1
+#: paddle_quantum.mbqc.qobject.Circuit.h:1::1
+msgid "返回量子电路的宽度。"
+msgstr "Return quantum circuit width."
+
+#: of paddle_quantum.mbqc.qobject.Circuit.h:1: