[PYTHON] Bikomplexzahl, die von der Expressionsmatrix berücksichtigt wird

Wenn Sie eine komplexe Zahl in die Komponente der Ausdrucksmatrix für komplexe Zahlen einfügen, können Sie eine Zahl erhalten, die als bikomplexe Zahl bezeichnet wird. Bikomplexe Zahlen sind ähnlich und nicht quaternär wie quaternäre Zahlen, aber wir untersuchen ihre Eigenschaften aus der Repräsentationsmatrix. Es wird auch erwähnt, dass es mit zweidimensionaler Clifford-Algebra gleichgesetzt werden kann. Eine Berechnung von SymPy ist beigefügt.

Dies ist eine Reihe von Artikeln.

  1. Komplexer Vektor als realer Vektor betrachtet
  2. Bikomplexzahl, die von der Ausdrucksmatrix berücksichtigt wird ← Dieser Artikel
  3. Quartale Zahl, die von der Ausdrucksmatrix berücksichtigt wird
  4. Pauli-Matrix und doppelte quaternäre Zahlen in der Clifford-Algebra

Dieser Artikel enthält verwandte Artikel.

Komplexe Zahl Komplexe Zahl

In Vorheriger Artikel habe ich die Repräsentationsmatrix komplexer Zahlen gefunden.

>>> a,b=symbols("a b",real=True)
>>> _1=eye(2)
>>> i=Matrix([[0,-1],[1,0]])
>>> a*_1+b*i
Matrix([
[a, -b],
[b,  a]])
a+bi
↦a\underbrace{\left(\begin{matrix}1 &  0 \\ 0 & 1\end{matrix}\right)}_{1}
+b\underbrace{\left(\begin{matrix}0 & -1 \\ 1 & 0\end{matrix}\right)}_{i}
=\left(\begin{matrix}a & -b \\ b & a\end{matrix}\right)

Fügen wir eine komplexe Zahl in die Komponente der Ausdrucksmatrix ein.

>>> c,d=symbols("c d",real=True)
>>> (a+b*I)*_1+(c+d*I)*i
Matrix([
[a + I*b, -c - I*d],
[c + I*d,  a + I*b]])
 (a+bi)\left(\begin{matrix}1 &  0 \\ 0 & 1\end{matrix}\right)
+(c+di)\left(\begin{matrix}0 & -1 \\ 1 & 0\end{matrix}\right)
=\left(\begin{matrix}a+bi & -(c+di) \\ c+di & a+bi\end{matrix}\right)

Wie kann dies wieder in eine Formel umgewandelt werden? Wenn Sie einfach darüber nachdenken, sieht es so aus, aber es ist seltsam.

>>> expand((a+b*I)+(c+d*I)*I).collect(I)
a - d + I*(b + c)
\begin{align}
\left(\begin{matrix}a+bi & -(c+di) \\ c+di & a+bi\end{matrix}\right)
↦&(a+bi)+(c+di)i \\
=&a+bi+ci-d \\
=&(a-d)+(b+c)i \\
↦&\left(\begin{matrix}a-d & -(b+c) \\ b+c & a-d\end{matrix}\right) ?
\end{align}

Es gibt nur einen Typ von $ i $, und die Kombination und ähnliche Begriffe sind die Ursache für die Fremdheit. Um dies zu verhindern, sollte $ i $ mit dem Koeffizienten $ c + di $ und $ i $ außerhalb davon als verschiedene Dinge behandelt werden. Das äußere $ i $ wird zur Unterscheidung als $ j $ bezeichnet.

\begin{align}
\left(\begin{matrix}a+bi & -(c+di) \\ c+di & a+bi\end{matrix}\right)
↦&(a+bi)+(c+di)j \\
=&a+bi+cj+dij
\end{align}

Trennen Sie die Darstellungsmatrix für $ i, j, ij $. Setzen Sie der Einfachheit halber $ ij = k $.

\begin{align}
&\left(\begin{matrix}a+bi & -(c+di) \\ c+di & a+bi\end{matrix}\right) \\
&=a \underbrace{\left(\begin{matrix} 1& 0 \\ 0& 1 \end{matrix}\right)}_{1}
 +b \underbrace{\left(\begin{matrix} i& 0 \\ 0& i \end{matrix}\right)}_{i}
 +c \underbrace{\left(\begin{matrix} 0&-1 \\ 1& 0 \end{matrix}\right)}_{j}
 +d \underbrace{\left(\begin{matrix} 0&-i \\ i& 0 \end{matrix}\right)}_{ij=k} \\
