Для наочності я збираюсь узагальнити ваше запитання над характеристикою (з базовим полем F q ) замість конкретного випадку p = q = 2 . Я візьму p і q як фіксовані константи; Я залишу це читачеві, щоб зрозуміти, яка точна залежність від цих параметрів, оскільки існують деякі компроміси, які можна зробити. Кінцевим результатом тут є те, що ваша задача приблизно еквівалентна задачі дискретного журналу для кінцевих полів характеристики p .p>0Fqp=q=2pqp
Щоб бути більш конкретним, нехай звичайна дискретна проблема журналу над розширеннями , задана полем розширення F з F q , і a , b ∈ F , знайде будь-яке ціле число t, щоб a = b t , або повідомити про відсутність жодного . Нехай сильна дискретна задача журналу над розширеннями F q , задана F , a , b, як і раніше, знаходить цілі числа z , m, так що
aFqFFqa,b∈Fta=btFqF,a,bz,m для цілого числа t iffабо повідомити, що неіснує. Тоді існують такі скорочення:a=bttt=z(modm)t
Існує детерміноване скорочення відображення від дискретного журналу через розширення до вашої проблеми.Fq
Існує ефективний, детермінований алгоритм, який вирішує вашу проблему при доступі до оракула, обчислюючи сильну дискретну проблему журналу над розширеннями .Fq
Відповідно, я вважаю малоймовірним, що хтось опублікує доказ
-твердості або доказ того, що ваша проблема знаходиться в найближчим часом.NPP
Примітка: Сильна дискретна завдання журналу над розширеннями
може бути Тьюринг зводиться до наступного нібито слабкій формі (хоча до сих пір , здавалося б , сильніше , ніж звичайні завдання дискретного журналу): Дан полем розширення з , і , знайдіть найменше невід'ємне ціле число так, що . Це випливає з того, що порядок дорівнює плюс найменший негативний так що .FqFFqa,b∈Fta=btbtb−1=bt
Перше скорочення:
твердження полягає в тому, що звичайна проблема дискретного журналу над розширеннями відображення - зводиться до цієї проблеми. Звідси випливає той факт, що множення в є лінійним перетворенням, коли ми розглядаємо як -вимірний векторний простір над . Отже, питання форми над
стає над , де є - мірні вектори, а являє собоюFqFqnFqnnFqa=btFqna⃗ =Bte⃗ Fqa⃗ ,e⃗ nBn×nматриця, по всьому . Вектор можна легко обчислити з , від , а
- це лише представлення , яке можна записати ефективно . Здається, це все ще є важким випадком загальної проблеми дискретного журналу, навіть якщо (але , природно, зростає ). Зокрема, люди все ще змагаються, щоб побачити, як далеко вони можуть це обчислити.Fqa⃗ aBbe⃗ 1∈Fqnp=q=2n
Друге зменшення:
твердження полягає в тому, що ваша проблема зводиться до сильної дискретної проблеми журналу через розширення . Це зменшення має кілька штук, тому пробачте довжину. Нехай вхід - -вимірні вектори і матриці , по всьому ; мета - знайти так, щоб .Fqnx,yn×nAFqty=Atx
Основна ідея - написати в Йорданії канонічну форму (JCF), з якої ми можемо звести тестування до сильної дискретної задачі журналу з деякою прямолінійною алгеброю.Ay=Atx
Однією з причин використання канонічної форми за подібністю матриць є те, що якщо , то . Отже , ми можемо перетворити до , де в даний час знаходиться в набагато краще , ніж формат довільного . JCF - це дуже проста форма, яка дозволяє решту алгоритму. Тож припустимо, що вже є у JCF, але також дозвольте, що та можуть мати записи у полі розширення
.A=P−1JPAt=P−1JtPy=Atx(Py)=Jt(Px)JAAx,y,AFq
Зауваження: Є деякі тонкощі, які виникають при роботі з JCF. Зокрема, я припускаю, що ми можемо виконувати польові операції в будь-якому розширенні (незалежно від того, наскільки велика) за один час, і що ми можемо ефективно обчислити JCF.
апріорі це нереально, тому що для роботи з JCF може знадобитися робота в полі розширення (поле розщеплення характеристичного многочлена) експоненціального ступеня. Однак, з певною обережністю і використовуючи той факт, що ми працюємо над обмеженим полем, ми можемо обійти ці проблеми. Зокрема, ми будемо асоціювати з кожним блоком Йордану поле ступеня не більше надFqF′nFq
так що всі записи в блоці Jordan та відповідні елементи ,
всі живуть у межах . Поле може відрізнятися від блоку до блоку, але використання цього `` змішаного представлення' 'дозволяє ефективно описувати JCF, що до того ж можна знайти ефективно. Алгоритм, описаний у решті цього розділу, повинен працювати лише з одним блоком за один раз, доки він виконує свої польові операції в асоційованому полі , алгоритм буде ефективним.
[кінцеве зауваження]xyF′F′F′
Використання JCF дає нам рівняння наступної форми, причому кожне рівняння відповідає блоку Йордана:
⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢y1y2y3⋮yk−1yk⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢λ1λ1λ1⋱λ1λ⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥t⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢x1x2x3⋮xk−1xk⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥
Алгоритм буде обробляти кожен блок окремо. У загальному випадку для кожного блоку у нас буде запит на наш сильний дискретний журнал оракул, з якого оракул повідомляє нам умову модульності, . Ми також отримаємо набір так що
повинен утримувати . Обробивши всі блоки, нам потрібно буде перевірити, чи є вибір який задовольняє сполучники всіх цих умов. Це можна зробити, переконавшись, що у всіх множинах є загальний елемент
щоб рівняння іt=z(modm)S⊆{0,1,⋯,p−1}⋁s∈S[t=s(modp)]tsSt=s(modp)t=zj(modmj)всі одночасно задовольняються, де знаходиться в межах блоків.j
Також є деякі особливі випадки, які виникають протягом усієї процедури. У цих випадках, ми отримаємо умову виду для деякого значення , або в формі для деяких конкретних цілого числа , з певних блоків, або ми могли б навіть знайти , що ні не може існувати . Вони можуть бути включені в логіку для загального випадку без проблем.t>ℓℓt=sst
Тепер ми описуємо підпроцедуру для обробки кожного блоку Jordan. Зафіксуйте такий блок.
Почніть із зосередження лише на останній координаті в блоці. Умова вимагає, щоб . Іншими словами, це екземпляр дискретної проблеми журналу в деякому розширенні поля . Потім ми використовуємо оракул для його вирішення, який або не призводить до рішення, або ж дає умову модульності на . Якщо "рішення не прийнято", ми повертаємося із зазначенням такого. В іншому випадку ми отримуємо умову , яка еквівалентна .y=Atxyk=λtxkFqtt=z(modm)yk=λtxk
Для обробки інших координат ми почнемо з наступної формули (див., Наприклад, тут ):
⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢λ1λ1λ1⋱λ1λ⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥t=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢λt(t1)λt−1λt(t2)λt−2(t1)λt−1⋱⋯⋯⋱⋱⋯⋯⋮⋱λt(tk−1)λt−k+1(tk−2)λt−k+2⋮⋮(t1)λt−1λt⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
\ ddots & \ ddots & \ vdots \\ & & & \ lambda ^ t & \ binom {t} {1} \ лямбда ^ {t-1} \\ & & & & \ \ лямбда ^ t \ кінець {bmatrix }
Спочатку давайте подбаємо про випадок, у якому
xk=0 . Оскільки у нас вже є умова модульності, яка передбачає , можна припустити, що також. Але тоді ми можемо просто перейти до зосередження уваги на перших записах і , і верхній лівий підматрицю блоку Jordan. Отже, відтепер припустимо, що .
yk=λtxkyk=0k−1xy(k−1)×(k−1)xk≠0
По-друге, ми обробляємо випадок, коли . У цьому випадку сили Йорданського блоку мають особливу форму, і сила або для деякого , або , без інших умов. Я не буду ставитись до справи, але достатньо сказати, що кожну можна перевірити на ефективність. (Як варіант, ми можемо перейти до випадку, коли є зворотним; дивіться мій коментар до цього питання.)λ=0t=zz≤kt>kA
Нарешті, ми приходимо до загальної справи. Оскільки у нас вже є умова модульності, з якої випливає, що , ми можемо вважати, що ця умова виконується, і використовувати в якості резервного для . Більш загально, ми можемо використовувати для представлення . Таким чином, нам потрібно перевірити, чи відповідає наступна система для певного вибору :
yk=λtxkykx−1kλtykx−1kλ−zλt−zt
⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢y1y2y3⋮yk−1yk⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢ykx−1k(t1)ykx−1kλ−1ykx−1k(t2)ykx−1kλ−2(t1)ykx−1kλ−1⋱⋯⋯⋱⋱⋯⋯⋮⋱ykx−1k(tk−1)ykx−1kλ−(k−1)(tk−2)ykx−1kλ−(k−2)⋮⋮(t1)ykx−1kλ−1ykx−1k⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢x1x2x3⋮xk−1xk⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥
y_kx_k ^ {- 1} \ кінець {bmatrix} \ початок {bmatrix} x_1 \\ x_2 \\ x_3 \\ \ vdots \\ x_ {k-1} \\ x_ {k} \\ \ кінець {bmatrix} Зауважте, що чи має місце рівняння, залежить лише від ; це тому, що залежність від є лише многочлена,
t(modp)tt повинно бути цілим числом, і наведені рівняння знаходяться над полем, характерним . Отже, ми можемо просто спробувати кожне значення окремо. Набір ми повернемо, - це лише вибір для якого система задоволена.
pt∈{0,1,…,p−1}St
Отже, за винятком деяких особливих випадків, під-процедура блоку знайшла умову модульності і набір так що один з повинен утримувати деякий . Ці умови еквівалентні у цьому конкретному блоці Йорданії. Отже, ми повертаємо їх з підпроцедури. У спеціальних випадках або робиться висновок, що не може існувати (у цьому випадку підпроцедура негайно повертає вказівку на це), або ж у нас є умова модульності і якась особлива умова, наприклад для цілого числа , або для деякого цілого числаt=a(modm)St=s(modp)s∈Sy=Atxtt=a(modm)t=sst>ℓℓ . У будь-якому випадку, всі задіяні умови еквівалентні у цьому блоці Джордана. Отже, як було сказано вище, підпроцедура просто повертає ці умови.y=Atx
На цьому завершується специфікація підпроцесу для блоку та алгоритму в цілому. Його правильність та ефективність випливають із попередньої дискусії.
Тонкощі використання JCF у другому скороченні:
Як було сказано у другому скороченні, є деякі тонкощі, які виникають при роботі з JCF. Є кілька спостережень для пом'якшення цих проблем:
Розширення кінцевих полів є нормальними . Це означає , що якщо є непріводімим многочленом над , то будь-яке розширення , що містить корінь
містить всі корені . Іншими словами, поле розщеплення невідворотного многочлена
ступеня має ступінь лише над .PFqFqPPPddFq
Існує узагальнення Йорданської канонічної форми, яка називається первинною раціональною канонічною формою (PRCF), яка не вимагає запису розширень поля. Зокрема, якщо - матриця із записами в , то ми можемо записати для деяких матриць із записами в , де більше знаходиться в PRCF. Додатково, якщо ми робимо вигляд, що записи live у полі
extending яке містить усі власні значення , тоAFqA=P−1QPP,QFqQAF′FqAQнасправді буде в JCF. Таким чином, ми можемо розглядати обчислення JCF як особливий випадок обчислення PRCF.A
Використовуючи форму PRCF, ми можемо розраховувати обчислення JCF якA
обчислення PRCF надAFq
обчислення PRCF кожного блоку (запозичення позначення зі статті Вікіпедії) в PRCF , над полем розширення , де вибрано , щоб містити всі власні значенняCAF′F′C
Ключова перевага цієї факторизації полягає в тому, що всі характерні поліноми блоків будуть невідворотніми , і, отже, за нашим першим спостереженням ми можемо вибрати щоб мати ступінь розміру (що становить не більше ) над . Мінус полягає в тому, що зараз ми повинні використовувати різні поля розширення для представлення кожного блоку JCF, тому подання є нетиповим і складним.CF′CnFq
Таким чином, з огляду на здатність ефективно обчислювати ФКНР, ми можемо обчислити відповідну кодування ГФДА ефективно, і це кодування так , щоб працювати з будь-яким конкретним блоком ГФДА може бути зроблена в поле розширення ступеня над .nFn
Як для ефективного обчислення ФКНР, паперу « Раціональний Канонічна форма алгоритму » (KR Меттьюз, Математика. Bohemica 117 (1992) 315-324) дає ефективний алгоритм для обчислення ФКНР , коли розкладання характеристичного полінома , як відомо . Для фіксованої характеристики (такої, яку ми маємо) факторизування одновимірних многочленів над кінцевими полями можна виконати в детермінованому поліноміальному часі (див., Наприклад, " Про новий алгоритм факторизації для поліномів над кінцевими полями " (Х. Нідеррейтер та Р. Готферт, математика). Обчислення 64 (1995) 347-353).), Тому PRCF можна обчислити ефективно.A