Forgot password?
 Create new account
View 143|Reply 4

请教在Mathematica中怎么定义一个抽象的矩阵?

[Copy link]

418

Threads

1627

Posts

110K

Credits

Credits
11886

Show all posts

abababa Posted at 2024-6-21 16:24:08 |Read mode
如题,假设我想定义A,B两个矩阵,但我不知道A,B的具体值是什么,只知道它们是n阶矩阵。然后对于一个表达式,我在化简时,才不至于消去AB-BA这样的项。请教这样的要怎么做才行?

3148

Threads

8489

Posts

610K

Credits

Credits
66148
QQ

Show all posts

hbghlyj Posted at 2024-7-1 20:13:25
abababa 发表于 2024-6-21 08:24
如题,假设我想定义A,B两个矩阵,但我不知道A,B的具体值是什么,只知道它们是n阶矩阵。然后对于一个表达式 ...
NonCommutativeMultiply

418

Threads

1627

Posts

110K

Credits

Credits
11886

Show all posts

 Author| abababa Posted at 2024-7-4 13:36:57
hbghlyj 发表于 2024-7-1 20:13
NonCommutativeMultiply
原来如此,用两个*就不是普通的乘法了。

3148

Threads

8489

Posts

610K

Credits

Credits
66148
QQ

Show all posts

