Wolfram Language

Algèbre et théorie des nombres

Utilisez la décomposition de Smith pour analyser un réseau

Considérez le réseau L généré par des multiples entiers des vecteurs et .

In[1]:=
Click for copyable input
b1 = {3, -3}; b2 = {2, 1};
In[2]:=
Click for copyable input
ptsb = Flatten[Table[j b1 + k b2, {j, -12, 12}, {k, -12, 12}], 1];
In[3]:=
Click for copyable input
graphicsb = Graphics[{Blue, PointSize[Large], Point@ptsb}, PlotRange -> 10, Axes -> True]
Out[3]=

Soit m la matrice dont les lignes sont l'indice [b, 1] et l'indice [b, 2].

In[4]:=
Click for copyable input
m = {b1, b2};

Les trois matrices de Smith donnent la décomposition qui satisfont l'identité .

In[5]:=
Click for copyable input
{u, r, v} = SmithDecomposition[m];
In[6]:=
Click for copyable input
u.m.v == r
Out[6]=

Les matrices u et v ont des entrées entières et un facteur déterminant.

In[7]:=
Click for copyable input
{u // MatrixForm, v // MatrixForm, Det[u], Det[v]}
Out[7]=

La matrice r est entière et diagonale. De ses entrées, on peut voir que la structure du groupe is ou simplement , comme est le groupe trivial.

In[8]:=
Click for copyable input
r // MatrixForm
Out[8]//MatrixForm=

Multipliez l'identité à droite par donne . Le fait que est un nombre entier et un déterminant , génère le même réseau comme mais plus simple.

In[9]:=
Click for copyable input
g = r.Inverse[v]; g // MatrixForm
Out[9]//MatrixForm=

Visualisez le réseau engendré par les lignes de g.

In[10]:=
Click for copyable input
ptsg = Flatten[ Table[j First[g] + k Last[g], {j, -12, 12}, {k, -12, 12}], 1];
In[11]:=
Click for copyable input
graphicsg = Graphics[{Red, PointSize[Medium], Point@ptsg}, PlotRange -> 10, Axes -> True]
Out[11]=

Avec la superposition du nouveau réseau sur l'original, on peut voir qu'ils sont identiques.

In[12]:=
Click for copyable input
Show[{graphicsb, graphicsg}]
Out[12]=

Exemples connexes

de en es ja ko pt-br ru zh