hwakのトリビアルな雑記集

初めまして、個人研究者のhwakです。個人的に量子アルゴリズムの研究をしております。

Majorana particles and topological quantum computation.

In this article, we will discuss the Majorana particle and topological computation. The Majorana particle is a qubit that Microsoft has been studying as a quantum bit in quantum computers, but this year it was discovered that the paper on which it was based was wrong. Since then, the paper has been retracted and has become infamous, but the possibility of using the Majorana particle as a qubit has not disappeared. Nevertheless, the Majorana particle is a strong candidate for a topological qubit. The main points of this article are as follows

Majorana particles appear when a pair of zero-point crossings in the Fermi surface occur.

Majorana particles can be moved to perform quantum calculations.

Topological quantum computation has not yet found a quantum system directly, so various quantum computation methods have been proposed.

Although the Majorana particle is a virtual particle without mass and charge, it can be treated as a qubit, and the transport phenomena specific to it have been confirmed. The Majorana particle is a virtual particle without mass and charge, but it can be treated as a qubit, and its specific transport phenomena have been confirmed. This particle is commutative and always appears in pairs. However, the positions and distances of each pair of particles are movable and can be calculated. The system in which this particle appears is a Josephson device made of a topological superconductor and a topological insulator. They appear there in pairs, each at a different position. Another way is to produce them as vortex threads in defects in a two-dimensional system. A pair of Majorana particles can be generated there, one moving toward the other, and both observed simultaneously to complete the calculation. The above is just one example described in reference [1]. In practice, various methods have been proposed and vary depending on how the particle pair is generated.

The particles are defined by topological parameters and are therefore supposed to be robust to noise. In fact, theoretical predictions estimate that the error rate in Clifford gates other than phase gates is about 10-12 [2]. When this is completed, the performance of quantum computers will improve dramatically, and we may be able to go all the way to the third generation. I hope that Microsoft will not give up on this possibility.

[1]https://slidetodoc.com/majorana-fermions-and-topological-insulators-charles-l-kane/

[2][1501.02813] Majorana Zero Modes and Topological Quantum Computation (arxiv.org)

【PR】初心者も安心のサポート充実【DMM FX】

楽天Kobo

 

Quantum Integrable System.

In this article, we will talk about integrable systems, especially quantum integrable systems. An integrable system is a system that can be solved by combining integration, differentiation, transformation of variables, solving differential equations, and the four arithmetic operations, and can be expressed as a fully integrable total differential equation [1]. In such a system, as the number of elements increases, the expression for the conservation law increases. Therefore, in the limit of infinite number of elements, the number of conserved quantities diverges to positive infinity. This is the case for the Toda lattice and the KdV equation in soliton fields. The latter can be solved by Fourier series expansion in terms of trigonometric functions including coordinates and time [2].

In quantum integrable systems, the number of conserved quantities commutative with the Hamiltonian increases with the number of elements. Examples include quantum solitons, one-dimensional quantum gases, and one-dimensional Hubbard models (such as the XXZ system) [3]. One of the most familiar is the nonlinear engineering interaction of carrier waves in optical fibers [4]. Since optical fiber is a medium that cannot be described by the Lorentz model, the dielectric susceptibility becomes a nonlinear tensor and nonlinear optical effects occur. This is the sum of the interaction of the light waves through the medium and the interaction of the light waves with the medium itself. Examples include self-modulation, self-steepening (interaction of light with the medium), Raman scattering, induced Raman scattering (interaction of multiple light waves with the medium through the medium), and four-light wave mixing (interaction between light waves through the medium). The result is a nonlinear Schrodinger equation whose complex amplitude is a quantum integrable system [5].

The title of this article is "quantum integrable systems," but although each example is simple, the general theory is difficult, and I must admit that I do not understand it well myself.

The examples are simple, but the general theory is difficult, and I have to admit that I do not understand it very well. Originally, this would be defined using a leaf layer structure, but unfortunately I am not familiar with differential geometry, so I cannot guarantee the content. However, there are many examples of integrable systems in the references, and I hope you will refer to them on your own.

[1] http://www.nara-wu.ac.jp/initiative-MPI/images/nwu_only/Inoue-file.pdf

[2] http://gandalf.math.kyushu-u.ac.jp/~kaji/ohp/2007_master.pdf

