Il Blow-up è un potente strumento nella geometria algebrica. Permette la rimozione delle singolarità dai set algebrici preservando il resto della loro struttura.
Se non hai familiarità con nessuno di questi non ti preoccupare, il calcolo effettivo non è difficile da capire (vedi sotto).
Di seguito stiamo considerando l' esplosione del punto di una curva algebrica in 2D. Una curva algebrica in 2D è data dal locus zero di un polinomio in due variabili (ad es. per il cerchio unitario o per una parabola). Lo scoppio di quella curva (in ) è dato da due polinomi come definito di seguito. Sia che descrivono con la (possibile) singolarità a rimossa. ( 0 , 0 ) r , s r s p ( 0 , 0 )
Sfida
Dato un polinomio , trovare e come definito di seguito.
Definizione
Prima di tutto nota che tutto ciò che dico qui è semplificato e non corrisponde completamente alle definizioni effettive.
Dato un polinomio in due variabili l' esplosione è data da due polinomi nuovo ciascuno in due variabili.r , s
Per ottenere definiamo prima . Quindi è probabilmente un multiplo di , ovvero per alcuni cui non divide . Quindi è fondamentalmente ciò che rimane dopo la divisione.
L'altro polinomio è definito esattamente lo stesso, ma cambiamo le variabili: prima scrivi . Quindi viene definito in modo tale che per alcuni cui non divide .
Per rendere più chiaro considerare quanto segue
Esempio
Considera la curva data dal locus zero di . (Ha una singolarità in perché non esiste una tangente ben definita in quel punto.)
Quindi troviamo
Quindi è il primo polinomio.
allo stesso modo
Quindi .
Formato di input / output
(Come qui .) I polinomi sono rappresentati come (m+1) x (n+1)
matrici / elenchi di elenchi di coefficienti interi, nell'esempio seguente i termini dei coefficienti sono riportati nella loro posizione:
[ 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]
Quindi un'ellisse 0 = x^2 + 2y^2 -1
sarebbe rappresentata come
[[-1, 0, 1],
[ 0, 0, 0],
[ 2, 0, 0]]
Se preferisci puoi anche scambiare x
e y
. In ogni direzione ti è permesso avere zeri finali (cioè coefficienti di gradi più alti che sono solo zero). Se è più conveniente, puoi anche avere array sfalsati (anziché rettangolari) in modo tale che tutti i sotto-array secondari non contengano zero finali.
- Il formato di output è lo stesso del formato di input.
Esempi
Altro da aggiungere ( fonte di più )
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
Esempi senza immagini
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