Опубликован: 04.03.2008 | Доступ: свободный | Студентов: 1626 / 46 | Оценка: 4.56 / 3.67 | Длительность: 30:07:00
ISBN: 978-5-9556-0099-4
Специальности: Программист, Математик
Лекция 6:

Алгоритмы вычисления размерностных многочленов

13.14. ЛЕММА. Пусть

E=\begin{pmatrix}
    e_{11} & e_{12} & 0 & \hdots & 0 \\
    e_{21} & e_{22} & 0 & \hdots & 0 \\
    \vdots  & \vdots  & \vdots &\ddots   & \vdots \\
    e_{n1} & e_{n2} & 0 & \hdots & 0
\end{pmatrix}
- нормализованная n\!\times\!
m -матрица над \mathbb N\ (m\geq 2) . Предположим, что 0 =
e_{11}<
e_{21}<\dots< e_{n1} и e_{12}> e_{22}>\dots> e_{n2}= 0. Тогда
\begin{equation}
  \omega_E(t)=\sum_{i=1}^{n-1}\Delta_{(e_{i+1,1}-e_{i1})}
\Delta^{-1}\omega_{\textbf{e}_i}(t-e_{i1}),
\end{equation} ( 13.11)
где \textbf{e}_i= (e_{i2},0,\dots,0) \in \mathbb N^{m-1}\ (i=1,\dots,n-1).

ДОКАЗАТЕЛЬСТВО. Воспользуемся индукцией по n. Случай n=1 тривиален. Пусть n>1, и предположим, что утверждение леммы доказано для всех матриц, число строк которых меньше n. Для доказательства соотношения (13.11) для n\!\times\! m -матрицы E = (e_{ij})_{\substack{1\leq
i\leq n\\
1\leq j\leq m}}, у которой e_{ij}=0 (1\leq i\leq
n, 3\leq j\leq m), прежде всего заметим, что если a=\min_{1\leq i\leq n}
\left( e_{i1} \mid e_{i1}\neq0\right) =e_{21}, то

\omega_E(t) = \Delta_a\Delta^{-1} \omega_{E_1}(t)+\omega_H(t-a),
где E_1 =
(e_{12},0,\dots,0) \in \mathbb N^{m-1} и
H=\begin{pmatrix} 0 &
e_{12} & 0 & \hdots & 0 \\
     0 & e_{22} & 0 & \hdots & 0 \\