[3] https://www.math.sci.hokudai.ac.jp/~wakate/mcyr/2018/pd /00100_sato_jun.pdf

[4] https://optipedia.info/laser/fiberlaser/nonlinear-schrodinger/

[5] https://www.nagare.or.jp/download/noauth.html?d=31-5rensai.pdf&dir=160

【PR】初心者も安心のサポート充実【DMM FX】

楽天Kobo

 

VQE using pytket, the version of the 2021.

In this presentation, I will introduce pytket, an algorithm development kit for quantum computers from Cambridge Quantum Computing. In this article, we will introduce pytket, an algorithm development kit for quantum computers from Cambridge Quantum Computing, and show how to use it to run the Variational Quantum Eigensolver (VQE), one of the variational quantum algorithms. This pytket, like blueqat, can use various backends, and unusually can submit jobs to Honeywell machines. However, the specification of this pytket changes two or three times with each version update, so the previous writing style will soon no longer work. In this article, we will show the results of the calculations in these environments.

python environment: python3.9.10 (64-bit)

pytket version: pytket0.17.0, pytket-qiskit0.20.0

Runtime environment: Visual Studio 2017

In pytket, a quantum circuit is described as follows.

from pytket import Circuit from pytket.extensions.qiskit.backends import AerBackend, IBMQBackend, AerStateBackend

In this version, the backend is written as follows, and the result of the circuit execution is retrieved like this.

   
  
 
circ = Circuit(2, 2)
circ.Rx(0.3, 0).Ry(0.5, 1).Rz(-0.6, 1).measure_all()

b = AerBackend()
bs = AerStateBackend()
b.compile_circuit(circ)        # performs the minimal compilation to satisfy the device/simulator constraints
handle = b.process_circuit(circ, 1024)   # run the circuit 1024 times
bs.compile_circuit(circ)
from pytket.utils import probs_from_counts
print(b.get_result(handle))
print(bs)
state = bs.process_circuit(circ).get_state()
nvector = state.round(16)
print(probs_from_counts(b.get_result(handle).get_counts())) # retrieve and return the readouts
print(nvector)
 

By changing the backend, it is possible to run the calculation on various quantum computers and their simulators. However, unfortunately, it is not possible to do calculations without it, as in blueqat. I will explain how to run VQE from here. If you are not familiar with VQE, please see here . The following is the source code distributed by the official source on GitHub , which calculates the ground energy of molecular hydrogen with an interatomic distance of 0.75 (Å). The Hamiltonian is from openfermion, and the basis is STO-3G. The clusters are from UCCSD, and the three variables are two one-electron excitations and one two-electron excitation. Line 120 registers them in the circuit, and line 122 is the part that calculates the energy from the circuit and returns the sum of the Coulomb repulsion potentials.

 
from pytket import Circuit
from pytket.extensions.qiskit.backends import AerBackend, IBMQBackend, AerStateBackend
import sys
from openfermion import *
from scipy import *
from scipy.optimize import minimize as scipy_minimizer
from scipy import interpolate
import numpy as np
import numpy as np
import copy
from collections import Counter, defaultdict
from functools import reduce
import itertools
import random
import warnings
import time
import csv


# # VQE for Unitary Coupled Cluster using tket


# In this tutorial, we will focus on:
# - building parameterised ansätze for variational algorithms;
# - compilation tools for UCC-style ansätze.


# This example assumes the reader is familiar with the Variational Quantum Eigensolver and its application to electronic structure problems through the Unitary Coupled Cluster approach.
#
# To run this example, you will need [object Object] and [object Object], as well as [object Object], [object Object], and [object Object].
#
# We will start with a basic implementation and then gradually modify it to make it faster, more general, and less noisy. The final solution is given in full at the bottom of the notebook.
#
# Suppose we have some electronic configuration problem, expressed via a physical Hamiltonian. (The Hamiltonian and excitations in this example were obtained using [object Object] version 0.5.2 and [object Object] for H2, bond length 0.75A, sto3g basis, Jordan-Wigner encoding, with no qubit reduction or orbital freezing.)


from openfermion import QubitOperator


from openfermion import QubitOperator
from scipy.optimize import minimize
from sympy import symbols


