Критическая пара
(
f
i
,
f
j
)
{\displaystyle (f_{i},f_{j})}
является членом
T
⋅
T
⋅
K
[
x
1
,
.
.
.
,
x
n
]
⋅
T
⋅
K
[
x
1
,
.
.
.
,
x
n
]
,
P
a
i
r
(
f
i
,
f
j
)
:=
(
H
O
K
i
j
,
t
i
,
f
i
,
t
j
,
f
j
)
{\displaystyle T\cdot T\cdot K[x_{1},...,x_{n}]\cdot T\cdot K[x_{1},...,x_{n}],Pair(f_{i},f_{j}):=(HOK_{ij},t_{i},f_{i},t_{j},f_{j})}
такое, что
H
O
K
(
P
a
i
r
(
f
i
,
f
j
)
)
=
H
O
K
i
j
=
L
T
(
t
i
f
i
)
=
L
T
(
t
j
f
j
)
=
H
O
K
(
f
i
,
f
j
)
{\displaystyle HOK(Pair(f_{i},f_{j}))=HOK_{ij}=LT(t_{i}f_{i})=LT(t_{j}f_{j})=HOK(f_{i},f_{j})}
Определим степень критической пары
p
i
,
j
=
P
a
i
r
(
f
i
,
f
j
)
,
d
e
g
(
p
i
,
j
)
{\displaystyle p_{i,j}=Pair(f_{i},f_{j}),deg(p_{i,j})}
как
d
e
g
(
H
O
K
i
,
j
)
{\displaystyle deg(HOK_{i,j})}
.
Определим следующие операторы:
L
e
f
t
(
p
i
,
j
)
:=
t
i
⋅
f
i
{\displaystyle Left(p_{i,j}):=t_{i}\cdot f_{i}}
and
R
i
g
h
t
(
p
i
,
j
)
:=
t
j
⋅
f
j
{\displaystyle Right(p_{i,j}):=t_{j}\cdot f_{j}}
Псевдокод алгоритма F4 (упрощённая версия)
править
Вход:
{
F
конечное подмножество
K
[
X
1
,
.
.
.
,
X
n
]
S
e
l
функция
L
i
s
t
(
P
a
i
r
s
)
→
L
i
s
t
(
P
a
i
r
s
)
такое, что
S
e
l
(
I
)
≠
∅
если
I
≠
∅
{\displaystyle {\begin{cases}F{\text{ конечное подмножество }}K[X_{1},...,X_{n}]\\Sel{\text{ функция }}List(Pairs)\rightarrow List(Pairs)\\{\text{такое, что }}Sel(I)\neq \varnothing {\text{ если }}I\neq \varnothing \end{cases}}}
Выход: конечное подмножество
K
[
X
1
,
.
.
.
,
X
n
]
{\displaystyle K[X_{1},...,X_{n}]}
G
:=
F
,
F
~
0
+
:=
F
:=
0
и
P
:=
{
P
a
i
r
(
f
,
g
)
|
(
f
,
g
)
∈
G
2
c
f
≠
g
}
{\displaystyle G:=F,{\tilde {F}}_{0}+:=F:=0{\text{ и }}P:=\{Pair(f,g)|(f,g)\in G^{2}{\text{ c }}f\neq g\}}
While
P
≠
∅
{\displaystyle P\neq \varnothing }
do
d
:=
d
+
1
{\displaystyle d:=d+1}
P
d
:=
S
e
l
(
p
)
{\displaystyle P_{d}:=Sel(p)}
P
:=
P
∖
P
d
{\displaystyle P:=P\backslash P_{d}}
L
d
:=
L
e
f
t
(
P
d
)
∪
R
i
g
h
t
(
P
d
)
{\displaystyle L_{d}:=Left(P_{d})\cup Right(P_{d})}
F
~
d
+
:=
R
e
d
u
c
t
i
o
n
(
L
d
,
G
)
{\displaystyle {\tilde {F}}_{d}^{+}:=Reduction(L_{d},G)}
for
h
∈
F
~
d
+
{\displaystyle h\in {\tilde {F}}_{d}^{+}}
do
P
:=
P
∪
{
P
a
i
r
(
h
,
g
)
|
g
∈
G
}
G
:=
G
∪
{
h
}
{\displaystyle P:=P\cup \{Pair(h,g)|g\in G\}G:=G\cup \{h\}}
return
G
{\displaystyle G}
Теперь мы можем расширить определение редукции полинома по модулю
подмножества
K
[
X
1
,
.
.
.
,
X
n
]
{\displaystyle K[X_{1},...,X_{n}]}
, до редукции подмножества
K
[
X
1
,
.
.
.
,
X
n
]
{\displaystyle K[X_{1},...,X_{n}]}
по
модулю другого подмножества
K
[
X
1
,
.
.
.
,
X
n
]
{\displaystyle K[X_{1},...,X_{n}]}
:
Вход: L, G конечные подмножества
K
[
X
1
,
.
.
.
,
X
n
]
{\displaystyle K[X_{1},...,X_{n}]}
Выход: конечные подмножества
K
[
X
1
,
.
.
.
,
X
n
]
{\displaystyle K[X_{1},...,X_{n}]}
(Может быть пустым)
F
:=
SymbolicPreprocessing
(
L
,
G
)
{\displaystyle F:={\text{SymbolicPreprocessing}}(L,G)}
F
~
:=
Редукция Гауса
F
относительно
<
{\displaystyle {\tilde {F}}:={\text{Редукция Гауса }}F{\text{ относительно}}<}
F
~
+
:=
{
f
∈
F
~
|
L
T
(
f
)
∉
L
T
(
F
)
}
{\displaystyle {\tilde {F}}^{+}:=\{f\in {\tilde {F}}|LT(f)\not \in LT(F)\}}
return
F
+
~
{\displaystyle {\tilde {F^{+}}}}
Арифметическая операция не используется: это символьный препроцессинг.
Алгоритм Символьного Препроцессинга
править
Вход: L, G конечные подмножества
K
[
X
1
,
.
.
.
,
X
n
]
{\displaystyle K[X_{1},...,X_{n}]}
Выход: конечные подмножества
K
[
X
1
,
.
.
.
,
X
n
]
{\displaystyle K[X_{1},...,X_{n}]}
F
:=
L
{\displaystyle F:=L}
D
o
n
e
:=
L
T
(
F
)
{\displaystyle Done:=LT(F)}
while
T
(
F
)
≠
D
o
n
e
{\displaystyle T(F)\neq Done}
do
m
∈
T
(
F
)
∖
D
o
n
e
{\displaystyle m\in T(F)\backslash Done}
D
o
n
e
:=
D
o
n
e
∪
{
m
}
{\displaystyle Done:=Done\cup \{m\}}
if
m
{\displaystyle m}
приводим сверху по модулю
G
{\displaystyle G}
then
существует
g
∈
G
И
m
′
∈
T
:
m
=
m
′
⋅
L
T
(
g
)
{\displaystyle g\in G{\text{ И }}m^{'}\in T:m=m^{'}\cdot LT(g)}
F
:=
F
∪
{
m
′
⋅
g
}
{\displaystyle F:=F\cup \{m^{'}\cdot g\}}
return
F
{\displaystyle F}
Для всех многочленов
p
∈
L
d
{\displaystyle p\in L_{d}}
, мы имеем
p
→
G
∪
F
~
+
0
{\displaystyle p{\xrightarrow[{}]{G\cup {\tilde {F}}+}}0}
Теорема (без доказательства)
править
Алгоритм
F
4
{\displaystyle F_{4}}
вычисляет базис Гребнера G в
K
[
X
1
,
.
.
.
,
X
n
]
{\displaystyle K[X_{1},...,X_{n}]}
такой что
F
⊆
G
И
I
d
(
G
)
=
I
d
(
F
)
.
{\displaystyle F\subseteq G{\text{ И }}Id(G)=Id(F).}
Замечание
Если #
S
e
l
(
I
)
=
1
{\displaystyle Sel(I)=1}
для всех
I
≠
∅
{\displaystyle I\neq \varnothing }
, тогда алгоритм
F
4
{\displaystyle F_{4}}
сводится к алгоритму Бухбергера . В этом случае функция Sel является эквивалентом стратегии выбора для алгоритма Бухбергера.
Вход :
P
{\displaystyle P}
список критических пар
Выход : список критических пар
d
:=
m
i
n
{
d
e
g
(
l
c
m
(
p
)
)
}
{\displaystyle d:=min\{deg(lcm(p))\}}
P
d
:=
{
p
∈
P
|
d
e
g
(
l
c
m
(
p
)
)
=
d
}
{\displaystyle P_{d}:=\{p\in P|deg(lcm(p))=d\}}
return
P
d
{\displaystyle P_{d}}
Назовём эту стратегию нормальной стратегией для
F
4
{\displaystyle F_{4}}
.
Следовательно, если входные полиномы однородны, мы получаем в степени, и d - базис Гребнера.
На следующем шаге мы выбираем все критические пары , необходимые для вычисления базиса Гребнера в степени d+1.
Задача: посчитать базис Грёбнера для многочленов
{
f
1
=
a
b
c
d
−
1
;
f
2
=
a
b
c
+
a
b
d
+
a
c
d
+
b
c
d
;
f
3
=
a
b
+
b
c
+
a
d
+
c
d
;
f
4
=
a
+
b
+
c
+
d
}
{\displaystyle \{f_{1}=abcd-1;f_{2}=abc+abd+acd+bcd;f_{3}=ab+bc+ad+cd;f_{4}=a+b+c+d\}}
В начале присваиваем
G
=
f
4
,
{\displaystyle G={f_{4}},}
P
1
=
P
a
i
r
(
f
3
,
f
4
)
,
{\displaystyle P_{1}={Pair(f_{3},f_{4})},}
L
1
=
{
(
1
,
f
3
)
,
(
b
,
f
4
)
}
{\displaystyle L_{1}=\{(1,f_{3}),(b,f_{4})\}}
1) Символьный препроцессинг
(
L
1
,
G
,
∅
)
:
{\displaystyle (L_{1},G,\varnothing ):}
F
1
=
{
f
3
,
b
f
4
}
,
T
(
F
1
)
=
{
a
b
,
a
d
,
b
2
,
b
c
,
b
d
,
c
d
}
{\displaystyle F_{1}=\{{f_{3},bf_{4}}\},T(F_{1})=\{ab,ad,b^{2},bc,bd,cd\}}
a
b
{\displaystyle ab}
уже готов.
2) Символьный препроцессинг
(
L
1
,
G
,
∅
)
:
{\displaystyle (L_{1},G,\varnothing ):}
F
1
=
{
f
3
,
b
f
4
}
,
T
(
F
1
)
=
{
a
b
,
a
d
,
b
2
,
b
c
,
b
d
,
c
d
}
{\displaystyle F_{1}=\{{f_{3},bf_{4}}\},T(F_{1})=\{ab,ad,b^{2},bc,bd,cd\}}
a
d
{\displaystyle ad}
сверху сводится к
f
4
∈
G
{\displaystyle f_{4}\in G}
.
3) Символьный препроцессинг
(
L
1
,
G
,
∅
)
:
{\displaystyle (L_{1},G,\varnothing ):}
F
1
=
{
f
3
,
b
f
4
,
d
f
4
}
,
T
(
F
1
)
=
{
a
b
,
a
d
,
b
2
,
b
c
,
b
d
,
c
d
,
d
2
}
{\displaystyle F_{1}=\{{f_{3},bf_{4},df_{4}}\},T(F_{1})=\{ab,ad,b^{2},bc,bd,cd,d^{2}\}}
b
2
{\displaystyle b^{2}}
не сводится к
G
{\displaystyle G}
.
4)
F
1
=
{
f
3
,
b
f
4
,
d
f
4
}
.
{\displaystyle F_{1}=\{{f_{3},bf_{4},df_{4}}\}.}
Матричное представление полученного
F
1
{\displaystyle F_{1}}
:
A
1
=
M
(
F
1
)
=
(
{
a
b
b
2
b
c
a
d
b
d
c
d
d
2
}
(
d
f
4
)
0
0
0
1
1
1
1
(
f
3
)
1
0
1
1
0
1
0
(
b
f
4
)
1
1
1
0
1
0
0
)
{\displaystyle A_{1}=M(F_{1})={\begin{pmatrix}\{&ab&b^{2}&bc&ad&bd&cd&d^{2}\}\\(df_{4})&0&0&0&1&1&1&1\\(f_{3})&1&0&1&1&0&1&0\\(bf_{4})&1&1&1&0&1&0&0\end{pmatrix}}}
Редукция Гаусса полученной матрицы
A
1
{\displaystyle A_{1}}
:
A
1
~
=
(
{
a
b
b
2
b
c
a
d
b
d
c
d
d
2
}
(
d
f
4
)
0
0
0
1
1
1
1
(
f
3
)
1
0
1
0
−
1
0
−
1
(
b
f
4
)
0
1
0
0
2
0
1
)
{\displaystyle {\tilde {A_{1}}}={\begin{pmatrix}\{&ab&b^{2}&bc&ad&bd&cd&d^{2}\}\\(df_{4})&0&0&0&1&1&1&1\\(f_{3})&1&0&1&0&-1&0&-1\\(bf_{4})&0&1&0&0&2&0&1\end{pmatrix}}}
По этой матрице получаем:
F
1
~
=
[
f
5
=
a
d
+
b
d
+
c
d
+
d
2
,
f
6
=
a
b
+
b
c
−
b
d
−
d
2
,
f
7
=
b
2
+
2
b
d
+
d
2
]
{\displaystyle {\tilde {F_{1}}}=[f_{5}=ad+bd+cd+d^{2},f_{6}=ab+bc-bd-d^{2},f_{7}=b^{2}+2bd+d^{2}]}
А так как
a
b
,
a
d
∈
L
T
(
F
1
)
{\displaystyle ab,ad\in LT(F_{1})}
, то
F
1
+
~
=
[
f
7
]
{\displaystyle {\tilde {F_{1+}}}=[f_{7}]}
и тогда
G
=
{
f
4
,
f
7
}
.
{\displaystyle G=\{f_{4},f_{7}\}.}
Для следующего шага мы должны рассмотреть
P
2
=
{
P
a
i
r
(
f
2
,
f
4
)
}
{\displaystyle P_{2}=\{Pair(f_{2},f_{4})\}}
Отсюда
L
2
=
{
(
1
,
f
2
)
,
(
b
c
,
f
4
)
}
и
F
=
{
F
1
}
.
{\displaystyle L_{2}=\{(1,f_{2}),(bc,f_{4})\}{\text{и}}{\mathcal {F}}=\{F_{1}\}.}
В Символьном препроцессинге можно попытаться упростить
1
⋅
f
2
и
b
c
⋅
f
4
{\displaystyle 1\cdot f_{2}{\text{и}}bc\cdot f_{4}}
используя предыдущие вычисления:
Например,
L
T
(
b
c
f
4
)
=
a
b
c
=
L
T
(
c
f
6
)
и поэтому вместо
b
c
⋅
f
4
можно использовать
c
⋅
f
6
{\displaystyle LT(bcf_{4})=abc=LT(cf_{6}){\text{ и поэтому вместо }}bc\cdot f_{4}{\text{ можно использовать }}c\cdot f_{6}}
1) Символьный препроцессинг
F
2
=
{
f
2
,
c
f
6
}
,
T
(
F
2
)
=
{
a
b
c
,
b
c
2
,
a
b
d
,
a
c
d
,
b
c
d
,
c
d
2
}
{\displaystyle F_{2}=\{{f_{2},cf_{6}}\},T(F_{2})=\{abc,bc^{2},abd,acd,bcd,cd^{2}\}}
2) Символьный препроцессинг
F
2
=
{
f
2
,
c
f
6
}
,
T
(
F
2
)
=
{
a
b
c
,
b
c
2
,
a
b
d
,
a
c
d
,
b
c
d
,
c
d
2
}
{\displaystyle F_{2}=\{{f_{2},cf_{6}}\},T(F_{2})=\{abc,bc^{2},abd,acd,bcd,cd^{2}\}}
3) Символьный препроцессинг
F
2
=
{
f
2
,
c
f
6
}
,
T
(
F
2
)
=
{
a
b
c
,
b
c
2
,
a
b
d
,
a
c
d
,
b
c
d
,
c
d
2
}
{\displaystyle F_{2}=\{{f_{2},cf_{6}}\},T(F_{2})=\{abc,bc^{2},abd,acd,bcd,cd^{2}\}}
a
b
d
сводится к
b
c
f
4
а также к
b
f
5
{\displaystyle abd{\text{ сводится к }}bcf_{4}{\text{ а также к }}bf_{5}}
Цель: заменить любое произведение
m
⋅
f
{\displaystyle m\cdot f}
на произведение
(
u
f
)
⋅
f
′
{\displaystyle (uf)\cdot f'}
, где
(
t
,
f
′
)
{\displaystyle (t,f')}
- ранее вычисленная строка, а
u
f
{\displaystyle uf}
делит моном
m
{\displaystyle m}
В первом варианте алгоритма: некоторые строки матрицы никогда не используются (строки в матрице
F
~
d
∖
F
~
d
+
{\displaystyle {\tilde {F}}_{d}\backslash {\tilde {F}}_{d}^{+}}
).
Новая версия алгоритма: мы сохраняем эти строки
m
⋅
f
∈
R
o
w
s
(
F
)
→
m
′
⋅
f
′
c
m
≥
m
′
{\displaystyle m\cdot f\in Rows(F)\rightarrow m^{'}\cdot f^{'}{\text{ c }}m\geq m^{'}}
m
⋅
f
∈
R
o
w
s
(
F
)
→
X
k
⋅
f
′
{\displaystyle m\cdot f\in Rows(F)\rightarrow X_{k}\cdot f^{'}}
SIMPLIFY пытается заменить произведение
m
⋅
f
{\displaystyle m\cdot f}
произведением
(
u
t
)
⋅
f
′
{\displaystyle (ut)\cdot f^{'}}
, где
(
t
,
f
′
)
{\displaystyle (t,f^{'})}
уже вычисленная строка в гауссовой редукции, и u t делит моном m; Если мы нашли такое лучшее произведение, то рекурсивно вызываем функцию SIMPLIFY:
Вход:
{
t
∈
T
моном
t
∈
K
[
X
1
,
.
.
.
,
X
n
]
многочлен
F
=
(
F
i
)
d
=
1
,
.
.
.
,
(
d
−
1
)
,
Где
F
k
∈
K
[
X
1
,
.
.
.
,
X
n
]
{\displaystyle {\begin{cases}t\in T{\text{ моном}}\\t\in K[X_{1},...,X_{n}]{\text{ многочлен}}\\F=(F_{i})_{d=1,...,(d-1)},{\text{ Где }}F_{k}\in K[X_{1},...,X_{n}]\end{cases}}}
Выход: Результат
m
′
∗
f
′
{\displaystyle m^{'}*f^{'}}
эквивалентно
t
∗
f
{\displaystyle t*f}
for
u
∈
список делителей
t
{\displaystyle u\in {\text{ список делителей }}t}
do
if
∃
j
(
1
≤
j
<
d
)
:
(
u
⋅
f
)
∈
F
j
then
{\displaystyle \exists j(1\leq j<d):(u\cdot f)\in F_{j}{\text{ then}}}
F
~
j
Гауссова редукция
F
j
Относительно
<
{\displaystyle {\tilde {F}}_{j}{\text{Гауссова редукция}}F_{j}{\text{ Относительно}}<}
∃
!
p
∈
F
~
j
:
L
T
(
p
)
=
L
T
(
u
∗
f
)
{\displaystyle \exists !p\in {\tilde {F}}_{j}:LT(p)=LT(u*f)}
if
u
≠
t
then
{\displaystyle u\neq t{\text{ then}}}
return
S
i
m
p
l
i
f
y
(
t
u
,
p
,
F
)
{\displaystyle Simplify({\frac {t}{u}},p,F)}
else return
1
∗
p
{\displaystyle 1*p}
return
t
∗
f
{\displaystyle t*f}
Algorithm SYMBOLICPREPROCESSING
Вход:
{
L
,
G
конечные подмножества
K
[
X
1
,
.
.
.
,
X
n
]
F
=
(
F
i
)
d
=
1
,
.
.
.
,
(
d
−
1
)
,
Где
F
k
конечное подмножество
K
[
X
1
,
.
.
.
,
X
n
]
{\displaystyle {\begin{cases}L,G{\text{ конечные подмножества }}K[X_{1},...,X_{n}]\\F=(F_{i})_{d=1,...,(d-1)},{\text{ Где }}F_{k}\\{\text{конечное подмножество}}K[X_{1},...,X_{n}]\end{cases}}}
Выход: конечное подмножество
K
[
X
1
,
.
.
.
,
X
n
]
{\displaystyle K[X_{1},...,X_{n}]}
.
F
:=
L
{\displaystyle F:=L}
D
o
n
e
:=
L
T
(
F
)
{\displaystyle Done:=LT(F)}
while
T
(
F
)
≠
D
o
n
e
{\displaystyle T(F)\neq Done}
do
m
∈
T
(
F
)
∖
D
o
n
e
{\displaystyle m\in T(F)\backslash Done}
if
m
{\displaystyle m}
приводим сверху по модулю
G
{\displaystyle G}
then
существует
g
∈
G
И
m
′
∈
T
:
m
=
m
′
⋅
L
T
(
g
)
{\displaystyle g\in G{\text{ И }}m^{'}\in T:m=m^{'}\cdot LT(g)}
F
:=
F
∪
{
S
i
m
p
l
i
f
y
(
m
′
,
g
,
F
)
}
{\displaystyle F:=F\cup \{Simplify(m^{'},g,F)\}}
return
F
{\displaystyle F}
Теперь возвращаемся к примеру.
4) Символьный препроцессинг
F
2
=
{
f
2
,
c
f
6
,
b
f
5
}
,
T
(
F
2
)
=
{
a
b
c
,
b
c
2
,
a
b
d
,
a
c
d
,
b
c
d
,
c
d
2
,
b
2
d
,
b
d
2
}
{\displaystyle F_{2}=\{{f_{2},cf_{6},bf_{5}}\},T(F_{2})=\{abc,bc^{2},abd,acd,bcd,cd^{2},b^{2}d,bd^{2}\}}
И так далее....
5) Символьный препроцессинг
F
2
=
[
c
f
5
,
d
f
7
,
b
f
5
,
f
2
,
c
f
6
]
{\displaystyle F_{2}=[cf_{5},df_{7},bf_{5},f_{2},cf_{6}]}
A
2
=
M
(
F
2
)
=
[
0
0
0
0
1
1
1
0
1
0
0
0
0
0
1
0
0
0
2
0
1
0
0
0
1
1
0
1
0
1
0
0
0
1
0
1
0
1
1
0
0
0
0
0
1
1
0
0
0
−
1
0
0
−
1
0
0
]
{\displaystyle A_{2}=M(F_{2})={\begin{bmatrix}0&0&0&0&1&1&1&0&1&0&0\\0&0&0&1&0&0&0&2&0&1&0\\0&0&1&1&0&1&0&1&0&0&0\\1&0&1&0&1&1&0&0&0&0&0\\1&1&0&0&0&-1&0&0&-1&0&0\end{bmatrix}}}
После редукции Гаусса:
A
2
~
=
M
(
F
2
)
~
=
[
0
0
0
0
1
1
1
0
1
0
0
0
0
1
0
0
0
2
0
1
0
0
1
0
0
1
0
−
1
0
−
1
1
0
0
0
0
−
1
−
1
1
−
1
1
0
1
0
0
0
0
1
−
1
0
−
1
]
{\displaystyle {\tilde {A_{2}}}={\tilde {M(F_{2})}}={\begin{bmatrix}0&0&0&0&1&1&1&0&1&0\\0&0&0&1&0&0&0&2&0&1\\0&0&1&0&0&1&0&-1&0&-1\\1&0&0&0&0&-1&-1&1&-1&1\\0&1&0&0&0&0&1&-1&0&-1\end{bmatrix}}}
F
2
~
=
[
f
9
=
a
c
d
+
b
c
d
+
c
2
d
+
c
d
2
,
f
10
=
b
2
d
+
2
b
d
2
+
d
3
,
f
11
=
a
b
d
+
b
c
d
−
b
d
2
−
d
3
,
f
12
=
a
b
c
−
b
c
d
−
c
2
d
+
b
d
2
−
c
d
2
+
d
3
,
f
13
=
b
c
2
+
c
2
d
−
b
d
2
−
d
3
]
{\displaystyle {\tilde {F_{2}}}={\begin{bmatrix}f_{9}=acd+bcd+c^{2}d+cd^{2},\\f_{10}=b^{2}d+2bd^{2}+d^{3},\\f_{11}=abd+bcd-bd^{2}-d^{3},\\f_{12}=abc-bcd-c^{2}d+bd^{2}-cd^{2}+d^{3},\\f_{13}=bc^{2}+c^{2}d-bd^{2}-d^{3}\end{bmatrix}}}
и
G
=
{
f
4
,
f
7
,
f
13
}
{\displaystyle G=\{f_{4},f_{7},f_{13}\}}
На следующем шаге имеем:
L
3
=
{
(
1
,
f
1
)
,
(
b
c
d
,
f
4
)
,
(
c
2
,
f
7
)
,
(
b
,
f
13
)
}
{\displaystyle L_{3}=\{(1,f_{1}),(bcd,f_{4}),(c^{2},f_{7}),(b,f_{13})\}}
и рекурсивно вызываем упрощение:
S
i
m
p
l
i
f
y
(
b
c
d
,
f
4
)
=
S
i
m
p
l
i
f
y
(
c
d
,
f
6
)
=
S
i
m
p
l
i
f
y
(
d
,
f
12
)
=
(
d
,
f
12
)
{\displaystyle Simplify(bcd,f_{4})=Simplify(cd,f_{6})=Simplify(d,f_{12})=(d,f_{12})}
На следующем шаге имеем:
L
3
=
{
(
1
,
f
1
)
,
(
b
c
d
,
f
4
)
,
(
c
2
,
f
7
)
,
(
b
,
f
13
)
}
{\displaystyle L_{3}=\{(1,f_{1}),(bcd,f_{4}),(c^{2},f_{7}),(b,f_{13})\}}
и
F
3
=
[
f
1
,
d
f
12
,
c
2
f
7
,
b
f
13
,
d
f
13
,
d
f
10
]
{\displaystyle F_{3}=[f_{1},df_{12},c^{2}f_{7},bf_{13},df_{13},df_{10}]}
После некоторых вычислений, получается, что ранг
M
(
F
3
)
{\displaystyle M(F_{3})}
составляет 5.
Это означает, что есть бесполезное сведение к нулю.
На следующем шаге имеем:
L
3
=
{
(
1
,
f
1
)
,
(
b
c
d
,
f
4
)
,
(
c
2
,
f
7
)
,
(
b
,
f
13
)
}
{\displaystyle L_{3}=\{(1,f_{1}),(bcd,f_{4}),(c^{2},f_{7}),(b,f_{13})\}}
и
F
3
=
[
f
1
,
d
f
12
,
c
2
f
7
,
b
f
13
]
{\displaystyle F_{3}=[f_{1},df_{12},c^{2}f_{7},bf_{13}]}
Символьный препроцессинг
F
3
=
[
f
1
,
d
f
12
,
c
2
f
5
,
b
f
13
,
d
f
13
,
d
f
10
]
{\displaystyle F_{3}=[f_{1},df_{12},c^{2}f_{5},bf_{13},df_{13},df_{10}]}
F
3
~
=
[
f
15
=
c
2
b
2
−
c
2
d
2
+
2
b
d
3
+
2
d
4
,
f
16
=
a
b
c
d
−
1
,
f
17
=
−
b
c
d
2
−
c
2
d
2
−
b
d
3
−
d
4
+
1
,
f
18
=
c
2
b
d
+
c
2
d
2
−
b
d
3
−
d
4
,
f
19
=
b
2
d
2
+
2
b
d
3
+
d
4
]
{\displaystyle {\tilde {F_{3}}}={\begin{bmatrix}f_{15}=c^{2}b^{2}-c^{2}d^{2}+2bd^{3}+2d^{4},\\f_{16}=abcd-1,\\f_{17}=-bcd^{2}-c^{2}d^{2}-bd^{3}-d^{4}+1,\\f_{18}=c^{2}bd+c^{2}d^{2}-bd^{3}-d^{4},\\f_{19}=b^{2}d^{2}+2bd^{3}+d^{4}\end{bmatrix}}}