e_{31}-e_{21} & e_{32} & 0 & \hdots & 0 \\
\vdots  & \vdots  &\vdots   & \ddots &\vdots   \\
e_{n1}-e_{21} & e_{n2} & 0 & \hdots & 0
\end{pmatrix}
(см. лемму 13.10). Первая строка матрицы H является лишней, следовательно, \omega_H=\omega_{H_1, где
H_1=\begin{pmatrix}   0 & e_{22} & 0 & \hdots & 0 \\
e_{31}-e_{21} & e_{32} & 0 & \hdots & 0 \\
\vdots  & \vdots  &\vdots   & \ddots &\vdots   \\
e_{n1}-e_{21} & e_{n2} & 0 & \hdots & 0 \end{pmatrix}.
По предположению индукции имеем
\omega_H(t) =
  \omega_{H_1}=\sum_{i=2}^{n-1} \Delta_{(e_{i+1,1}-e_{i1})} \Delta^{-1}
\omega_{
  \textbf{e}_i}(t-e_{i1}),
следовательно,
\begin{align*}
  \omega_E(t) &= \Delta_{e_{21}} \Delta^{-1}\omega_{E_1}(t)
  +\sum_{i=2}^{n-1}\Delta_{(e_{i+1,1}-e_{i1})}\Delta^{-1}\omega_{\textbf{e}_i}(t-e_{i1})\ 
&=\smash{\sum_{i=1}^{n-1}}\Delta_{(e_{i+1,1}-e_{i1})}\Delta^{-1}\omega_{\textbf{e}_i}(t-e_{i1}). \tag*\qedsymbol
\end{align*}

13.15. СЛЕДСТВИЕ. Пусть

E=\begin{pmatrix} e_{11} & e_{12} \\ e_{21}
& e_{22} \\
\vdots & \vdots \\ e_{n1} & e_{n2} \end{pmatrix}
- n\!\times\! 2 -матрица над \mathbb N, такая, что 0 = e_{11}< e_{21}< \dots < e_{n1}, e_{12}> e_{22}>\dots>
e_{n2}= 0. Тогда
\begin{equation}
  \omega_E(t)=\sum_{i=1}^{n-1}(e_{i+1,1}-e_{i1}) e_{i2}. \
\end{equation} ( 13.12)

А13. АЛГОРИТМ (E, n,m, \omega).

\begin{equation}\\
\text{Дано: \quad  $n\in\mathbb N;\ m\in\mathbb N$; $n\!\times\!m$-матрица $E$. }\\
\text{Надо:\qquad $\omega_E(t)$- многочлен Гильберта матрицы $E$.}\\
\text{Переменные: $P_0, P_1$- многочлены;}\\
   \text{\qquad $N_S$- текущее значение первой координаты;}\\
   \text{\qquad $N_R$- следующее значение первой координаты;}\\
   \text{\qquad $E_0$- последовательность $(m-1)$-мерных
векторов.}\\
\text{Начало}\\
\text{$\omega(t):=0$}\\
\text{если  $n=0$ тоесли  $n=0$ то $\omega(t):=\binom {t+m}m$}\\
\text{иначе $\textbf{v}:=(v_1,\dots,v_m)$, \ где $v_j =\min_{1\leq i\leq n} \{e_{ij}\}\ (j=1,\dots,m)$}\\
    \text{ \qquad $E := (e_{ij}-v_j)_{\substack{1\leq i\leq n\\ 1\leq j\leq m}}$}\\
     \text{\qquad $K :=$ \{индексы ненулевых столбцов матрицы $E$\}}\\
     \text{\qquad выбор}\\
\text{\qquad $\Card K=2$, $K=\{ j,p\} \implies$ сортировать строки по возрастанию $j$-го столбца}\\
\text{\qquad \qquad удалить лишние строки }\\
\text{$\omega:=\omega(t)+\sum\limits_{i=1}^{n-1}\Delta_{(e_{i+1,j}-e_{ij})}\Delta^{-1}\omega_{\textbf{e}_i}(t-e_{ij})$,}\\
\text{\qquad \qquad \qquad где $\textbf{e}_i=(e_{ip},0,\dots,0)\in\mathbb N^{m-1}$}\\
\text{\qquad $\Card K>2 \Rightarrow$ взять $k \in  K$}\\
\text{\qquad \qquad переставить $k$-й столбец с первым}\\
\text{\qquad \qquad $N_S := 0$}\\
\text{\qquad \qquad $E_0 := \emptyset$}\\
\text{\qquad \qquad цикл для каждого
ненулевого $e_{i1}$ в возрастающем порядке}\\
\text{\qquad \qquad \qquad $N_R := e_{i1}$}\\
\text{\qquad \qquad \qquad $E_0$: добавить последовательность строк}\\
\text{\qquad \qquad \qquad \qquad  $\{ (e_{j2},\dots,e_{jm})|e_{j1}= N_S\}$}\\
\text{\qquad \qquad \qquad $N_0 :=$ число векторов в $E_0$}\\
\text{\qquad \qquad \qquad Алгоритм A13 $(E_0,N_0,m-1,P_0(t))$}\\
\text{\qquad \qquad \qquad $P_0(t):=\Delta_{(N_R-N_S)}\Delta^{-1}P_0(t)$}\\
\text{\qquad \qquad \qquad $\omega(t):=\omega(t)+P_0(t-N_S)$}\\
\text{\qquad \qquad \qquad $N_S:=N_R$}\\
\text{\qquad \qquad конец цикла}\\
\text{\qquad \qquad $E$: обнулить первый столбец}\\
\text{\qquad \qquad Алгоритм A13 $(E,n,m,P_1(t))$}\\
\text{\qquad \qquad $\omega(t):=\omega(t)+P_1(t-N_S)$}\\
\text{\qquad конец выбора}\\
\text{\qquad $\omega(t):=\omega(t-|\textbf{v}|)+\binom{t+m}m-\binom{t+m-|\textbf{v}|}m$}\\
\text{конец если}\\
Конец
\end{equation}

Приведенный здесь алгоритм A13 вычисления многочлена Гильберта \omega_E(t) для n\!\times\!m -матрицы E основан на данной выше схеме. В соответствии с ней, воспользуемся (13.8), чтобы представить многочлен \omega_E(t) в виде суммы многочленов Гильберта матриц, которые содержат менее m столбцов, и многочлена Гильберта n\!\times\!m -матрицы E', содержащей не более двух ненулевых столбцов (без потери общности можно считать, что ненулевыми являются два первых столбца матрицы E' ). Многочлен \omega_{E'}(t) вычисляется с помощью соотношения (13.10). Сначала переупорядочим строки так, чтобы элементы первого столбца удовлетворяли условию леммы 13.14 (такое переупорядочение требует \sim n\log n элементарных операций). Тогда видно, что если второй ненулевой столбец не упорядочен в обратном порядке, то матрица E' содержит лишние строки (в точности те строки \textbf{e}_i \ (1\leq i\leq n), в которых e_{12}\geq e_{j2} для некоторого j \in \mathbb N,\ 1\leq j<i ). Таким образом, получаем следующую оценку числа f(n,m) элементарных операций, которые требуются для вычисления многочлена Гильберта \omega_E(t) для n\!\times\!
m -матрицы E с помощью алгоритма A13:

\begin{align*}
  f(n,m)&\leq n\log n+f(n,m-1)+\sum_{i=1}^kf(b_i,m-1)\\
  &\leq n\log n+nf(n,m-1)
\end{align*}
где 1\leq k<n;\ b_1,\dots,b_k \in \N ; 1\leq b_i\leq
n (i=1,\dots,k). Следовательно, алгоритм A13 имеет асимптотическую сложность \sim n^{m-1 \log n при m\geq
2 (если m=1, то асимптотическая сложность \sim
n ).

Марина Подлевских
Марина Подлевских

Пожалуйста, проясните ситуацию. Был выбран курс " Компьютерная алгебра" для самостоятельного изучения. Как теперь записаться на этот курс с целью получения диплома о повышении квалификации? На данный момент он имеет статус " изучаю". Если я пройду экзаменационный тест в таком статусе без оформления документов и оплаты диплома, придется ли еще раз регистрироваться на этот курс и заново проходить тестирование?