︠bf4b7765-73c6-4eb5-8744-8a22a85b6eb3s︠
typeset_mode(True)
︡6539d03e-ea23-4a0e-9b50-96959bc47286︡{"done":true}
︠44f1b98d-732e-4c9f-a675-5d42633a7c3cio︠
typeset_mode(True)
︡7ada546e-2f35-446f-b301-5cbe0121f4db︡{"done":true}
︠a555b207-aa2f-410f-b528-b743b8c89ab9s︠
A = matrix(ZZ, [[1,0,12,16], [0,1,0,8], [1, 2, 6, 14]])
A.smith_form()
︡c35e2461-12f9-4065-89ea-a410e68cedb2︡{"html":"
($\\displaystyle \\left(\\begin{array}{rrrr}\n1 & 0 & 0 & 0 \\\\\n0 & 1 & 0 & 0 \\\\\n0 & 0 & 6 & 0\n\\end{array}\\right)$, $\\displaystyle \\left(\\begin{array}{rrr}\n0 & 0 & 1 \\\\\n0 & 1 & 0 \\\\\n1 & -4 & -1\n\\end{array}\\right)$, $\\displaystyle \\left(\\begin{array}{rrrr}\n1 & -8 & -6 & 20 \\\\\n0 & 1 & 0 & -8 \\\\\n0 & 1 & 1 & -3 \\\\\n0 & 0 & 0 & 1\n\\end{array}\\right)$)
"}︡{"done":true}
︠234e6eb3-beb8-4a4a-b3a3-688278d2d998i︠
%md
## Exemple n.1, p 513
︡531549ff-2c65-4222-9546-44b09644f763︡{"done":true,"md":"## Exemple n.1, p 513"}
︠766f6e05-547a-40ed-8f41-abb2e3090377s︠
M= matrix(ZZ,[[6,8],[9,15]]) # ZZ pour dire que l'anneau des coefficients est celui des entiers.
M.smith_form()
︡6cd125a8-f0b5-45d6-9bae-db575ad0b311︡{"html":"($\\displaystyle \\left(\\begin{array}{rr}\n1 & 0 \\\\\n0 & 18\n\\end{array}\\right)$, $\\displaystyle \\left(\\begin{array}{rr}\n1 & -1 \\\\\n3 & -4\n\\end{array}\\right)$, $\\displaystyle \\left(\\begin{array}{rr}\n2 & -7 \\\\\n-1 & 3\n\\end{array}\\right)$)
"}︡{"done":true}
︠8650ae8c-6de5-44f2-af7f-46f926d76740i︠
%md
Le résultat est une liste de trois matrices.. Pour savoir ce qu'elles représentent, on peut faire `M.smith_form?`
︡f80415eb-ff21-4280-bb9c-de1dbc90a647︡{"done":true,"md":"Le résultat est une liste de trois matrices.. Pour savoir ce qu'elles représentent, on peut faire `M.smith_form?`"}
︠c0bc65e5-5b86-4854-9686-dd05ce1beb88s︠
︡9c0fce55-c6d9-4707-b0f5-9cfe2d5c084e︡{"done":true}
︠d2cb147a-acce-47c4-8020-4f0d1ddb86f2i︠
%md
## Exemple 2.
Cette fois l'anneau des coefficients est $\mathbb{Q}[x]$, il faut le dire.
︡e9055745-896e-4c93-af4d-36e31c265592︡{"done":true,"md":"## Exemple 2.\nCette fois l'anneau des coefficients est $\\mathbb{Q}[x]$, il faut le dire."}
︠cf0a47de-8b14-4da7-bd07-dccc5e689639s︠
A = QQ['x']
M=matrix(A,[[x-1,0,1],[0,x-2,2],[0,0,x-3]])
M
︡3824272d-66ef-41be-8198-7086da0df97c︡{"html":"$\\displaystyle \\left(\\begin{array}{rrr}\nx - 1 & 0 & 1 \\\\\n0 & x - 2 & 2 \\\\\n0 & 0 & x - 3\n\\end{array}\\right)$
"}︡{"done":true}
︠f53c9b20-bd1c-459b-9be1-3a8fbeea65c6s︠
S = M.smith_form()[0]
S
︡6f6aab66-5d0f-40e2-9f76-7cb526212ea7︡{"html":"$\\displaystyle \\left(\\begin{array}{rrr}\n1 & 0 & 0 \\\\\n0 & 1 & 0 \\\\\n0 & 0 & x^{3} - 6 x^{2} + 11 x - 6\n\\end{array}\\right)$
"}︡{"done":true}
︠fdafdef5-4d7d-4bba-a995-77d9d1a86447s︠
S[2,2].factor()
︡abef3b94-a4fd-4b5c-86b2-5e84b2029e55︡{"html":"$\\displaystyle (x - 3) \\cdot (x - 2) \\cdot (x - 1)$
"}︡{"done":true}
︠a266b1d5-2e1f-44cb-9aa5-7b4802662d70i︠
%md
## Exemple 3.
Cette fois avec les coefficients dans $\mathbb{Z}[i]$.
︡0f2252ea-4791-4ef1-8ff3-8a4138fae37c︡{"done":true,"md":"## Exemple 3.\nCette fois avec les coefficients dans $\\mathbb{Z}[i]$."}
︠148ab9eb-e137-4e8b-a732-fd65eb48c162s︠
R = ZZ[I]
R # Pour afficher quelle est la définition de R.
I = R.basis()[1]
︡8319a4f2-a971-49a9-9e3a-786a1abd0844︡{"stdout":"Order in Number Field in I with defining polynomial x^2 + 1\n"}︡{"done":true}
︠4cb0926c-44b2-4bb2-97fe-d9e78793db17s︠
M = matrix([[1+8*I,-5+I],[-23+2*I,13*I]])
M.parent() # Pour afficher le type d'objet que M est : l'anneau des coefficients.
M
︡91bfe3bd-9599-4081-91ee-5bb8c1074561︡{"stdout":"Full MatrixSpace of 2 by 2 dense matrices over Order in Number Field in I with defining polynomial x^2 + 1\n"}︡{"html":"$\\displaystyle \\left(\\begin{array}{rr}\n8 I + 1 & I - 5 \\\\\n2 I - 23 & 13 I\n\\end{array}\\right)$
"}︡{"done":true}
︠08f8bd04-8c61-4a1d-9e8b-0150f5526a9as︠
M.smith_form()
︡0caf8f81-18be-4103-83f6-ad521272f279︡{"html":"($\\displaystyle \\left(\\begin{array}{rr}\n1 & 0 \\\\\n0 & 2 I + 2 \\\\\n0 & 0\n\\end{array}\\right)$, $\\displaystyle \\left(\\begin{array}{rrr}\n1 & 0 & 0 \\\\\nI - 1 & -4 & 4 I + 1 \\\\\n-2 I & -4 I + 3 & -2 I - 5\n\\end{array}\\right)$, $\\displaystyle \\left(\\begin{array}{rr}\n1 & -6 I - 8 \\\\\n0 & 1\n\\end{array}\\right)$)
"}︡{"done":true}
︠2907bce5-accb-4fd6-834e-476aaf3b2081i︠
%md
### Un autre exemple
Où en plus on fait les manipulations des matrices "pour vrai", c'est à dire avec les opérations élémentaires.
︡be5737f2-efd5-4b40-86c3-3f380d64da78︡{"done":true,"md":"### Un autre exemple\n\nOù en plus on fait les manipulations des matrices \"pour vrai\", c'est à dire avec les opérations élémentaires."}
︠a285bda1-9ead-4bf1-847f-cb53ac56f662s︠
M=matrix([[1,8+6*I],[1+I,-4],[1-I,0]])
M
M.smith_form()
︡8bea1176-7056-459e-bf4f-53ca0061a1f4︡{"html":"$\\displaystyle \\left(\\begin{array}{rr}\n1 & 6 I + 8 \\\\\nI + 1 & -4 \\\\\n-I + 1 & 0\n\\end{array}\\right)$
"}︡{"html":"($\\displaystyle \\left(\\begin{array}{rr}\n1 & 0 \\\\\n0 & 2 I + 2 \\\\\n0 & 0\n\\end{array}\\right)$, $\\displaystyle \\left(\\begin{array}{rrr}\n1 & 0 & 0 \\\\\nI - 1 & -4 & 4 I + 1 \\\\\n-2 I & -4 I + 3 & -2 I - 5\n\\end{array}\\right)$, $\\displaystyle \\left(\\begin{array}{rr}\n1 & -6 I - 8 \\\\\n0 & 1\n\\end{array}\\right)$)
"}︡{"done":true}
︠44719dd9-d9aa-4192-987d-1cc5e3468040s︠
M= M.with_added_multiple_of_row(1,0,-(1+I))
M = M.with_added_multiple_of_row(2,0,-(1-I))
M
︡c47ae99d-d25a-4a41-9cfc-8d9a2b4cded2︡{"html":"$\\displaystyle \\left(\\begin{array}{rr}\n1 & 6 I + 8 \\\\\n0 & -14 I - 6 \\\\\n0 & 2 I - 14\n\\end{array}\\right)$
"}︡{"done":true}
︠1e2ce09a-c257-4340-bad3-b8afcd48c516s︠
M=M.with_added_multiple_of_column(1,0,-(8+6*I))
M
︡2b89e1d7-610e-4eb8-bf7d-4da4299fc1a0︡{"html":"$\\displaystyle \\left(\\begin{array}{rr}\n1 & 0 \\\\\n0 & -14 I - 6 \\\\\n0 & 2 I - 14\n\\end{array}\\right)$
"}︡{"done":true}
︠898d1689-209b-414d-aba6-1aeeaec453b2s︠
M=M.with_rescaled_row(2,I)
M
︡417d00b0-0cb4-49bc-a977-8b2136ebafbc︡{"html":"$\\displaystyle \\left(\\begin{array}{rr}\n1 & 0 \\\\\n0 & -14 I - 6 \\\\\n0 & -14 I - 2\n\\end{array}\\right)$
"}︡{"done":true}
︠9565d88c-6a90-4def-a3a7-be7666c3f377s︠
M=M.with_added_multiple_of_row(2,1,-1)
M
︡81e1794e-cc6b-41d5-99f8-79266fa1537c︡{"html":"$\\displaystyle \\left(\\begin{array}{rr}\n1 & 0 \\\\\n0 & -14 I - 6 \\\\\n0 & 4\n\\end{array}\\right)$
"}︡{"done":true}
︠569ff540-0ae3-4f25-8b50-6046911f666ds︠
M.with_added_multiple_of_row(1,2,-1-3*I)
︡31fd598a-7295-4c20-a10f-2e78893510df︡{"html":"$\\displaystyle \\left(\\begin{array}{rr}\n1 & 0 \\\\\n0 & -26 I - 10 \\\\\n0 & 4\n\\end{array}\\right)$
"}︡{"done":true}
︠e15772bc-0cb3-4ed5-b0b5-a64fd544caf0s︠
︡b00faf9b-28a8-4d5a-817c-c3d101df4f63︡{"done":true}
︠e0b6f49b-8d31-4a34-8dba-2a5015ca3b21s︠
M=M.with_added_multiple_of_row(1,2,1+I)
M
︡69433c5a-99fa-4d89-bc4e-9a897f404729︡{"html":"$\\displaystyle \\left(\\begin{array}{rr}\n1 & 0 \\\\\n0 & 2 I - 2 \\\\\n0 & 4\n\\end{array}\\right)$
"}︡{"done":true}
︠fcfa8fa0-62cf-4bfb-a066-d8b78b80b90fs︠
M.with_added_multiple_of_row(2,1,(1+I))
︡6eb7b8cf-7fbf-475c-aff2-39513b5e129e︡{"html":"$\\displaystyle \\left(\\begin{array}{rr}\n1 & 0 \\\\\n0 & 2 I - 2 \\\\\n0 & 0\n\\end{array}\\right)$
"}︡{"done":true}
︠bcde7870-bc99-4727-a9fe-b8b3a72602f2︠
︡caaed9e8-c9a2-4f84-9909-b5737d9e5678︡
︠d8fa4e88-348e-49c6-ae42-0a86f9810e98s︠
︡4e803c70-2a7e-4a64-a5ef-d2d0bb5b18c6︡{"done":true}
︠35118c0a-591a-46a5-9f25-8fd9664fe903︠