&↦a+bi+cj+dk
\end{align}

So etwas wie ein Quadrant kam heraus. Zusammenfassend ist dies keine quaternäre Zahl, sondern eine andere mit dem Namen ** bikomplexe Zahl **, die in vorheriger Artikel ein wenig vorkam.

Bikomplex

Schauen wir uns die Eigenschaften von Zweikomplexzahlen an.

ij=k

Da die Darstellungsmatrix von $ i $ ein imaginäres Vielfaches der Einheitsmatrix ist, multiplizieren Sie die Komponenten der multiplizierten Matrix mit dem imaginären Vielfachen. Es versteht sich, dass $ ij = k $ ein imaginäres Vielfaches der Komponente von $ j $ ist.

>>> _1=eye(2)
>>> i=I*_1
>>> j=Matrix([[0,-1],[1,0]])
>>> i*j
Matrix([
[0, -I],
[I,  0]])
>>> I*j
Matrix([
[0, -I],
[I,  0]])
\begin{align}
i&↦iI=\left(\begin{matrix} i& 0 \\ 0& i \end{matrix}\right) \\
j&↦\left(\begin{matrix} 0&-1 \\ 1& 0 \end{matrix}\right) \\
k=ij&↦i\left(\begin{matrix} 0&-1 \\ 1& 0 \end{matrix}\right)
      =\left(\begin{matrix} 0&-i \\ i& 0 \end{matrix}\right)
\end{align}

Ursprüngliches Quadrat

Die imaginären Einheiten $ i, j, k $ heißen ** Yuan **. Überprüfen Sie das ursprüngliche Quadrat.

>>> i**2
Matrix([
[-1,  0],
[ 0, -1]])
>>> j**2
Matrix([
[-1,  0],
[ 0, -1]])
>>> k**2
Matrix([
[1, 0],
[0, 1]])
\begin{align}
i^2
&↦\left(\begin{matrix} i& 0 \\ 0& i \end{matrix}\right)^2
 =\left(\begin{matrix}-1& 0 \\ 0&-1 \end{matrix}\right) \\
j^2
&↦\left(\begin{matrix} 0&-1 \\ 1& 0 \end{matrix}\right)^2
 =\left(\begin{matrix}-1& 0 \\ 0&-1 \end{matrix}\right) \\
k^2
&↦\left(\begin{matrix} 0&-i \\ i& 0 \end{matrix}\right)^2
 =\left(\begin{matrix} 1& 0 \\ 0& 1 \end{matrix}\right)
\end{align}

$ i ^ 2 = j ^ 2 = -1, \ k ^ 2 = 1 $.

$ i $ und $ j $ sind imaginäre Zahlen, die im Quadrat $ -1 $ betragen. Sie können jedoch anhand der Darstellungsmatrix erkennen, dass sie unterschiedlich sind. Wenn $ k $ quadriert wird, wird es zu $ 1 $, aber es stellt sich heraus, dass die Repräsentationsmatrix von $ k $ keine Einheitsmatrix ist, sondern eine Art imaginäre Zahl.

Somit gibt es mehr als eine Art von imaginärer Zahl, und der quadratische Wert kann sowohl $ 1 $ als auch $ -1 $ sein.

$ k ^ 2 $ passt gut zu algebraischen Berechnungen.

k^2=(ij)^2=i^2j^2=(-1)(-1)=1

Beweglichkeit

Die Einheitsmatrix ist austauschbar, und ihr imaginäres Vielfaches $ i $ ist ebenfalls austauschbar. Das heißt, $ ij = ji $.

>>> i*j==j*i
True
ji↦\left(\begin{matrix} 0&-1 \\ 1& 0 \end{matrix}\right)i
  =\left(\begin{matrix} 0&-i \\ i& 0 \end{matrix}\right)

Ebenso ist $ ki = ik $.

>>> k*i==i*k
True

$ jk = kj $ ist auch konvertierbar, da es von $ k = ij $ auf die Berechnung von nur $ i $ und $ j $ reduziert werden kann.

>>> k*i==i*k
True
j\underbrace{k}_{ij}=\underbrace{ji}_{Austausch}j=\underbrace{ij}_{k}j=kj

Das heißt, die Elemente $ i, j, k $ der Zweikomplexzahl sind kommutativ.

Expressionsmatrix

Überprüfen Sie die Darstellungsmatrix, um zu bestätigen, dass die bikommutative Zahl kommutativ ist.

