Нахождение полинома, дающего заданный корень (Recognize). Тета-функция Зигеля.
Подпакет Recognize содержит определение одноименной с ним функции в двух формах:
- Recognize [x,n,t] – находит полином переменной t степени, большей п, такой, что х является его корнем;
- Recognize [х, n, t, k] – находит полином переменной t степени, большей п, такой, что х является его корнем, и со штрафным весовым коэффициентом k, предназначенным для подавления генерации полиномов высших степеней.
Действие этой функции поясняют следующие примеры:
<
<
NumberTheory`Recognize`
NSolve[
2
x
^
3
-
x
+
5
=
=
0
]
{{x
>
-
1.4797
}, {x
>
0.739852
-
1.068711
}
-
,
{x
>
0.739852
+
1.068711
}}
sol
=
First[x
/
.
%
]
-
1.4797
Recognize[sol,
3
, t]
5
-
t
+
2t3
Recognize[sol,
2
, t]
-
225599
-
1464961
+
4032
t2
Recognize[N[Sqrt[
3
^
(
2
/
5
)]],
5
, t]
-
3
+
t5
Recognize[N[Sqrt[
3A
(
2
/
5
)]],
5
, t,
10
]
-
14625
+
11193
t
+
328
t2
+
8813
+
t4
Тета-функция Зигеля
Подпакет SiegelTheta содержит еще одну редкую функцию:
- SiegelTheta [z, s] – возвращает значение тета-функции Зигеля Q(Z, s).
Примеры вычисления этой функции даны ниже:
<
<
NumberTheory`SiegelTheta`
SiegelTheta[{
1
+
1.2
+
1
}, {
2
+
1
,
-
1
+
41
}, {
1.2
,
2.3
+
.
3I
}]
0.973715
-
0.0002970481
Sum[E
^
(Pi I {t1,t2}.{ {
1
+
1.2
+
1
}, {
2
+
1
,
-
1
+
41
} }.{t1,,t2}
+
2
Pi I {t1,t2}.{l.
2.2.3
+
.
31
}), {t1,
-
10.10
>
, {t2,
-
10.10
}]
0.973715
-
0.000297048
I
В заключительной части этого примера дано вычисление тета-функции Зигеля по ее исходному определению.