Telegram Group & Telegram Channel
(продолжение, начало выше)

4.
итак, корни кубического уравнения выражаются через лямбды, и в нашем случае λ₁³=-7²(1+3ω)²

теорема Кронекера-Вебера (whatever it means) гарантирует, что λ₁ можно выразить через корни из единицы, но как конкретно это сделать?

выше обсуждалось, что если π=a+bω простое с нормой p, то кубическая сумма Гаусса по модулю p — это примерно кубический корень из pπ

спускаясь от общих разговоров к конкретным вычислениям: N(1+3ω)=7, мы хотели бы извлечь кубический корень из 7(1+3ω), попробуем взять эту самую сумму Гаусса:

zeta = exp(2*pi*I/7)
g = sum(omega**k * zeta**(3**k) for k in range(6))
print("-g^6 vs lambda1^3:",N(-g**6),N(lambda1**3))
print(“-g^2 vs lambda1:”,N(-g**2),N(lambda1))

(число 3 в определении g — это первообразный корень mod 7; отметим, что g — это, как и было обещано, линейная комбинация каких-то корней из единицы)

запустив программу можно увидеть, что g³=7(1+3ω) (могли бы получить сопряженное и/или какой-то знак), но -g² — не тот кубический корень, который нам нужен; нетрудно перебрать варианты, правильный ответ λ₁=-ωg²

l1 = -omega*g**2
print("l1 vs lambda1:",N(l1),N(lambda1))


5.
осталось превратить это в выражение для корней

по определению лямбд, θ₀=(λ₀+λ₁+λ₂)/3; в нашем случае λ₀=8, а λ₁ и λ₂ комплексно сопряжены, так что можно написать

t0 = (2*re(expand(l1))+8)/3
print("t0 vs theta0",N(t0),N(theta0))
print(t0)

так как всё уже выражено через корни из единицы, после взятия вещественной части sympy сразу даст ответ, записанный через косинусы:

-10*cos(2*pi/21)/3 - 4*cos(2*pi/7) - 2*cos(4*pi/21) - 4*cos(8*pi/21)/3 - 2*cos(10*pi/21) + 4*cos(pi/21)/3 + 8*cos(pi/7)/3 + 10*cos(5*pi/21)/3 + 8/3


6.
можно выразить и остальные корни

t0 = (2*re(expand(l1))+8)/3
t1 = (2*re(expand(l1*omega**2))+8)/3
t2 = (2*re(expand(l1*omega))+8)/3

как связаны получающиеся выражения?

вот они (слегка переписанные — в одинаковом порядке и т.п.):

t0 = 8/3
- (10/3)*(cos(2*pi/21) + cos(16*pi/21))
- (8/3)*cos(6*pi/7) - 4*cos(2*pi/7)
- 2*(cos(4*pi/21) + cos(10*pi/21))
- (4/3)*(cos(8*pi/21) + cos(20*pi/21))

t1 = 8/3
- (10/3)*(cos(4*pi/21) + cos(10*pi/21))
- (8/3)*cos(2*pi/7) - 4*cos(4*pi/7)
- 2*(cos(8*pi/21) + cos(20*pi/21))
- (4/3)*(cos(16*pi/21) + cos(2*pi/21))

t2 = 8/3
- (10/3)*(cos(8*pi/21) + cos(20*pi/21))
- (8/3)*cos(4*pi/7) - 4*cos(6*pi/7)
- 2*(cos(16*pi/21) + cos(2*pi/21))
- (4/3)*(cos(10*pi/21) + cos(4*pi/21))

— видно, что следующее выражение можно получить, увеличив в предыдущем все аргументы вдвое

нетрудно и без выписывания этих сумм понять, почему так должно быть: автоморфизм ζ→ζ², ω→ω² поля Q(ζ,ω) домножает g на кубический характер двойки mod 7, т.е. на ω², т.е. λ₁=-ωg²→-ω²(ω²g)²=λ₁/ω etc — то есть действительно сдвигает корни на один по циклу

(вообще группа Галуа циклотомического поля устроена довольно просто, так что какой-то рецепт такого рода для получения одного корня из другого заменой аргументов косинусов можно найти для любого кубического уравнения с квадратным дискриминантом)

наверное от группы можно было и плясать — перебирать элементы порядка 3 в Z/2×Z/6, для каждого варианта писать свои суммы, считать соотв. мин. многочлены, то-сё… не продумывал



group-telegram.com/compmathweekly/63
Create:
Last Update:

(продолжение, начало выше)

4.
итак, корни кубического уравнения выражаются через лямбды, и в нашем случае λ₁³=-7²(1+3ω)²

теорема Кронекера-Вебера (whatever it means) гарантирует, что λ₁ можно выразить через корни из единицы, но как конкретно это сделать?

выше обсуждалось, что если π=a+bω простое с нормой p, то кубическая сумма Гаусса по модулю p — это примерно кубический корень из pπ