from pytket.extensions.qiskit import AerBackend
from pytket.circuit import Circuit, Qubit
from pytket.partition import PauliPartitionStrat
from pytket.passes import GuidedPauliSimp, FullPeepholeOptimise
from pytket.pauli import Pauli, QubitPauliString
from pytket.utils import get_operator_expectation_value, gen_term_sequence_circuit
from pytket.utils.operators import QubitPauliOperator


# Obtain electronic Hamiltonian:


hamiltonian = (
    -0.8153001706270075 * QubitOperator("")
    + 0.16988452027940318 * QubitOperator("Z0")
    + -0.21886306781219608 * QubitOperator("Z1")
    + 0.16988452027940323 * QubitOperator("Z2")
    + -0.2188630678121961 * QubitOperator("Z3")
    + 0.12005143072546047 * QubitOperator("Z0 Z1")
    + 0.16821198673715723 * QubitOperator("Z0 Z2")
    + 0.16549431486978672 * QubitOperator("Z0 Z3")
    + 0.16549431486978672 * QubitOperator("Z1 Z2")
    + 0.1739537877649417 * QubitOperator("Z1 Z3")
    + 0.12005143072546047 * QubitOperator("Z2 Z3")
    + 0.04544288414432624 * QubitOperator("X0 X1 X2 X3")
    + 0.04544288414432624 * QubitOperator("X0 X1 Y2 Y3")
    + 0.04544288414432624 * QubitOperator("Y0 Y1 X2 X3")
    + 0.04544288414432624 * QubitOperator("Y0 Y1 Y2 Y3")
)
nuclear_repulsion_energy = 0.70556961456


hamiltonian_op = QubitPauliOperator.from_OpenFermion(hamiltonian)


# Obtain terms for single and double excitations:


q = [Qubit(i) for i in range(4)]
xyii = QubitPauliString([q[0], q[1]], [Pauli.X, Pauli.Y])
yxii = QubitPauliString([q[0], q[1]], [Pauli.Y, Pauli.X])
iixy = QubitPauliString([q[2], q[3]], [Pauli.X, Pauli.Y])
iiyx = QubitPauliString([q[2], q[3]], [Pauli.Y, Pauli.X])
xxxy = QubitPauliString(q, [Pauli.X, Pauli.X, Pauli.X, Pauli.Y])
xxyx = QubitPauliString(q, [Pauli.X, Pauli.X, Pauli.Y, Pauli.X])
xyxx = QubitPauliString(q, [Pauli.X, Pauli.Y, Pauli.X, Pauli.X])
yxxx = QubitPauliString(q, [Pauli.Y, Pauli.X, Pauli.X, Pauli.X])
yyyx = QubitPauliString(q, [Pauli.Y, Pauli.Y, Pauli.Y, Pauli.X])
yyxy = QubitPauliString(q, [Pauli.Y, Pauli.Y, Pauli.X, Pauli.Y])
yxyy = QubitPauliString(q, [Pauli.Y, Pauli.X, Pauli.Y, Pauli.Y])
xyyy = QubitPauliString(q, [Pauli.X, Pauli.Y, Pauli.Y, Pauli.Y])


# Symbolic UCC ansatz generation:


syms = symbols("p0 p1 p2")
singles_syms = {xyii: syms[0], yxii: -syms[0], iixy: syms[1], iiyx: -syms[1]}
doubles_syms = {
    xxxy: 0.25 * syms[2],
    xxyx: -0.25 * syms[2],
    xyxx: 0.25 * syms[2],
    yxxx: -0.25 * syms[2],
    yyyx: -0.25 * syms[2],
    yyxy: 0.25 * syms[2],
    yxyy: -0.25 * syms[2],
    xyyy: 0.25 * syms[2],
}
print(singles_syms, doubles_syms)
excitation_op = QubitPauliOperator({**singles_syms, **doubles_syms})
ucc_ref = Circuit(4).X(0).X(2)
ucc = gen_term_sequence_circuit(excitation_op, ucc_ref)


# Circuit simplification:


GuidedPauliSimp().apply(ucc)
FullPeepholeOptimise().apply(ucc)


# Connect to a simulator/device:


backend = AerBackend()


# Objective function:




def objective(params):
    circ = ucc.copy()
    sym_map = dict(zip(syms, params)) #assign parameters.
    circ.symbol_substitution(sym_map)
    return (
        get_operator_expectation_value(
            circ,
            hamiltonian_op,
            backend,
            n_shots=4000,
            partition_strat=PauliPartitionStrat.CommutingSets,
        )
        + nuclear_repulsion_energy
    ).real