>>> a,b,c,d=symbols("a b c d",commutative=True)
>>> A=Matrix([[a,-b],[b,a]])
>>> B=Matrix([[c,-d],[d,c]])
>>> A*B
Matrix([
[a*c - b*d, -a*d - b*c],
[a*d + b*c,  a*c - b*d]])
>>> B*A
Matrix([
[a*c - b*d, -a*d - b*c],
[a*d + b*c,  a*c - b*d]])
>>> A*B==B*A
True
a,b,c,d∈\mathbb{C} \\
A=\left(\begin{matrix} a & -b \\ b & a \end{matrix}\right),
B=\left(\begin{matrix} c & -d \\ d & c \end{matrix}\right) \\
AB=\left(\begin{matrix} ac-bd & -ad-bc \\ ad+bc & ac-bd \end{matrix}\right) \\
BA=\left(\begin{matrix} ac-bd & -ad-bc \\ ad+bc & ac-bd \end{matrix}\right) \\
∴AB=BA

Es wurde bestätigt, dass, wenn die Summe oder das Produkt der Komponenten $ a, b, c, d $ konvertierbar ist, das Produkt der Matrix ebenfalls konvertierbar ist.

Original-Produkt

Das Produkt verschiedener Arten von Elementen wird zu einem anderen Element.

\begin{align}
ij&=k\ (Definition) \\
jk&=jij=ij^2=-i \\
ki&=iji=i^2j=-j
\end{align}

Die Zusammenfassung ist wie folgt.

ij=ji=k,\ jk=kj=-i,\ ki=ik=-j

Da das Produkt von einem in ein anderes umgewandelt wird, passt immer ein Produkt von drei oder mehr in eines von ihnen, und es wird kein neues geboren. Wir beschreiben diese Eigenschaft als ** in Bezug auf die Multiplikation geschlossen **.

Konjugieren

Aus der Elmeet-Konjugation der Repräsentationsmatrix erhalten wir die Konjugation von Bikomplexzahlen.

>>> a,b,c,d=symbols("a b c d",real=True)
>>> a*_1+b*i+c*j+d*k
Matrix([
[a + I*b, -c - I*d],
[c + I*d,  a + I*b]])
>>> (a*_1+b*i+c*j+d*k).H
Matrix([
[ a - I*b, c - I*d],
[-c + I*d, a - I*b]])
\begin{align}
(a+bi+cj+dk)^*
↦&\left(\begin{matrix}a+bi & -(c+di) \\ c+di & a+bi\end{matrix}\right)^{\dagger} \\
=&\left(\begin{matrix}a-bi & c-di \\ -(c-di) & a-bi\end{matrix}\right) \\
↦&(a-bi)-(c-di)j \\
=&a-bi-cj+dk
\end{align}

Die Vorzeichen von $ i und j $ sind invertiert. Die Tatsache, dass $ k $ nicht invertiert ist, kann so interpretiert werden, dass sie durch doppelte Inversion um $ k = ij $ ausgeglichen wird.

Produkt mit Konjugat

Wenn Sie einen zweidimensionalen Vektor mit $ j, k $ darstellen und das Produkt mit Konjugat berechnen, ist der Realteil das innere Produkt und der Term von $ i $ das äußere Produkt.

>>> _1=eye(2)
>>> i=I*_1
>>> j=Matrix([[0,-1],[1,0]])
>>> k=i*j
>>> a=symbols("a0:4",real=True)
>>> b=symbols("b0:4",real=True)
>>> A=a[1]*i+a[2]*k
>>> B=b[1]*i+b[2]*k
>>> A=a[1]*j+a[2]*k
>>> B=b[1]*j+b[2]*k
>>> A.H*B
Matrix([
[(a1 - I*a2)*(b1 + I*b2),                         0],
[                      0, (-a1 + I*a2)*(-b1 - I*b2)]])
>>> expand(A.H*B)[0,0].collect(I)
a1*b1 + a2*b2 + I*(a1*b2 - a2*b1)
\underbrace{(a_1j+a_2k)^*}_{Konjugieren}(b_1j+b_2k)
=\underbrace{(a_1b_1+a_2b_2)}_{Innenprodukt}+\underbrace{(a_1b_2-a_2b_1)i}_{Äußeres Produkt}

Dies kann für komplexe Zahlen auf die gleiche Weise berechnet werden. Mit anderen Worten, die Rechenleistung von zweikomplexen Zahlen ist dieselbe wie die von komplexen Zahlen.

[Komplexe Zahl]\ (a_1+a_2i)^*(b_1+b_2i)=(a_1b_1+a_2b_2)+(a_1b_2-a_2b_1)i

