Раздутие является мощным инструментом в алгебраической геометрии. Это позволяет удалять особенности из алгебраических множеств , сохраняя при этом остальную часть их структуры.
Если вы не знакомы ни с чем из этого, не беспокойтесь, фактические вычисления не сложны для понимания (см. Ниже).
В дальнейшем мы рассматриваем увеличение точкиалгебраической кривой в 2D. Алгебраическая кривая в 2D задается нулевым локусом многочлена от двух переменных (например, за единицу круга, или для параболы). Раздутие этой кривой (в) дается двумя полиномами как определено ниже. Обе а также сделать описание с (возможной) особенностью при удален.
Вызов
Учитывая некоторый полином , найти а также как определено ниже.
Определение
Прежде всего обратите внимание, что все, что я здесь говорю, упрощено и не полностью соответствует фактическим определениям.
Учитывая полином в двух переменных раздутие задается двумя многочленами снова каждый в двух переменных.
Получить мы сначала определяем , затем вероятно, кратно т.е. для некоторых где не делит , затем в основном то, что остается после разделения.
Другой многочлен определен точно так же, но мы переключаем переменные: сначала напишите , затем определяется так, что для некоторых где не делит ,
Чтобы сделать это более понятным, рассмотрите следующее
пример
Рассмотрим кривую, заданную нулевым локусом , (Имеет особенность впотому что нет четко определенной касательной в этой точке. )
Тогда мы находим
затем это первый полином.
по аналогии
затем ,
Формат ввода / вывода
(То же, что и здесь .) Полиномы представлены в виде (m+1) x (n+1)
матриц / списков списков целочисленных коэффициентов, в приведенном ниже примере термины коэффициентов приведены в их положении:
[ 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]
Таким образом, эллипс 0 = x^2 + 2y^2 -1
будет представлен как
[[-1, 0, 1],
[ 0, 0, 0],
[ 2, 0, 0]]
Если вы предпочитаете, вы также можете поменять местами x
и y
. В каждом направлении вам разрешено иметь конечные нули (т.е. коэффициенты более высоких степеней, которые просто равны нулю). Если это более удобно, вы также можете использовать разнесенные массивы (вместо прямоугольных), чтобы во всех под-массивах не было завершающих нулей.
- Формат вывода такой же, как и формат ввода.
Примеры
Больше будет добавлено ( источник больше )
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
Примеры без картинок
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