Le Blow-up est un outil puissant en géométrie algébrique. Il permet la suppression des singularités de jeux algébriques tout en conservant le reste de leur structure.
Si vous n'êtes pas familier avec tout cela, ne vous inquiétez pas, le calcul réel n'est pas difficile à comprendre (voir ci-dessous).
Dans ce qui suit, nous considérons l' explosion du point d'une courbe algébrique en 2D. Une courbe algébrique en 2D est donnée par le lieu zéro d'un polynôme en deux variables (par exemple pour le cercle unitaire, ou pour une parabole). L' explosion de cette courbe (en ) est donnée par deux polynômes tels que définis ci-dessous. Les deux et font décrire avec le (possible) à la singularité enlevé. ( 0 , 0 ) r , s r s p ( 0 , 0 )
Défi
Étant donné un polynôme , trouver et tels que définis ci-dessous.
Définition
Tout d'abord, notez que tout ce que je dis ici est simplifié et ne correspond pas complètement aux définitions réelles.
Étant donné un polynôme dans deux variables l' explosion est donnée par deux polynômes nouveau chacun dans deux variables.
Pour obtenir nous définissons d'abord . Alors est probablement un multiple de , c'est-à-dire pour certains où ne divise pas . Alors est fondamentalement ce qui reste après la division.
L'autre polynôme est défini exactement de la même manière, mais nous inversons les variables: Écrivons d'abord . Alors est défini de telle sorte que pour un certain où ne divise pas .
Afin de le rendre plus clair, envisagez de suivre
Exemple
Considérons la courbe donnée par le lieu zéro de . (Il a une singularité à car il n'y a pas de tangente bien définie à ce point.)
Ensuite, nous trouvons
Alors est le premier polynôme.
De même
Alors .
Format d'entrée / sortie
(Idem qu'ici .) Les polynômes sont représentés donnés sous forme de (m+1) x (n+1)
matrices / listes de listes de coefficients entiers, dans l'exemple ci-dessous les termes des coefficients sont donnés dans leur position:
[ 1 * 1, 1 * x, 1 * x^2, 1 * x^3, ... , 1 * x^n ]
[ y * 1, y * x, y * x^2, y * x^4, ... , y * x^n ]
[ ... , ... , ... , ... , ... , ... ]
[ y^m * 1, y^m * x, y^m * x^2, y^m * x^3 , ..., y^m * x^n]
Donc, une ellipse 0 = x^2 + 2y^2 -1
serait représentée comme
[[-1, 0, 1],
[ 0, 0, 0],
[ 2, 0, 0]]
Si vous préférez, vous pouvez également échanger x
et y
. Dans chaque direction, vous êtes autorisé à avoir des zéros de fin (c.-à-d. Des coefficients de degrés supérieurs qui sont juste nuls). Si cela est plus pratique, vous pouvez également avoir des tableaux échelonnés (au lieu d'un rectangulaire) de sorte que tous les sous-sous-tableaux ne contiennent pas de zéros de fin.
- Le format de sortie est le même que le format d'entrée.
Exemples
Plus à ajouter ( source pour plus )
Trifolium
p(x,y) = (x^2 + y^2)^2 - (x^3 - 3xy^2)
r(x,v) = v^4 x + 2 v^2 x + x + 3 v^2 - 1
s(u,y) = u^4 y + 2 u^2 y + y - u^3 + 3 u
Descartes Folium
p(x,y) = y^3 - 3xy + x^3
r(x,v) = v^3 x + x - 3v
s(u,y) = u^3 y + y - 3u
Exemples sans images
Trifolium:
p:
[[0,0,0,-1,1],
[0,0,0, 0,0],
[0,3,2, 0,0],
[0,0,0, 0,0],
[1,0,0, 0,0]]
r: (using the "down" dimension for v instead of y)
[[-1,1],
[ 0,0],
[ 3,2],
[ 0,0],
[ 0,1]]
s: (using the "right" dimension for u instead of x)
[[0,3,0,-1,0],
[1,0,2, 0,1]]
Descartes Folium:
p:
[[0, 0,0,1],
[0,-3,0,0],
[0, 0,0,0],
[1, 0,0,0]]
r:
[[ 0,1],
[-3,0],
[ 0,0],
[ 0,1]]
s:
[[0,-3,0,0],
[1, 0,0,1]]
Lemniscate:
p:
[[0,0,-1,0,1],
[0,0, 0,0,0],
[1,0, 0,0,0]]
r:
[[-1,0,1],
[ 0,0,0],
[ 1,0,0]]
s:
[[1,0,-1,0,0],
[0,0, 0,0,0],
[0,0, 0,0,1]]
Powers:
p:
[[0,1,1,1,1]]
r:
[[1,1,1,1]]
s:
[[0,1,0,0,0],
[0,0,1,0,0],
[0,0,0,1,0],
[0,0,0,0,1]]
0+x+x^2+x^3+x^4