# Optimise against the objective function:


initial_params = [1e-4, 1e-4, 4e-1]
result = minimize(objective, initial_params, method="Nelder-Mead")
print("Final parameter values", result.x)
print("Final energy value", result.fun)


# Exercises:
# - Replace the [object Object] call with its implementation and use this to pull the analysis for measurement reduction outside of the objective function, so our circuits can be fully determined and compiled once. This means that the [object Object] method will need to be applied to each measurement circuit instead of just the state preparation circuit.
# - Use the [object Object] class to add some mitigation of the measurement errors. Start by running the characterisation circuits first, before your main VQE loop, then apply the mitigation to each of the circuits run within the objective function.
# - Change the [object Object] by passing in a [object Object] [object Object] to simulate a noisy device. Compare the accuracy of the objective function both with and without the circuit simplification. Try running a classical optimiser over the objective function and compare the convergence rates with different noise models. If you have access to a QPU, try changing the [object Object] to connect to that and compare the results to the simulator.

The result of doing this is roughly -1.13 (Hartree). In addition, there is a homework assignment at the end of this code. You can try it if you feel like it. I'll post the results of my calculations in the future.

【PR】初心者も安心のサポート充実【DMM FX】

楽天Kobo

 

量子コンピューティングエキスポ。

今日、RX Japanが開催する量子コンピューティングエキスポにいってきました。

これは2019年から開催されている、企業が自社の技術や製品を展示し、商談を行ったり、最新のトレンドを知れるセミナーを行うイベントです。

先ずは、中性原子型量子計算機を世にだし、量子計算機における演算忠実度と使用可能な量子ビットクラウドの範囲では大きく引き上げたQuEraのセミナーのレポートを・・・できませんでした・・・。諸事情により行けませんでした。

これからは耐エラー量子計算機の時代だから、そこで扱う用のアルゴリズム研究しか生き残らず、仕事も汎用量子人工知能と生成 A I に多くが取って代わられるとのことです。

さて、前置きが長くなりましたが、ここからが本題です。

ブースの方は拝見させていただくことが出来ました。

エキスポの全体に置ける割合は回を追う毎に縮小傾向にあります。今年はとうとう Quantinuum も、QunaSysも、Jijも出店しませんでした。

Jij は唯一、人工知能エキスポの方で出展してました。

量子計算機から撤退したわけではなく、量子はまだビジネスに繋がらない為、研究チームは研究に集中するそうです。

今年も面白い研究を出していて、今年度も新たに論文を出したそうです。

Blueqatと大阪大学量子ソフトウェア研究拠点はそれでも健在です。

前者は提携企業にブースを貸し出し、一般向けセミナーや検定、無料講座に求人サイトも立ち上げ、後者は学生無料の講座を行い量子計算機を使いたいグループと実機保有機関の取次を行い、またそこ自体も研究を行っています。

このように、量子計算は業界としては冷え込んでいますが、研究は今年三つのブレイクスルーが起こり、灼熱状態です。

来年か、或いはその先か、誰かがその成果をビジネスに使い出して、火が点く日も近いです。

【PR】初心者も安心のサポート充実【DMM FX】

楽天Kobo

 

研究サイドから見た2020年の量子情報まとめ

この記事は再掲ですので、昔の内容です。

今年も残り48時間を切ってしまいました。量子情報研究分野にとって重要な成果が立て続けに発表された年が終わろうとしています。

コロナ禍ということもありましたが、今年は量子計算機、そして量子情報分野にとって大きな躍進の年になりました。6月に米Honeywell社から量子体積64の量子コンピューターがリリースされ、その後Ion-Q社から量子体積400万の量子コンピューターがリリースされたことで、量子ビットの忠実性はすでに実用段階に入りつつあります(ただし、イオントラップ型のみ)。そして10月に米IBM社から2023年までに1000量子ビット量子計算機をリリースするとの発表があり[1]、そこに至るまでのロードマップが公開されました。来年には127量子ビット系を実現するそうなので、10量子ビット以上の量子計算機が一般にも無償で利用可能になる日もそう遠くないかもしれません。