hbghlyj Posted at 2025-3-5 04:51:33
Last edited by hbghlyj at 2025-3-5 04:59:21
abababa 发表于 2024-6-21 08:24
才不至于消去AB-BA这样的项
$AB-BA$ 记作 $[A,B]$,则有 Baker-Hausdorff公式$\newcommand\E{\mathrm{e}}$小时百科
\begin{equation}\label{eq_BAHA_1}
\E ^{A}B\E^{-A}=\sum_{n=0}^{\infty}\frac{1}{n!}A^{(n)}~.
\end{equation}
其中,
\begin{equation}\label{eq_BAHA_5}
A^{(n)}\equiv\underbrace{[A,[A,\cdots,[A}_{n\text{个}},B]\cdots]
=\sum_{m=0}^{n}(-1)^{n-m}C_{n}^{m}A^mBA^{n-m}~.
\end{equation}
证明
在证明Baker-Hausdorff公式\eqref{eq_BAHA_1} 之前,我们先证明\eqref{eq_BAHA_5}。

\eqref{eq_BAHA_5} 的证明:我们用数学归纳法来证明。
$A^{(0)},A^{(1)}$ 显然成立:
\begin{equation}
\begin{aligned}
A^{(0)}&=B=\sum_{m=0}^{0}(-1)^{0-m}C_{0}^{m}A^mBA^{0-m}~,\\
A^{(1)}=&[A,B]=AB-BA=\sum_{m=0}^{1}(-1)^{1-m}C_{1}^{m}A^mBA^{1-m}~.
\end{aligned}
\end{equation}
假设对 $n=k-1$ 时\eqref{eq_BAHA_5} 成立,则
\begin{equation}
\begin{aligned}
A^{(k)}&=[A,A^{(k-1)}]=AA_{k-1}-A_{k-1}A\\
&=A\sum_{m=0}^{k-1}(-1)^{k-1-m}C_{k-1}^{m}A^mBA^{k-1-m}-\left(\sum_{m=0}^{k-1}(-1)^{k-1-m}C_{k-1}^{m}A^mBA^{k-1-m}\right)A\\
&=\sum_{m=0}^{k-1}(-1)^{k-1-m}C_{k-1}^{m}A^{m+1}BA^{k-1-m}-\sum_{m=0}^{k-1}(-1)^{k-1-m}C_{k-1}^{m}A^mBA^{k-m}\\
&=A^{k}B+\sum_{m=0}^{k-2}(-1)^{k-1-m}\left(C_{k-1}^{m}+C_{k-1}^{m+1}\right)A^{m+1}BA^{k-1-m}-(-1)^{k-1}BA^k\\
&=A^{k}B+\sum_{m=0}^{k-2}(-1)^{k-1-m}C_{k}^{m+1}A^{m+1}BA^{k-1-m}-(-1)^{k-1}BA^k\\
&=A^{k}B+\sum_{m=1}^{k-1}(-1)^{k-m}C_{k}^{m}A^{m}BA^{k-m}+(-1)^{k}BA^k\\
&=\sum_{m=0}^{k}(-1)^{k-m}C_{k}^{m}A^{m}BA^{k-m}~.
\end{aligned}
\end{equation}
由数学归纳法原理,\eqref{eq_BAHA_5} 得证。上面证明中 $C_n^m$ 为组合数。

先来证明下面引理。
\begin{equation}\label{eq_BAHA_2}
A^nB=\sum_{m=0}^{n}C_{n}^mA^{(m)}A^{n-m}~.
\end{equation}
证明:这里同样用数学归纳法来证明。当 $n=1$ 时,\eqref{eq_BAHA_2} 显然成立:
\begin{equation}
AB=BA+[A,B]~.
\end{equation}
假设 $n=k-1$ 时\eqref{eq_BAHA_2} 成立,则
\begin{equation}\label{eq_BAHA_3}
\begin{aligned}
A^{k}B=A\sum_{m=0}^{k-1}C_{k-1}^mA^{(m)}A^{k-1-m}=\sum_{m=0}^{k-1}C_{k-1}^mAA^{(m)}A^{k-1-m}~.
\end{aligned}
\end{equation}

因为
\begin{equation}
A^{(m+1)}=[A,A^{(m)}]\Rightarrow AA^{(m)}=A^{(m)}A+A^{(m+1)}~,
\end{equation}
所以\eqref{eq_BAHA_3} 可改写为
\begin{equation}
\begin{aligned}
A^k B&=\sum_{m=0}^{k-1}C_{k-1}^mA^{(m)}A^{k-m}+\sum_{m=0}^{k-1}C_{k-1}^mA^{(m+1)}A^{k-1-m}\\
&=A^{(0)}A^{k}+\sum_{m=1}^{k-1}\left[C_{k-1}^m+C_{k-1}^{m-1}\right]A^{(m)}A^{k-m}+A^{(k)}\\
&=A^{(0)}A^{k}+\sum_{m=1}^{k-1}C_{k}^mA^{(m)}A^{k-m}+A^{(k)}\\
&=\sum_{m=0}^{k}C_{k}^mA^{(m)}A^{k-m}~.
\end{aligned}
\end{equation}
由数学归纳法原理,证得\eqref{eq_BAHA_2}

现在,Baker-Hausdorff公式就呼之欲出了!

Baker-Hausdorff公式的证明:
由\eqref{eq_BAHA_2}
\begin{equation}\label{eq_BAHA_4}
\E^A B=\sum_{n=0}^{\infty}\frac{A^nB}{n!}=\sum_{n=0}^{\infty}\frac{1}{n!}\sum_{i=0}^{n}C_{n}^iA^{(i)}A^{n-i}~.
\end{equation}

将上式求和符号交换顺序,注意指标要求满足 $i\leq n$,可将\eqref{eq_BAHA_4} 改写为
\begin{equation}\label{eq_BAHA_6}
\begin{aligned}
\E^A B&=\sum_{i=0}^{\infty}\sum_{n=i}^{\infty}\frac{1}{n!}C_{n}^iA^{(i)}A^{n-i}\\
&=\sum_{i=0}^{\infty}\frac{1}{i!}A^{(i)}\sum_{n=i}^{\infty}\frac{1}{(n-i)!}A^{n-i}\\
&=\sum_{i=0}^{\infty}\frac{1}{i!}A^{(i)}\E^A~.
\end{aligned}
\end{equation}
\eqref{eq_BAHA_6} 两边作用于 $\E^{-A}$ ,证得\eqref{eq_BAHA_1}

3148

Threads

8489

Posts

610K

Credits

Credits
66148
QQ

Show all posts

hbghlyj Posted at 2025-3-5 05:07:51
abababa 发表于 2024-7-4 05:36
原来如此,用两个*就不是普通的乘法了。
例如:Implement Baker-Campbell-Hausdorff expansion
  1. NumericQ[\[CapitalDelta]t] = True;
  2. Unprotect[NonCommutativeMultiply];
  3. NonCommutativeMultiply[H___, Times[a_?NumericQ, M__], T___] := a H**Times[M]**T
  4. NonCommutativeMultiply[H___, Plus[A_, B__], T___] :=  H ** A ** T + H ** Plus[B] ** T
  5. commutator[A_][B_] := A ** B - B ** A
  6. BCH[n_][A_, B_] :=  ExpandAll[
  7.     NestList[commutator[A], B, n].(1/Map[Factorial, Range[0, n]])] + order[A, n + 1]
Copy the Code

以上实现了 Baker-Campbell-Hausdorff 展开到 n 阶。例如展开到 2 阶:
$$\mathrm{e}^{-A}B\mathrm{e}^{A} = B - [A, B] + \frac{1}{2}[A,[A,B]] + \mathcal{O}(A^3)$$

手机版Mobile version|Leisure Math Forum

2025-4-20 12:14 GMT+8

Powered by Discuz!

× Quick Reply To Top Return to the list