有限集合のジェネレーターを与えられた行列リー代数の基底をどのように計算できますか?
(数値)正方複素行列の任意のセット所与、Iはによって生成された実行列リー代数計算に興味、それを呼び出します。つまり、 ここで再帰的に定義されるような、およびのための。A L A L A = S P A N R { B :B ∈ ∪ ∞ 、K = 1個のC K } C K C 1 = A C K + 1 = { [ X 、Y ] :X 、Y ∈ ∪A={A1,A2,⋯,Am}A={A1,A2,⋯,Am}\mathcal{A}=\{A_1,A_2,\cdots,A_m\}AA\mathcal{A}LALA\mathcal{L_\mathcal{A}}LA=spanR{B:B∈∪∞k=1Ck}LA=spanR{B:B∈∪k=1∞Ck} \mathcal{L_\mathcal{A}} = \mathbb{span_R}\{B:B\in\cup_{k=1}^{\infty}\mathcal{C}_k\} CkCk\mathcal{C}_kC1=AC1=A\mathcal{C_1}=\mathcal{A}K≥1Ck+1={[X,Y]:X,Y∈∪kj=1Cj}Ck+1={[X,Y]:X,Y∈∪j=1kCj}\mathcal{C_{k+1}}=\{[X,Y]:X,Y\in\cup_{j=1}^k\mathcal{C_j}\}k≥1k≥1k\geq 1 この計算は(量子)制御理論に基づいています。 現在、ここにあるメソッドを使用しています。このメソッドは、Lieブラケットの繰り返し(つまり)、終了が保証されています。ただし、他の(より高速な)方法があるかどうかを知りたいです。おそらく、P。Hallベースを使用しているのでしょうか?おそらく再帰アルゴリズムですか?私の現在のデフォルト言語はMatlabです。[Aj1,[Aj2,[Aj3,⋯[Ajn−1,Ajn]⋯]]][Aj1,[Aj2,[Aj3,⋯[Ajn−1,Ajn]⋯]]][A_{j_1},[A_{j_2},[A_{j_3},\cdots[A_{j_{n-1}},A_{j_n}]\cdots]]]