それに伴い、量子計算機アルゴリズムの研究成果も全世界から報告されました。4月には密度行列を利用したVariational Quantum State Eigensolver(VQSE)[2]、6月にはMultiobjective Genetic VQE(MoG-VQE)[3]、そして7月には密度行列繰り込み群の性質を応用したDeep-VQE[4]が発表されました。また、ADAPT-VQEの研究は高い精度が出ることから世界中で注目され、様々な形で発展的な内容の研究成果が報告されました。QAOAに応用したADAPT-QAOA[5]、更には時間発展を記述可能な発展型[6]まで発表されました。また、そちらはあまり追っていませんが、量子人工知能分野でも、様々な企業が多くの研究成果を示したようです。

扱える基底はまだ限られており、量子ビットの制約がある中で研究しなければなりませんが、未来は明るそうです。

発展したのは、量子計算機周辺にとどまりません。

今年、とうとう実験的に量子重力を観測する方法について言及する論文が発表されました[7]。10月に開催されたIOP Quantum 2020でも招待講演でこのテーマを扱った方がいました[8]。既に多くの研究グループがこれを実現しようと試みています。今まではお世辞にも有名とは言い難かった量子重力の研究が、ここにきてブームとなりつつあります。大型加速器ではなく、重力子ビームスプリッタによって重力量子理論の研究が進む日も遠くない様です。

このように、量子計算機、量子情報の分野はあらゆる面で今年大きく発展しました。これは量子計算機の時代が来る序章のようにも見えます。来年以降の発展が楽しみになってしまいますね。

しかしながら私も量子情報を研究する身。負けていられません。

それでは、よいお年を。

[1]https://jp.techcrunch.com/2020/09/24/2020-09-15-ibm-publishes-its-quantum-roadmap-says-it-will-have-a-1000-qubit-machine-in-2023/

[2]Cerezo, M., and et. al., arXiv quant-ph:2004.01372v1(2020)

[3]Chivilikin, D, and et. al., arXiv quant-ph:2007.04424(2020)

[4]Keisuke, F, and et. al., arXiv quant-ph:2007.19017v1(2020)

[5]Zhu, Tang, Barron, Mayhall, Barnes, Economou, arXiv:2005.10258(2020)

[6]Yao, Y-X, and et. al., arXiv- quant-ph:2011.00622(2020)

[7]van de-camp, T. W. and et. al., arXiv quant-ph:2006.06931v2(2020)

[8]Vedral, V, Quantum totalitarianism and gravity, IOP Quantum 2020, main stage content 22.10(2020)  

【PR】初心者も安心のサポート充実【DMM FX】

楽天Kobo

 

量子シミュレーションの基礎2。

今回は、前回に引き続きラビ振動のシミュレーションを行います。今回は位相を持った重ね合わせ状態の作り方を毎説します。 これは照射するレーザーに位相を持たせるだけで実現します。それを$\alpha$とすると、前回における式(3)が、

\begin{eqnarray} E\left( \begin{array}{cc} 0&e^{-i/\hbar(E_1-E_0)t}cos(\omega t + \alpha) \mu{01} \ e^{i/\hbar(E_1-E_0)t}cos(\omega t + \alpha) \mu{01}^* & 0 \ \end{array} \right)=i\hbar\textbf{b}'(t) -(3) \end{eqnarray}

となります。同様に回転波近似します。その結果が次式です。

\begin{eqnarray} \frac{1}{2}E\left( \begin{array}{cc} 0&e^{-i\alpha}\mu{01} \ e^{i\alpha}\mu{01}^* & 0 \ \end{array} \right)=i\hbar\textbf{b}'(t) -(4) \end{eqnarray}

これを解いて、係数の時間発展は次のようになります。

\begin{eqnarray} b_0(t)&=&cos\frac{E \mid \mu{01} \mid}{2\hbar}t \ b_1(t)&=&e^{-i\alpha}sin\frac{E \mid \mu{01} \mid}{2\hbar}t \ -(5) \end{eqnarray}

ここから、ラビ振動の照射時間とその位相は次の行列に相当することがわかります。

