1.1 マグノニクスとは
マグノニクス(Magnonics)は、磁性体中のスピン波(マグノン)を情報担体として 利用する新しい研究分野です。電子の電荷ではなくスピンの集団励起を用いることで、 低消費電力・高集積密度のデバイス実現が期待されています。
マグノニクスの利点
- 低消費電力: ジュール熱なしでの情報伝達
- 短波長: 同周波数の電磁波より3-4桁短い波長
- 非線形性: 本質的な非線形効果を持つ
- 波動性: 干渉・回折などの波動現象を利用可能
スピン波の基本概念
スピン波は、磁性体中の局在スピンの集団的な歳差運動です。 隣接スピン間の交換相互作用により波動として伝播します。
スピンハミルトニアン(ハイゼンベルグ模型)
$$H = -J\sum_{\langle i,j \rangle}\mathbf{S}_i \cdot \mathbf{S}_j - D\sum_i (S_i^z)^2 - g\mu_B H_0 \sum_i S_i^z$$
$J$: 交換相互作用定数、$D$: 磁気異方性定数、$H_0$: 外部磁場
1.2 スピン波分散関係
強磁性体の分散関係
強磁性体におけるスピン波の分散関係は、静磁波(dipolar-dominated)と 交換スピン波(exchange-dominated)の2つの領域に分けられます。
交換スピン波の分散関係
$$\omega_k = \gamma(H_0 + Dk^2)$$
$D = 2JS^2a^2 / \hbar$: スピン波剛性(stiffness)、$a$: 格子定数
静磁波(Damon-Eshbach モード)
$$\omega_{DE} = \gamma\sqrt{H_0(H_0 + 4\pi M_s) + (2\pi M_s)^2(1 - e^{-2kd})}$$
$d$: 薄膜厚さ、表面伝播モード
import numpy as np
import matplotlib.pyplot as plt
def spin_wave_dispersion(k, H0, Ms, D, d, mode='exchange'):
"""
スピン波分散関係の計算
Parameters:
-----------
k : array
波数 [1/m]
H0 : float
外部磁場 [A/m]
Ms : float
飽和磁化 [A/m]
D : float
スピン波剛性 [m^2/s]
d : float
膜厚 [m]
mode : str
'exchange' または 'dipolar'
"""
gamma = 1.76e11 # ジャイロ磁気比 [rad/(T·s)]
mu0 = 4 * np.pi * 1e-7
H0_T = mu0 * H0 # SI単位に変換
if mode == 'exchange':
# 交換支配領域
omega = gamma * (H0_T + D * k**2)
else:
# 静磁波(Damon-Eshbach近似)
term1 = H0_T * (H0_T + mu0 * Ms)
term2 = (mu0 * Ms / 2)**2 * (1 - np.exp(-2 * k * d))
omega = gamma * np.sqrt(term1 + term2)
return omega / (2 * np.pi * 1e9) # GHz単位
# パラメータ設定(YIG: イットリウム鉄ガーネット)
H0 = 1e5 # 外部磁場 [A/m]
Ms = 1.4e5 # 飽和磁化 [A/m]
D = 5.4e-17 # スピン波剛性 [m²/s]
d = 100e-9 # 膜厚 100 nm
# 波数範囲
k = np.linspace(1e4, 1e8, 1000) # [1/m]
# 分散関係の計算
freq_exchange = spin_wave_dispersion(k, H0, Ms, D, d, 'exchange')
freq_dipolar = spin_wave_dispersion(k, H0, Ms, D, d, 'dipolar')
# プロット
plt.figure(figsize=(10, 6))
plt.loglog(k * 1e-6, freq_exchange, 'b-', linewidth=2, label='交換スピン波')
plt.loglog(k * 1e-6, freq_dipolar, 'r--', linewidth=2, label='静磁波 (DE mode)')
plt.xlabel('波数 k [μm⁻¹]', fontsize=12)
plt.ylabel('周波数 f [GHz]', fontsize=12)
plt.title('スピン波分散関係(YIG薄膜)', fontsize=14)
plt.legend()
plt.grid(True, which='both', alpha=0.3)
plt.xlim([1e-2, 100])
plt.tight_layout()
plt.savefig('spin_wave_dispersion.png', dpi=150)
plt.show()
print(f"交換支配領域: k > {np.sqrt(Ms*mu0/D)*1e-6:.2f} μm⁻¹")
1.3 マグノンの量子化
スピン波を量子化することで、マグノン(magnon)という準粒子として扱えます。 マグノンはボーズ粒子であり、ボーズ-アインシュタイン統計に従います。
ホルスタイン-プリマコフ変換
スピン演算子とボソン演算子の対応
$$S^+ = \sqrt{2S - a^\dagger a}\, a, \quad S^- = a^\dagger \sqrt{2S - a^\dagger a}$$
$$S^z = S - a^\dagger a$$
低温近似($\langle a^\dagger a \rangle \ll S$)では線形化可能
import numpy as np
import matplotlib.pyplot as plt
from scipy import integrate
def magnon_number_density(T, omega_k, k):
"""
マグノン数密度の計算(ボーズ-アインシュタイン分布)
Parameters:
-----------
T : float
温度 [K]
omega_k : array
スピン波周波数 [rad/s]
k : array
波数 [1/m]
"""
hbar = 1.054571817e-34 # プランク定数 [J·s]
kB = 1.380649e-23 # ボルツマン定数 [J/K]
if T == 0:
return np.zeros_like(k)
# ボーズ-アインシュタイン分布
x = hbar * omega_k / (kB * T)
n_k = 1.0 / (np.exp(x) - 1)
return n_k
def total_magnon_number(T, H0, D, S=5/2, a=1.24e-9):
"""
全マグノン数の計算(3D積分)
Parameters:
-----------
T : float
温度 [K]
H0 : float
外部磁場 [T]
D : float
スピン波剛性 [m²/s]
S : float
スピン量子数
a : float
格子定数 [m]
"""
hbar = 1.054571817e-34
kB = 1.380649e-23
gamma = 1.76e11
# ブロッホの3/2乗則を使用
# Δm/m ∝ (T/Tc)^(3/2)
# 数値積分
def integrand(k):
omega = gamma * (H0 + D * k**2)
if T == 0:
return 0
x = hbar * omega / (kB * T)
if x > 100:
return 0
n_k = 1.0 / (np.exp(x) - 1)
return k**2 * n_k / (2 * np.pi**2)
k_max = np.pi / a # ブリルアンゾーン端
result, _ = integrate.quad(integrand, 0, k_max)
return result
# 温度依存性の計算
temperatures = np.linspace(1, 500, 100)
H0 = 0.1 # T
D = 5.4e-17 # m²/s
magnon_numbers = [total_magnon_number(T, H0, D) for T in temperatures]
# プロット
fig, axes = plt.subplots(1, 2, figsize=(14, 5))
# 左: マグノン数
axes[0].semilogy(temperatures, magnon_numbers, 'b-', linewidth=2)
axes[0].set_xlabel('温度 T [K]', fontsize=12)
axes[0].set_ylabel('マグノン数密度 [m⁻³]', fontsize=12)
axes[0].set_title('マグノン数の温度依存性', fontsize=14)
axes[0].grid(True, alpha=0.3)
# 右: T^(3/2)プロット(ブロッホの法則)
T_normalized = (temperatures / 500) ** 1.5
axes[1].plot(temperatures**1.5, magnon_numbers, 'ro', markersize=2)
axes[1].set_xlabel('$T^{3/2}$ [K$^{3/2}$]', fontsize=12)
axes[1].set_ylabel('マグノン数密度 [m⁻³]', fontsize=12)
axes[1].set_title('ブロッホの$T^{3/2}$法則の検証', fontsize=14)
axes[1].grid(True, alpha=0.3)
plt.tight_layout()
plt.savefig('magnon_temperature.png', dpi=150)
plt.show()
マグノン-マグノン相互作用
マグノン間には非線形相互作用が存在し、4マグノン散乱などの過程が重要になります。
4マグノン相互作用ハミルトニアン
$$H_{4m} = \sum_{k_1,k_2,k_3,k_4} V_{k_1k_2k_3k_4} a_{k_1}^\dagger a_{k_2}^\dagger a_{k_3} a_{k_4} \delta_{k_1+k_2, k_3+k_4}$$
1.4 マグノニック結晶
マグノニック結晶(Magnonic Crystal)は、磁気的性質を周期的に変調させた 構造で、スピン波に対してバンドギャップを形成します。
1次元マグノニック結晶
周期的な磁場変調または幾何学的パターニングにより実現されます。
import numpy as np
import matplotlib.pyplot as plt
from scipy.linalg import eigh
def magnonic_crystal_bands(N_cells, a1, a2, H1, H2, D, Ms, N_k=100):
"""
1次元マグノニック結晶のバンド構造計算
Parameters:
-----------
N_cells : int
単位胞内のサイト数
a1, a2 : float
領域1, 2の幅 [m]
H1, H2 : float
領域1, 2の有効磁場 [T]
D : float
スピン波剛性 [m²/s]
Ms : float
飽和磁化 [A/m]
N_k : int
波数点数
"""
gamma = 1.76e11
mu0 = 4 * np.pi * 1e-7
period = a1 + a2 # 周期
dx = period / N_cells
# 波数(第一ブリルアンゾーン)
k_points = np.linspace(-np.pi/period, np.pi/period, N_k)
# 各領域の有効場
H_eff = np.zeros(N_cells)
for i in range(N_cells):
x = i * dx
if x < a1:
H_eff[i] = H1
else:
H_eff[i] = H2
bands = np.zeros((N_k, N_cells))
for ik, k in enumerate(k_points):
# ハミルトニアン行列の構築
H_matrix = np.zeros((N_cells, N_cells), dtype=complex)
for i in range(N_cells):
# 対角成分
H_matrix[i, i] = gamma * (H_eff[i] + 2 * D / dx**2)
# 隣接サイトとの結合(周期境界条件)
j_left = (i - 1) % N_cells
j_right = (i + 1) % N_cells
# ブロッホの定理による位相因子
if i == 0:
phase_left = np.exp(-1j * k * period)
else:
phase_left = 1.0
if i == N_cells - 1:
phase_right = np.exp(1j * k * period)
else:
phase_right = 1.0
H_matrix[i, j_left] = -gamma * D / dx**2 * phase_left
H_matrix[i, j_right] = -gamma * D / dx**2 * phase_right
# 固有値計算
eigenvalues, _ = eigh(H_matrix)
bands[ik, :] = np.sort(np.real(eigenvalues)) / (2 * np.pi * 1e9)
return k_points * period / np.pi, bands
# パラメータ設定
N_cells = 20
a1 = 100e-9 # 100 nm
a2 = 100e-9 # 100 nm
H1 = 0.05 # 50 mT
H2 = 0.15 # 150 mT
D = 5.4e-17
Ms = 1.4e5
k_normalized, bands = magnonic_crystal_bands(N_cells, a1, a2, H1, H2, D, Ms)
# プロット
plt.figure(figsize=(10, 8))
for i in range(min(10, bands.shape[1])):
plt.plot(k_normalized, bands[:, i], 'b-', linewidth=1.5)
plt.xlabel('波数 $ka/\\pi$', fontsize=12)
plt.ylabel('周波数 [GHz]', fontsize=12)
plt.title('1Dマグノニック結晶のバンド構造', fontsize=14)
plt.xlim([-1, 1])
plt.grid(True, alpha=0.3)
# バンドギャップの強調
gap_bottom = bands[:, 0].max()
gap_top = bands[:, 1].min()
if gap_top > gap_bottom:
plt.axhspan(gap_bottom, gap_top, alpha=0.3, color='red',
label=f'バンドギャップ: {gap_top-gap_bottom:.2f} GHz')
plt.legend()
plt.tight_layout()
plt.savefig('magnonic_crystal_bands.png', dpi=150)
plt.show()
print(f"第一バンドギャップ: {gap_bottom:.2f} - {gap_top:.2f} GHz")
print(f"ギャップ幅: {gap_top - gap_bottom:.2f} GHz")
1.5 スピン波論理回路
スピン波の干渉・位相を利用した論理演算が可能です。 波動の重ね合わせ原理により、本質的に並列処理が可能になります。
マッハ-ツェンダー干渉計型論理ゲート
import numpy as np
import matplotlib.pyplot as plt
def spin_wave_interferometer(phase_control, amplitude_in=1.0):
"""
マッハ-ツェンダー型スピン波干渉計
Parameters:
-----------
phase_control : float
制御位相 [rad]
amplitude_in : float
入力振幅
Returns:
--------
output : float
出力振幅
"""
# 50:50ビームスプリッター
arm1 = amplitude_in / np.sqrt(2)
arm2 = amplitude_in / np.sqrt(2)
# 経路1に位相シフトを適用
arm1 = arm1 * np.exp(1j * phase_control)
# 合流(干渉)
output = (arm1 + arm2) / np.sqrt(2)
return np.abs(output)**2
def spin_wave_majority_gate(input1, input2, input3):
"""
スピン波多数決ゲート
3入力の多数決論理を波動干渉で実現
Parameters:
-----------
input1, input2, input3 : float
入力位相 [0 or π for binary]
"""
# 各入力を複素振幅として
a1 = np.exp(1j * input1)
a2 = np.exp(1j * input2)
a3 = np.exp(1j * input3)
# 干渉
total = a1 + a2 + a3
# 出力位相の判定
output_phase = np.angle(total)
# 2値化
if np.abs(output_phase) < np.pi/2:
return 0 # "0" = 位相0
else:
return 1 # "1" = 位相π
# 干渉計の位相依存性
phases = np.linspace(0, 2*np.pi, 100)
outputs = [spin_wave_interferometer(phi) for phi in phases]
# プロット
fig, axes = plt.subplots(1, 2, figsize=(14, 5))
# 左: 干渉計の伝達特性
axes[0].plot(phases / np.pi, outputs, 'b-', linewidth=2)
axes[0].axhline(y=0.5, color='gray', linestyle='--', alpha=0.5)
axes[0].set_xlabel('制御位相 $\\phi/\\pi$', fontsize=12)
axes[0].set_ylabel('出力強度', fontsize=12)
axes[0].set_title('スピン波干渉計の伝達特性', fontsize=14)
axes[0].grid(True, alpha=0.3)
# 注釈
axes[0].annotate('建設的干渉', xy=(0, 1), xytext=(0.3, 0.8),
fontsize=10, arrowprops=dict(arrowstyle='->', color='green'))
axes[0].annotate('破壊的干渉', xy=(1, 0), xytext=(0.7, 0.2),
fontsize=10, arrowprops=dict(arrowstyle='->', color='red'))
# 右: 多数決ゲートの真理値表
truth_table = []
for i1 in [0, np.pi]:
for i2 in [0, np.pi]:
for i3 in [0, np.pi]:
out = spin_wave_majority_gate(i1, i2, i3)
in_bits = f"{int(i1>0)}{int(i2>0)}{int(i3>0)}"
truth_table.append((in_bits, out))
# 真理値表をプロット
table_data = [[t[0], str(t[1])] for t in truth_table]
axes[1].axis('off')
table = axes[1].table(cellText=table_data,
colLabels=['入力 (ABC)', '出力'],
loc='center',
cellLoc='center')
table.auto_set_font_size(False)
table.set_fontsize(12)
table.scale(1.5, 2)
axes[1].set_title('スピン波多数決ゲート真理値表', fontsize=14, pad=20)
plt.tight_layout()
plt.savefig('spin_wave_logic.png', dpi=150)
plt.show()
# XOR, AND, OR ゲートの実装
print("=== スピン波論理ゲート ===")
print("干渉による論理演算:")
print(f" 位相 0 + 0 → 建設的干渉 → 出力 '1'")
print(f" 位相 0 + π → 破壊的干渉 → 出力 '0'")
print(f" 位相 π + π → 建設的干渉 → 出力 '1'")
スピン波導波路
スピン波を特定の方向に導くための導波路設計は、マグノニクス回路の基本要素です。
import numpy as np
import matplotlib.pyplot as plt
from scipy.integrate import odeint
def spin_wave_propagation_1d(N, dx, dt, T_total, omega_0, D, alpha,
source_pos, source_freq):
"""
1次元スピン波伝播のFDTDシミュレーション
Parameters:
-----------
N : int
格子点数
dx : float
格子間隔 [m]
dt : float
時間刻み [s]
T_total : float
総シミュレーション時間 [s]
omega_0 : float
共鳴周波数 [rad/s]
D : float
スピン波剛性 [m²/s]
alpha : float
ギルバート減衰定数
source_pos : int
励起源の位置
source_freq : float
励起周波数 [rad/s]
"""
gamma = 1.76e11
N_steps = int(T_total / dt)
# 磁化の横成分(複素表現)
m = np.zeros(N, dtype=complex)
m_prev = np.zeros(N, dtype=complex)
# 結果保存用
history = []
for step in range(N_steps):
t = step * dt
# ソース項(連続波励起)
source = 0.01 * np.exp(1j * source_freq * t)
# 有効場(交換 + 外部場)
H_eff = np.zeros(N, dtype=complex)
for i in range(1, N-1):
# 交換項(ラプラシアン)
d2m_dx2 = (m[i+1] - 2*m[i] + m[i-1]) / dx**2
H_eff[i] = omega_0 / gamma + D * d2m_dx2 / gamma
# LLG方程式の時間発展(簡略化)
m_new = np.zeros(N, dtype=complex)
for i in range(1, N-1):
# 歳差運動 + 減衰
dm_dt = -1j * gamma * H_eff[i] * m[i] - alpha * gamma * H_eff[i] * m[i]
m_new[i] = m[i] + dm_dt * dt
# ソース位置での励起
m_new[source_pos] += source * dt
# 吸収境界条件
m_new[0] = 0
m_new[-1] = 0
# 更新
m_prev = m.copy()
m = m_new.copy()
# 記録(間引き)
if step % 100 == 0:
history.append(np.abs(m)**2)
return np.array(history)
# シミュレーションパラメータ
N = 500
dx = 10e-9 # 10 nm
dt = 1e-14 # 10 fs
T_total = 10e-9 # 10 ns
omega_0 = 2 * np.pi * 10e9 # 10 GHz
D = 5.4e-17
alpha = 0.01
source_pos = 50
source_freq = 2 * np.pi * 10e9
# シミュレーション実行
history = spin_wave_propagation_1d(N, dx, dt, T_total, omega_0, D, alpha,
source_pos, source_freq)
# プロット
fig, axes = plt.subplots(2, 1, figsize=(12, 8))
# 時空間プロット
x = np.arange(N) * dx * 1e6 # μm
t = np.arange(len(history)) * 100 * dt * 1e9 # ns
im = axes[0].imshow(history.T, aspect='auto', origin='lower',
extent=[t[0], t[-1], x[0], x[-1]],
cmap='hot')
axes[0].set_xlabel('時間 [ns]', fontsize=12)
axes[0].set_ylabel('位置 [μm]', fontsize=12)
axes[0].set_title('スピン波伝播の時空間図', fontsize=14)
axes[0].axhline(y=source_pos * dx * 1e6, color='cyan', linestyle='--',
label='励起源')
axes[0].legend()
plt.colorbar(im, ax=axes[0], label='|m|²')
# 最終時刻のプロファイル
axes[1].plot(x, history[-1], 'b-', linewidth=2)
axes[1].axvline(x=source_pos * dx * 1e6, color='red', linestyle='--',
label='励起源')
axes[1].set_xlabel('位置 [μm]', fontsize=12)
axes[1].set_ylabel('スピン波強度 |m|²', fontsize=12)
axes[1].set_title(f't = {T_total*1e9:.1f} ns のプロファイル', fontsize=14)
axes[1].legend()
axes[1].grid(True, alpha=0.3)
plt.tight_layout()
plt.savefig('spin_wave_propagation.png', dpi=150)
plt.show()
# 群速度の推定
v_group = np.sqrt(D * omega_0)
print(f"群速度(推定): {v_group:.2e} m/s = {v_group*1e-3:.2f} km/s")
1.6 非線形マグノニクス
高強度のスピン波は非線形効果を示し、パラメトリック増幅、ソリトン形成、 カオス的振る舞いなど豊かな物理現象が現れます。
パラメトリック増幅
3波混合過程
$$\omega_p = \omega_1 + \omega_2, \quad \mathbf{k}_p = \mathbf{k}_1 + \mathbf{k}_2$$
ポンプ波がシグナル波とアイドラー波を増幅
import numpy as np
import matplotlib.pyplot as plt
from scipy.integrate import solve_ivp
def parametric_amplification(t, y, omega_s, omega_i, gamma_nl, gamma_decay):
"""
パラメトリック増幅の結合モード方程式
ポンプ波によるシグナル波とアイドラー波の増幅
Parameters:
-----------
y : array
[A_s_real, A_s_imag, A_i_real, A_i_imag]
omega_s, omega_i : float
シグナル、アイドラー周波数
gamma_nl : float
非線形結合係数
gamma_decay : float
減衰率
"""
A_s = y[0] + 1j * y[1] # シグナル波振幅
A_i = y[2] + 1j * y[3] # アイドラー波振幅
# ポンプ波は一定と仮定
A_p = 1.0
# 結合モード方程式
dA_s_dt = 1j * gamma_nl * A_p * np.conj(A_i) - gamma_decay * A_s
dA_i_dt = 1j * gamma_nl * A_p * np.conj(A_s) - gamma_decay * A_i
return [np.real(dA_s_dt), np.imag(dA_s_dt),
np.real(dA_i_dt), np.imag(dA_i_dt)]
# パラメータ
omega_s = 2 * np.pi * 5e9 # 5 GHz
omega_i = 2 * np.pi * 5e9 # 5 GHz (縮退)
gamma_nl = 1e9 # 非線形結合
gamma_decay = 1e8 # 減衰
# 初期条件(小さなシード)
A_s_0 = 0.01
A_i_0 = 0.01
y0 = [A_s_0, 0, A_i_0, 0]
# 時間積分
t_span = (0, 50e-9)
t_eval = np.linspace(0, 50e-9, 1000)
sol = solve_ivp(parametric_amplification, t_span, y0, t_eval=t_eval,
args=(omega_s, omega_i, gamma_nl, gamma_decay),
method='RK45')
# 振幅の計算
A_s = sol.y[0] + 1j * sol.y[1]
A_i = sol.y[2] + 1j * sol.y[3]
# プロット
fig, axes = plt.subplots(2, 1, figsize=(12, 8))
# 振幅の時間発展
axes[0].semilogy(sol.t * 1e9, np.abs(A_s)**2, 'b-', linewidth=2, label='シグナル波')
axes[0].semilogy(sol.t * 1e9, np.abs(A_i)**2, 'r--', linewidth=2, label='アイドラー波')
axes[0].set_xlabel('時間 [ns]', fontsize=12)
axes[0].set_ylabel('強度 |A|²', fontsize=12)
axes[0].set_title('パラメトリック増幅', fontsize=14)
axes[0].legend()
axes[0].grid(True, alpha=0.3)
# 閾値との比較
threshold = gamma_decay / gamma_nl
axes[0].axhline(y=threshold**2, color='gray', linestyle=':', label=f'閾値')
# 利得の計算
gain_s = np.abs(A_s[-1])**2 / np.abs(A_s[0])**2
gain_i = np.abs(A_i[-1])**2 / np.abs(A_i[0])**2
axes[1].bar(['シグナル波', 'アイドラー波'],
[10*np.log10(gain_s), 10*np.log10(gain_i)],
color=['blue', 'red'])
axes[1].set_ylabel('利得 [dB]', fontsize=12)
axes[1].set_title('パラメトリック利得', fontsize=14)
axes[1].grid(True, alpha=0.3)
plt.tight_layout()
plt.savefig('parametric_amplification.png', dpi=150)
plt.show()
print(f"シグナル波利得: {10*np.log10(gain_s):.1f} dB")
print(f"アイドラー波利得: {10*np.log10(gain_i):.1f} dB")
マグノン・ソリトン
非線形効果と分散のバランスにより、形状を保ったまま伝播するソリトン解が存在します。
非線形シュレディンガー方程式
$$i\frac{\partial A}{\partial t} + \frac{D}{2}\frac{\partial^2 A}{\partial x^2} + \gamma_{NL}|A|^2 A = 0$$
ソリトン解: $A(x,t) = A_0 \text{sech}\left(\frac{x - vt}{\xi}\right) e^{i(kx - \omega t)}$
1.7 応用展望
マグノニック・プロセッサ
スピン波の干渉を利用した超並列計算
- 低消費電力
- 高集積密度
- アナログ信号処理
スピン波通信
オンチップ信号伝送
- 電磁干渉なし
- 短波長・高集積
- 3次元配線可能
ニューロモルフィック
脳型コンピューティング
- 非線形応答
- 可塑性
- リザバー計算
まとめ
この章で学んだこと
- スピン波分散: 交換支配と静磁支配の2領域
- マグノン: スピン波の量子、ボーズ統計
- マグノニック結晶: 周期構造によるバンドギャップ形成
- スピン波論理: 干渉を利用した論理演算
- 非線形効果: パラメトリック増幅、ソリトン