спускаясь от общих разговоров к конкретным вычислениям: N(1+3ω)=7, мы хотели бы извлечь кубический корень из 7(1+3ω), попробуем взять эту самую сумму Гаусса:


zeta = exp(2*pi*I/7)
g = sum(omega**k * zeta**(3**k) for k in range(6))
print("-g^6 vs lambda1^3:",N(-g**6),N(lambda1**3))
print(“-g^2 vs lambda1:”,N(-g**2),N(lambda1))

(число 3 в определении g — это первообразный корень mod 7; отметим, что g — это, как и было обещано, линейная комбинация каких-то корней из единицы)

запустив программу можно увидеть, что g³=7(1+3ω) (могли бы получить сопряженное и/или какой-то знак), но -g² — не тот кубический корень, который нам нужен; нетрудно перебрать варианты, правильный ответ λ₁=-ωg²

l1 = -omega*g**2
print("l1 vs lambda1:",N(l1),N(lambda1))


5.
осталось превратить это в выражение для корней

по определению лямбд, θ₀=(λ₀+λ₁+λ₂)/3; в нашем случае λ₀=8, а λ₁ и λ₂ комплексно сопряжены, так что можно написать

t0 = (2*re(expand(l1))+8)/3
print("t0 vs theta0",N(t0),N(theta0))
print(t0)

так как всё уже выражено через корни из единицы, после взятия вещественной части sympy сразу даст ответ, записанный через косинусы:

-10*cos(2*pi/21)/3 - 4*cos(2*pi/7) - 2*cos(4*pi/21) - 4*cos(8*pi/21)/3 - 2*cos(10*pi/21) + 4*cos(pi/21)/3 + 8*cos(pi/7)/3 + 10*cos(5*pi/21)/3 + 8/3


6.
можно выразить и остальные корни

t0 = (2*re(expand(l1))+8)/3
t1 = (2*re(expand(l1*omega**2))+8)/3
t2 = (2*re(expand(l1*omega))+8)/3

как связаны получающиеся выражения?

вот они (слегка переписанные — в одинаковом порядке и т.п.):

t0 = 8/3
- (10/3)*(cos(2*pi/21) + cos(16*pi/21))
- (8/3)*cos(6*pi/7) - 4*cos(2*pi/7)
- 2*(cos(4*pi/21) + cos(10*pi/21))
- (4/3)*(cos(8*pi/21) + cos(20*pi/21))

t1 = 8/3
- (10/3)*(cos(4*pi/21) + cos(10*pi/21))
- (8/3)*cos(2*pi/7) - 4*cos(4*pi/7)
- 2*(cos(8*pi/21) + cos(20*pi/21))
- (4/3)*(cos(16*pi/21) + cos(2*pi/21))

t2 = 8/3
- (10/3)*(cos(8*pi/21) + cos(20*pi/21))
- (8/3)*cos(4*pi/7) - 4*cos(6*pi/7)
- 2*(cos(16*pi/21) + cos(2*pi/21))
- (4/3)*(cos(10*pi/21) + cos(4*pi/21))

— видно, что следующее выражение можно получить, увеличив в предыдущем все аргументы вдвое

нетрудно и без выписывания этих сумм понять, почему так должно быть: автоморфизм ζ→ζ², ω→ω² поля Q(ζ,ω) домножает g на кубический характер двойки mod 7, т.е. на ω², т.е. λ₁=-ωg²→-ω²(ω²g)²=λ₁/ω etc — то есть действительно сдвигает корни на один по циклу

(вообще группа Галуа циклотомического поля устроена довольно просто, так что какой-то рецепт такого рода для получения одного корня из другого заменой аргументов косинусов можно найти для любого кубического уравнения с квадратным дискриминантом)

наверное от группы можно было и плясать — перебирать элементы порядка 3 в Z/2×Z/6, для каждого варианта писать свои суммы, считать соотв. мин. многочлены, то-сё… не продумывал

BY Компьютерная математика Weekly


Warning: Undefined variable $i in /var/www/group-telegram/post.php on line 260

Share with your friend now:
group-telegram.com/compmathweekly/63

View MORE
Open in Telegram


Telegram | DID YOU KNOW?

Date: |

Stocks closed in the red Friday as investors weighed upbeat remarks from Russian President Vladimir Putin about diplomatic discussions with Ukraine against a weaker-than-expected print on U.S. consumer sentiment. Ukrainian President Volodymyr Zelensky said in a video message on Tuesday that Ukrainian forces "destroy the invaders wherever we can." There was another possible development: Reuters also reported that Ukraine said that Belarus could soon join the invasion of Ukraine. However, the AFP, citing a Pentagon official, said the U.S. hasn’t yet seen evidence that Belarusian troops are in Ukraine. The original Telegram channel has expanded into a web of accounts for different locations, including specific pages made for individual Russian cities. There's also an English-language website, which states it is owned by the people who run the Telegram channels. "He has to start being more proactive and to find a real solution to this situation, not stay in standby without interfering. It's a very irresponsible position from the owner of Telegram," she said.
from us


Telegram Компьютерная математика Weekly
FROM American