Bei komplexen Zahlen ist die Bedeutung kontextabhängig, da der Vektor auch durch den Realteil und den Imaginärteil dargestellt wird. Bei zweikomplexen Zahlen kann er jedoch durch die erhöhten Elemente unterschieden werden.

Clifford Algebra

Wenn der Zweck innere und äußere Produkte sind, gibt es eine ausgefeiltere Berechnungsmethode, die als geometrische Produkte der Clifford-Algebra bezeichnet wird. Die Basen des Vektors und des inneren Produkts (Skalar) und des äußeren Produkts (Fläche) werden unterschieden.

\underbrace{(a_1\mathbf{e}_1+a_2\mathbf{e}_2)}_{Vektor}
\underbrace{(b_1\mathbf{e}_1+b_2\mathbf{e}_2)}_{Vektor}
=\underbrace{(a_1b_1+a_2b_2)}_{Innenprodukt}
+\underbrace{(a_1b_2-a_2b_1)\mathbf{e}_1\mathbf{e}_2}_{Äußeres Produkt} \\

Die Entsprechung zwischen komplexen und bikomplexen Zahlen und der Clifford-Algebra ist wie folgt.

Komplexe Zahl 双Komplexe Zahl Clifford Algebra Interpretation
Realteil j \mathbf{e}_ 1 xAxialer Einheitsvektor (Basis)
i k \mathbf{e}_ 2 yAxialer Einheitsvektor (Basis)
Realteil Realteil Skalar Innenprodukt
i i \mathbf{e}_ 1\mathbf{e}_ 2 Äußeres Produkt (Fläche des parallelen Vierecks, überspannt von zwei Vektoren)

