Дано n уравнений вида
где
- неизвестные,
- известные числа,
- параметры. Нужно исключить из этой системы параметры
, получить полиноминальное уравнение для
без этих параметров.
Все-таки лучше вот так формализовать: даны уравнения
и еще одно уравнение
, где
,
и все
--- переменные (неизвестные), а все
,
и
--- коэффициенты (данные константы). Требуется составить полиномиальное уравнение
, исключив все переменные
.
С помощью
результанта (очень простая конструкция; можно прочитать у Винберга, Алгебра многочленов, учебное пособие для заочников пединститутов) процесс исключения происходит так. Пусть
и
. Последовательно вычисляем
и
для
. Искомый многочлен
равен
.
Вот конкретный пример, посчитанный с помощью Maple.
Код:
> f[1]:=x^2+y^2-r[1]^2:f[2]:=(x-1)^2+y^2-r[2]^2:
> f[3]:=x^2+(y-1)^2-r[3]^2:
> g:=r[1]+r[2]+r[3]-3:
> R[1]:=resultant(f[1],g,r[1]):
> R[2]:=resultant(f[2],R[1],r[2]):
> R[3]:=resultant(f[3],R[2],r[3]):
Вот что получим в качестве
(искомый многочлен):
(Оффтоп)
Код:
2025-4140*x^2-4140*y^2+3240*x+3240*y-2952*x*y^2+1872*x*y+3628*x^2*y^2-2952*x^2*y-2376*x^3+1782*x^4+1782*y^4-2376*y^3+944*x^2*y^3+440*x^4*y-708*x^4*y^2-864*x^3*y-708*x^2*y^4-864*x*y^3+944*x^3*y^2+440*x*y^4-72*y^5*x^2-72*y^3*x^4-24*x^6*y+54*x^4*y^4+36*x^6*y^2+160*x^3*y^3+36*x^2*y^6+80*x^5*y+80*x*y^5-236*x^6+504*x^5-236*y^6+504*y^5-24*y^7+9*x^8+9*y^8-24*x^7-72*x^5*y^2-72*x^3*y^4-24*x*y^6:
(увы, полностью здесь не помещается). Следующий код рисует саму кривую:
Код:
> with(algcurves):
> plot_real_curve(R[3],x,y);
Из картинки видно, что кривая состоит из четырех кусков, и исходной геометрической задаче отвечает только один из них.