\begin{eqnarray} R(\theta, \alpha)=\left(\begin{array}{cc}

cos2\pi t/T&e^{i\alpha}sin2\pi/T t \ e^{i\alpha}sin2\pi/T t&cos2\pi t/T \

\end{array}\end{eqnarray}

この変換を組み合わせて各種量子ゲートは実装されています 。 今回、blueqatにおいてショットノイズを実装してわかったことがあります。bkueqatはノイズ周りはほとんどバックエンドだよりで独自のノイズシミュレーションが全く実装されていないということです。ノイズのシミュレーションは量子計算のシミュレーションをするうえで避けては通れない過程です。実機における計算の回数は無料利用枠が設定されてウィル化、従量課金制です。そのため、無料で実機の計算を再現する機能はあってほしいというのが本音です。ショットノイズだけでは実機におけるノイズを再現するには不十分であり、相互作用ノイズ、フリップ、位相シフトなど、細かく設定してノイズをシミュレーションする機能の実装をこの場を借りて求めます。

【PR】初心者も安心のサポート充実【DMM FX】

楽天Kobo

 

量子シミュレーションの基礎:ラビ振動

今回は、量子シミュレーションを実際にどのようにして行うのか解説します。今回使用する系はラビ振動です。これは最も簡単な時間発展系の一つです。2準位間に遷移双極子モーメントが存在する場合、その準位間に相当する電磁波を照射することで、時間変化する量子重ね合わせが作れるというものです。この現象は量子計算にも利用されます。まずはラビ振動のハミルトニアンとその時間発展を説明します。

ラビ振動:

2準位系を考え、そのハミルトニアンが時間発展する場合を考えます。そんの場合、波動関数は、

 \mid \Psi \rangle = \sum_{j}e^{-i/\hbar E_j t}b_j(t)\mid j \rangle \tag{1}

となります。ここで ℏ はディラック定数で、プランク定数を 2𝜋 で割ったものです。シュレディンガー方程式を簡略化して、

\begin{eqnarray} \left( \begin{array}{cc} 0 & e^{-i/\hbar(E_1-E_0)t}\langle 0\mid H_D \mid 1 \rangle \\ e^{i/\hbar(E_1-E_0)t}\langle 1 \mid H_D \mid 0 \rangle & 0 \\ \end{array} \right)=i\hbar\textbf{b}'(t) \tag{2} \end{eqnarray}

となります。 非対角項は遷移相互作用です。これは遷移双極子モーメントと電磁波のベクトル内積としてあらわされます。こうして式(2)は、

\begin{eqnarray} E\left( \begin{array}{cc} 0&e^{-i/\hbar(E_1-E_0)t}cos\omega t \mu_{01} \\ e^{i/\hbar(E_1-E_0)t}cos\omega t \mu_{01}^* & 0 \\ \end{array} \right)=i\hbar\textbf{b}'(t) \tag{3} \end{eqnarray}

と改められます。

この式は回転波近似を施すことで、時間依存しない形に直せます。

指数項と外部電磁波の部分は 𝜔 =( 𝐸1 − 𝐸0)/ℏ の場合には、時間依存しない項と2𝜔に依存して時間発展する項の和になります。

後者は平均がゼロになるため寄与は無視することが可能です。そのため前者のみとします。

こうして、

\begin{eqnarray} \frac{1}{2}E\left( \begin{array}{cc} 0&\mu_{01} \\ \mu_{01}^* & 0 \\ \end{array} \right)=i\hbar\textbf{b}'(t) \tag{4} \end{eqnarray}

となります。 後は通常のシュレディンガー方程式と同じです。これを解いて、

\begin{eqnarray} b_0(t)&=&cos\frac{E \mid \mu_{01} \mid}{2\hbar}t \\ b_1(t)&=&sin\frac{E \mid \mu_{01} \mid}{2\hbar}t \tag{5} \end{eqnarray}

となります。

シミュレーションとその結果:

これらのものはblueqatで容易にシミュレーション可能です。

1量子ビット系においては    𝜎 _0 ^𝑥 𝐸 ∣ 𝜇_{ 01 } ∣ / 2 をこの記事の時間発展ゲートによって量子ビットに印加するだけです。

今回は   𝐸 ∣ 𝜇_{ 01 } ∣ / 2 = 𝜋 / 2 𝑇  とします。

ここで、Tはシミュレーションを行う時間フレーム数で300とします。

図1を見ると、ラビ振動の1周期が再現できていることがわかります。しかしこれだけでは、 𝑅 𝑦 ゲートのシミュレーションしかできません。次回は、位相付きラビ振動のシミュレーション方法を解説します。

1

【PR】初心者も安心のサポート充実【DMM FX】

楽天Kobo