Im Gegensatz zu komplexen und bikomplexen Zahlen gelten geometrische Produkte als austauschbar ($ \ mathbf {e} _ 1 \ mathbf {e} _ 2 = - \ mathbf {e} _ 2 \ mathbf {e} _ Da es 1 $ hat, muss die Clifford-Algebra das Konjugat nicht angeben. Mit anderen Worten, es ersetzt die Rolle des Konjugats durch die Austauschbarkeit.

Produkt und Konjugat

Wenn ein Biskomplex mit einer Clifford-Algebra assoziiert wird, konjugiert das Produkt den vorherigen Faktor. Die Konjugation kann jedoch nur dann eine Anti-Austauschbarkeit ausdrücken, wenn einer der Faktoren die Konjugation ist und sich nicht ändert. Daher zeigt die Kombination von $ i und j $ keine Anti-Austauschbarkeit, und Clifford-Algebra- und Bikomplex-Zahlen stimmen nicht genau überein.

\begin{align}
i^*i&=-i^2=1& &\not\cong& (e_1e_2)(e_1e_2)&=-e_1e_1e_2e_2=-1 \\
j^*j&=-j^2=1& &\cong&     e_1e_1&=1 \\
k^*k&=k^2=1&  &\cong&     e_2e_2&=1 \\
i^*j&=-ij=-k& &\cong&     (e_1e_2)e_1&=-e_1e_1e_2=-e_2 \\
j^*i&=-ji=-k& &\not\cong& e_1(e_1e_2)&=e_2 \\
j^*k&=-jk=i&  &\cong&     e_1e_2& \\
k^*j&=kj=-i&  &\cong&     e_2e_1&=-e_1e_2 \\
k^*i&=ki=-j&  &\cong&     e_2(e_1e_2)&=-e_1e_2e_2=-e_1 \\
i^*k&=-ik=j&  &\cong&     (e_1e_2)e_2&=e_1
\end{align}

Diese Interpretation von Bikomplexzahlen aus der Clifford-Algebra ist problematisch, daher erfordert die Anwendung von Bikomplexzahlen eine andere Perspektive. Beispielsweise wird die Anwendung von Bikomplexzahlen auf die digitale Signalverarbeitung aus der Perspektive der Fourier-Transformation interpretiert.

3D

Ich habe das Gefühl, dass ich mit $ i, j, k $ mit 3D-Vektoren umgehen kann, aber es funktioniert nicht.

>>> A=a[1]*i+a[2]*j+a[3]*k
>>> B=b[1]*i+b[2]*j+b[3]*k
>>> A.H*B
Matrix([
[      a1*b1 + (a2 - I*a3)*(b2 + I*b3), -I*a1*(-b2 - I*b3) + I*b1*(a2 - I*a3)],
[-I*a1*(b2 + I*b3) + I*b1*(-a2 + I*a3),     a1*b1 + (-a2 + I*a3)*(-b2 - I*b3)]])
>>> list(map(lambda z:z.collect(I),expand(A.H*B)[:,0]))
[a1*b1 + a2*b2 + a3*b3 + I*(a2*b3 - a3*b2), a1*b3 - a3*b1 + I*(-a1*b2 - a2*b1)]
\begin{align}
&(a_1i+a_2j+a_3k)^*(b_1i+b_2j+b_3k) \\
&=(a_1b_1+a_2b_2+a_3b_3) \\
&\quad +(a_2b_3-a_3b_2)i \\
&\quad +(a_1b_3-a_3b_1)j \\
&\quad -(a_1b_2+a_2b_1)k
\end{align}

Die Koeffizienten von $ j und k $ sind nicht vollständig das äußere Produkt. Es ist ersichtlich, dass bikomplexe Zahlen nur die gleiche Ausdruckskraft haben wie komplexe Zahlen in Bezug auf das äußere Produkt. Eine quaternäre Nummer ist erforderlich, um ein dreidimensionales Außenprodukt zu handhaben.

4 Dimensionen

Ich habe das Gefühl, dass ich mit einem 4-dimensionalen Vektor umgehen kann, wenn er mit dem Realteil kombiniert wird, aber es funktioniert nicht.

>>> A=a[0]*_1+a[1]*i+a[2]*j+a[3]*k
>>> B=b[0]*_1+b[1]*i+b[2]*j+b[3]*k
>>> A.H*B
Matrix([
[ (a0 - I*a1)*(b0 + I*b1) + (a2 - I*a3)*(b2 + I*b3),  (a0 - I*a1)*(-b2 - I*b3) + (a2 - I*a3)*(b0 + I*b1)],
[(a0 - I*a1)*(b2 + I*b3) + (-a2 + I*a3)*(b0 + I*b1), (a0 - I*a1)*(b0 + I*b1) + (-a2 + I*a3)*(-b2 - I*b3)]])
>>> list(map(lambda z:z.collect(I),expand(A.H*B)[:,0]))
[a0*b0 + a1*b1 + a2*b2 + a3*b3 + I*(a0*b1 - a1*b0 + a2*b3 - a3*b2), a0*b2 + a1*b3 - a2*b0 - a3*b1 + I*(a0*b3 - a1*b2 - a2*b1 + a3*b0)]
\begin{align}
&(a_0+a_1i+a_2j+a_3k)^*(b_0+b_1i+b_2j+b_3k) \\
&=(a_0b_0+a_1b_1+a_2b_2+a_3b_3) \\
&\quad +(a_0b_1-a_1b_0+a_2b_3-a_3b_2)i \\
&\quad +(a_0b_2-a_2b_0+a_1b_3-a_3b_1)j \\
&\quad +(a_0b_3+a_3b_0-a_1b_2-a_2b_1)k
\end{align}

Es gibt 6 Arten von quadratischen Basisformen (2 Vektoren), die im 4-dimensionalen Außenprodukt (Keilprodukt) erscheinen, und jede von ihnen ist $ i, j, k $ zugeordnet. Wie bei 3D handelt es sich nicht vollständig um ein äußeres Produkt.

In Verbindung stehender Artikel

Dieses Mal werde ich mich nur auf die Darstellungsmatrix für bikomplexe Zahlen konzentrieren. Weitere Eigenschaften finden Sie in den folgenden Artikeln.

In den folgenden Artikeln finden Sie Informationen zum Außenprodukt und zur Clifford-Algebra.

Referenz

Ich habe es als Referenz für SymPy verwendet.

Mehrdimensional

Wir haben die Variationen von [Multiple] zusammengefasst (https://ja.wikipedia.org/wiki/%E5%A4%9A%E5%85%83%E6%95%B0).

Basic Damit Demontierter Typ Demontierter TypDamit Damit曲 Damit対
Komplexe Zahl 双KomplexeZahl 分解型KomplexeZahl
Vervierfachen 双Vervierfachen 分解型Vervierfachen 分解型双Vervierfachen 双曲Vervierfachen 双対Vervierfachen
Acht Yuan 双AchtYuan 分解型AchtYuan
16 Yuan

Recommended Posts

Bikomplexzahl, die von der Expressionsmatrix berücksichtigt wird
In der Expressionsmatrix berücksichtigte Quadranten
Primzahl in Python
Umgang mit spärlichen Matrizen in Scipy
Behandeln Sie komplexe Zahlen in Python