4.1

Задачи на программирование

[10/100%]
Показать
LaTeX
Задача 4.101

Пусть P={P0,P2,…,Pk−1}P = \left\{ P_0, P_2, \ldots , P_{k-1} \right\} — полугруппа перестановок на множестве Ω={0,1,…,n−1}\Omega = \left\{ 0,1,\ldots ,n-1 \right\}. Полугруппа замкнута относительно групповой операции, но обратный элемент и единица не обязаны принадлежать множеству. Множество транзитивности (или орбита), содержащее i∈Ωi \in \Omega, — это множество образов под действием произведений элементов PP. Напишите программу на C++, которая находит орбиты по заданным PP и Ω\Omega.

?
Задача 4.102

Пусть Bn\mathcal{B}_n обозначает группу кос на n−1n-1 нитях. Bn\mathcal{B}_n порождается элементарными косами (образующими) {b1,b2,…,bn−1}\left\{ b_1, b_2, \ldots , b_{n-1} \right\} с косичными соотношениями

bjbj+1bj=bj+1bjbj+1,1≤j<n−1, b_j b_{j+1} b_j = b_{j+1} b_j b_{j+1}, \quad 1 \leq j < n-1, bjbk=bkbj,∣j−k∣≥2. b_j b_k = b_k b_j, \quad \left|j-k\right| \geq 2 .

На самом деле лучше было бы писать b12,b23,…,bn−1nb_{12}, b_{23}, \ldots , b_{n-1n} вместо b1,b2,…,bn−1b_1, b_2, \ldots , b_{n-1}. Пусть {e→1,e→2,…,e→n}\left\{ \overrightarrow {e}_1, \overrightarrow {e}_2, \ldots , \overrightarrow {e}_n \right\} обозначает стандартный базис в Rn\mathbb {R}^{n}. Тогда u→∈Rn\overrightarrow {u} \in \mathbb {R}^{n} можно записать как

u→=∑k=1ncke→k,c1,c2,…,cn∈R. \overrightarrow {u} = \sum _{k=1}^{n} c_k \overrightarrow {e}_k, \quad c_1, c_2, \ldots , c_n \in \mathbb {R} .

Рассмотрим операторы BjB_j (α,β,γ,δ∈R\alpha ,\beta ,\gamma ,\delta \in \mathbb {R} и α,γ≠0\alpha ,\gamma \neq 0), определённые как

Bju→:=c1e→1+…+(αcj+1+β)e→j+(γcj+1+δ)e→j+1+…+cne→n B_j \overrightarrow {u} := c_1\overrightarrow {e}_1 + \ldots + (\alpha c_{j+1}+\beta )\overrightarrow {e}_j + (\gamma c_{j+1}+\delta )\overrightarrow {e}_{j+1} + \ldots + c_n\overrightarrow {e}_n

и соответствующую обратную операцию

Bj−1u→:=c1e→1+…+1γ(cj+1−δ)e→j+1α(γcj−β)e→j+1+…+cne→n. B_j^{-1} \overrightarrow {u} := c_1\overrightarrow {e}_1 + \ldots + \frac{1}{\gamma }(c_{j+1}-\delta )\overrightarrow {e}_j + \frac{1}{\alpha }(\gamma c_j-\beta )\overrightarrow {e}_{j+1} + \ldots + c_n\overrightarrow {e}_n .

Используя компьютерную алгебру, покажите, что B1,B2,…,Bn−1B_1, B_2, \ldots , B_{n-1} удовлетворяют косичному условию

BjBj+1Bju→=Bj+1BjBj+1u→ B_j B_{j+1} B_j \overrightarrow {u} = B_{j+1} B_j B_{j+1} \overrightarrow {u}

если

γβ+δ=αδ+β. \gamma \beta + \delta = \alpha \delta + \beta .
?
Задача 4.103

Напишите программу на C++, которая генерирует все матрицы перестановок n×nn \times n. В main используем эти матрицы, чтобы найти матрицу перестановки, удовлетворяющую

P(a0000a010b00b0100b10b110a1000a11)PT=(a00a01a10a11)⊕(b00b01b10b11) P \begin{pmatrix} a_{00} & 0 & 0 & a_{01} \\ 0 & b_{00} & b_{01} & 0 \\ 0 & b_{10} & b_{11} & 0 \\ a_{10} & 0 & 0 & a_{11} \end{pmatrix} P^T = \begin{pmatrix} a_{00} & a_{01} \\ a_{10} & a_{11} \end{pmatrix} \oplus \begin{pmatrix} b_{00} & b_{01} \\ b_{10} & b_{11} \end{pmatrix}

где ⊕\oplus — прямая сумма.

?
Задача 4.104

Пусть nn — положительное целое число. Число неприводимых представлений группы перестановок SnS_n в точности равно числу разбиений λj\lambda_j числа nn

n=λ1+λ2+⋯+λn,λ1≥λ2≥⋯≥λn≥0. n = \lambda _1+\lambda _2+\cdots +\lambda _n, \quad \lambda _1 \geq \lambda _2 \geq \cdots \geq \lambda _n \geq 0 .

Например, для n=4n=4 имеем 5 разбиений 4000 3100 2200 2110 1111 Пусть k,nk, n — положительные целые числа. Число разбиений p(1,n)p(1,n) можно найти по рекурсии

p(k,n)={0если k>n1если k=np(k+1,n)+p(k,n−k)иначе p(k,n) = \begin{cases} 0 & \text{если } k > n \\ 1 & \text{если } k = n \\ p(k+1,n)+p(k,n-k) & \text{иначе} \end{cases}
?
(i)

Приведите реализацию этой рекурсии на C++.

(ii)

Приведите рекурсивную реализацию для нахождения разбиений.

Задача 4.105

Ряд гамильтоновых систем можно записать в виде

dLdt=[A,L](t) \frac{dL}{dt} = [A,L](t)

где LL и AA — зависящие от времени матрицы n×nn \times n. Это называется представлением Лакса гамильтоновой системы. Находим, что

dLkdt=[A,Lk](t) \frac{dL^k}{dt} = [A,L^k](t)

и что \tr[Lk]\tr [L^k] (k=1,2,…k=1,2,\ldots) являются первыми интегралами. Рассмотрим функцию Гамильтона (цепочка Тоды)

H(p→,q→)=12(p12+p22+p32)+exp⁡(q1−q2)+exp⁡(q2−q3)+exp⁡(q3−q1). H(\overrightarrow {p},\overrightarrow {q}) = \frac{1}{2}(p_1^2+p_2^2+p_3^2) + \exp (q_1-q_2) + \exp (q_2-q_3) + \exp (q_3-q_1) .

Вводя величины

aj:=12exp⁡(12(qj−qj+1)),bj:=12pj a_j := \frac{1}{2}\exp \left( \frac{1}{2}(q_j-q_{j+1}) \right), \quad b_j := \frac{1}{2}p_j

и циклические граничные условия (т.е. q4≡q1q_4 \equiv q_1), находим, что уравнения движения Гамильтона принимают вид (с b3=0b_3 = 0)

dajdt=aj(bj−bj+1),db1dt=−2a12,db2dt=2(a12−a22),db3dt=2a22 \frac{da_j}{dt} = a_j(b_j-b_{j+1}), \quad \frac{db_1}{dt} = -2a_1^2, \quad \frac{db_2}{dt} = 2(a_1^2-a_2^2), \quad \frac{db_3}{dt} = 2a_2^2

где j=1,2j=1,2. Вводя матрицы (пара Лакса)

L:=(b1a10a1b2a20a2b3),A:=(0−a10a10−a20a20) L := \begin{pmatrix} b_1 & a_1 & 0 \\ a_1 & b_2 & a_2 \\ 0 & a_2 & b_3 \end{pmatrix}, \quad A := \begin{pmatrix} 0 & -a_1 & 0 \\ a_1 & 0 & -a_2 \\ 0 & a_2 & 0 \end{pmatrix}

уравнения движения можно записать как представление Лакса. Из LL находим первый интеграл как \tr[Ln]\tr [L^n], где n=1,2,…n = 1,2,\ldots, где \tr\tr обозначает след. Получаем

\trL=b1+b2+b3,\tr[L2]=b12+b22+b32+2a12+2a22. \tr L = b_1+b_2+b_3, \quad \tr [L^2] = b_1^2+b_2^2+b_3^2+2a_1^2+2a_2^2 .

Напишите программу на SymbolicC++ lax.cpp, которая находит [L,A][L,A] и показывает, что \tr(L)\tr (L), \tr(L2)\tr (L^2) и определитель LL являются первыми интегралами.

?
Задача 4.106

nn-кубитная группа Паули определяется как

Pn:={I2,σx,σy,σz}⊗n⊗{±1,±i}(1) \mathcal{P}_n := \left\{ I_2, \sigma _x, \sigma _y, \sigma _z \right\} ^{\otimes n} \otimes \left\{ \pm 1, \pm i \right\} \tag {1}

где σx,σy,σz\sigma_x, \sigma_y, \sigma_z — матрицы Паули 2×22\times 2, а I2I_2 — единичная матрица 2×22\times 2. Размерность рассматриваемого гильбертова пространства равна dim⁡H=2n\dim \mathcal{H} = 2^n. Таким образом каждый элемент группы Паули Pn\mathcal{P}_n есть (с точностью до общей фазы ±1,±i\pm 1,\pm i) произведение Кронекера матриц Паули и единичных матриц 2×22\times 2, действующих на nn кубитах. Порядок группы Паули равен 22n+22^{2n+2}. Таким образом при n=1n=1 порядок равен 16. При n=2n=2 порядок равен 64. Напишите программу на SymbolicC++, реализующую группу Паули для n=2n=2.

?
Задача 4.107

Пусть b1†,b2†b_1^\dagger , b_2^\dagger — бозонные операторы рождения, а II — тождественный оператор. Полупростая алгебра Ли su(1,1)\mathfrak {su}(1,1) порождается как

K+:=b1†b2†,K−:=b1b2,K0:=12(b1†b1+b2†b2+I) K_+ := b_1^\dagger b_2^\dagger , \quad K_- := b_1b_2, \quad K_0 := \frac{1}{2}(b_1^\dagger b_1+b_2^\dagger b_2+I)

с коммутационными соотношениями

[K0,K+]=K+,[K0,K−]=−K−,[K−,K+]=2K0. [K_0,K_+] = K_+, \quad [K_0,K_-] = -K_-, \quad [K_-,K_+] = 2K_0 .

Используем порядок K+,K−,K0K_+, K_-, K_0 для базиса. Напишите программу компьютерной алгебры, которая находит присоединённое представление этой алгебры Ли.

?
Задача 4.108

Исключительная алгебра Ли g2\mathfrak {g}_2 имеет ранг 2 и размерность 14. Базис задаётся как

H1,H2,X1,X2,X3,X4,X5,X6,Y1,Y2,Y3,Y4,Y5,Y6 H_1, H_2, X_1, X_2, X_3, X_4, X_5, X_6, Y_1, Y_2, Y_3, Y_4, Y_5, Y_6

с коммутационными соотношениями [H1,H2]=0[H_1,H_2] = 0 и

H1=[X1,Y1],H2=[X2,Y2],[H1,X1]=2X1,[H2,X2]=2X2. H_1 = [X_1,Y_1], \quad H_2 = [X_2,Y_2], \quad [H_1,X_1] = 2X_1, \quad [H_2,X_2] = 2X_2 .

Таким образом

[H1,Y1]=−2Y1,[H2,Y2]=−2Y2. [H_1,Y_1] = -2Y_1, \quad [H_2,Y_2] = -2Y_2 .

Таким образом H1,X1,Y1H_1, X_1, Y_1 и H2,X2,Y2H_2, X_2, Y_2 каждая натягивают подалгебру Ли sl(2,C)\mathfrak {sl}(2,\mathbb {C}) алгебры g2\mathfrak {g}_2. Таблица коммутаторов для g2\mathfrak {g}_2 (таблица 4.1) такова, где элемент (i,j)(i,j) даёт [строкаi,столбецj][\text{строка}_i, \text{столбец}_j] при i<ji < j и оставлен пустым (не является частью таблицы) в противном случае:

H2X1Y1X2Y2X3Y3X4Y4X5Y5X6Y6H102X1−2Y1−3X23Y2−X3Y3X4−Y43X5−3Y500H2−X1Y12X2−2Y2X3−Y300−X5Y5X6−Y6X1H1X302X4−3Y2−3X5−2Y30Y400Y10−Y33X2−2Y42X33Y5−X4000X2H20Y100−X600Y5Y2−X10000Y6−X50X3H1+3H2−3X62Y1000Y4Y3−2X13Y600−X40X42H1+3H20−Y10Y3Y4X10X30X5H1+H20−Y2Y5X20X6H1+2H2 \begin{array}{c|ccccccccccccc}& H_2 & X_1 & Y_1 & X_2 & Y_2 & X_3 & Y_3 & X_4 & Y_4 & X_5 & Y_5 & X_6 & Y_6 \\ \hline H_1 & 0 & 2X_1 & -2Y_1 & -3X_2 & 3Y_2 & -X_3 & Y_3 & X_4 & -Y_4 & 3X_5 & -3Y_5 & 0 & 0 \\ H_2 & & -X_1 & Y_1 & 2X_2 & -2Y_2 & X_3 & -Y_3 & 0 & 0 & -X_5 & Y_5 & X_6 & -Y_6 \\ X_1 & & & H_1 & X_3 & 0 & 2X_4 & -3Y_2 & -3X_5 & -2Y_3 & 0 & Y_4 & 0 & 0 \\ Y_1 & & & & 0 & -Y_3 & 3X_2 & -2Y_4 & 2X_3 & 3Y_5 & -X_4 & 0 & 0 & 0 \\ X_2 & & & & & H_2 & 0 & Y_1 & 0 & 0 & -X_6 & 0 & 0 & Y_5 \\ Y_2 & & & & & & -X_1 & 0 & 0 & 0 & 0 & Y_6 & -X_5 & 0 \\ X_3 & & & & & & & H_1+3H_2 & -3X_6 & 2Y_1 & 0 & 0 & 0 & Y_4 \\ Y_3 & & & & & & & & -2X_1 & 3Y_6 & 0 & 0 & -X_4 & 0 \\ X_4 & & & & & & & & & 2H_1+3H_2 & 0 & -Y_1 & 0 & Y_3 \\ Y_4 & & & & & & & & & & X_1 & 0 & X_3 & 0 \\ X_5 & & & & & & & & & & & H_1+H_2 & 0 & -Y_2 \\ Y_5 & & & & & & & & & & & & X_2 & 0 \\ X_6 & & & & & & & & & & & & & H_1+2H_2 \end{array}

Заметим, что sl(3,C)\mathfrak {sl}(3,\mathbb {C}) — подалгебра Ли алгебры g2\mathfrak {g}_2. Напишите программу на SymbolicC++, которая находит присоединённое представление.

?
Задача 4.109

Пусть b1,b2,b3b_1, b_2, b_3 — бозонные операторы уничтожения. Покажите, что

H1=b1†b1−b2†b2,H2=b2†b2−b3†b3 H_1 = b_1^\dagger b_1 - b_2^\dagger b_2, \quad H_2 = b_2^\dagger b_2 - b_3^\dagger b_3 E12=b1†b2,E23=b2†b3,E13=b1†b3 E_{12} = b_1^\dagger b_2, \quad E_{23} = b_2^\dagger b_3, \quad E_{13} = b_1^\dagger b_3 E21=b2†b1,E32=b3†b2,E31=b3†b1 E_{21} = b_2^\dagger b_1, \quad E_{32} = b_3^\dagger b_2, \quad E_{31} = b_3^\dagger b_1

являются представлением алгебры Ли su(3)\mathfrak {su}(3). Напишите программу на SymbolicC++, реализующую это представление.

?
Задача 4.110

Рассмотрим фундаментальное представление супералгебры su(2∣1)\mathfrak {su}(2|1). Пусть σ1,σ2,σ3\sigma_1, \sigma_2, \sigma_3 — спиновые матрицы Паули. Пусть ⊕\oplus обозначает прямую сумму. Её образующие задаются матрицами 3×33 \times 3

L1=12σ1⊕(0),L2=12σ2⊕(0),L3=12σ3⊕(0),L4=12(100010002) L_1 = \frac{1}{2}\sigma _1\oplus (0), \quad L_2 = \frac{1}{2}\sigma _2\oplus (0), \quad L_3 = \frac{1}{2}\sigma _3\oplus (0), \quad L_4 = \frac{1}{2}\begin{pmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 2 \end{pmatrix} V1=12(001000100),V2=12(00i000i00) V_1 = \frac{1}{2}\begin{pmatrix} 0 & 0 & 1 \\ 0 & 0 & 0 \\ 1 & 0 & 0 \end{pmatrix}, \quad V_2 = \frac{1}{2}\begin{pmatrix} 0 & 0 & i \\ 0 & 0 & 0 \\ i & 0 & 0 \end{pmatrix} W1=12(000001010),W2=12(00000−i0i0). W_1 = \frac{1}{2}\begin{pmatrix} 0 & 0 & 0 \\ 0 & 0 & 1 \\ 0 & 1 & 0 \end{pmatrix}, \quad W_2 = \frac{1}{2}\begin{pmatrix} 0 & 0 & 0 \\ 0 & 0 & -i \\ 0 & i & 0 \end{pmatrix} .

Пусть

L±=L1±iL2,V±=V1±iV2,W±=W1±iW2. L_\pm = L_1\pm iL_2, \quad V_\pm = V_1\pm iV_2, \quad W_\pm = W_1\pm iW_2 .

Здесь L1,L2,L3,L4L_1, L_2, L_3, L_4 — образующие, натягивающие подалгебру Ли su(2)⊗u(1)\mathfrak {su}(2)\otimes \mathfrak {u}(1) алгебры su(2∣1)\mathfrak {su}(2|1), а V1,V2,W1,W2V_1, V_2, W_1, W_2 — суперобразующие. Пусть c†,cc^\dagger , c — фермионные операторы рождения и уничтожения. Пусть b1†,b2†b_1^\dagger , b_2^\dagger — бозонные операторы рождения. Бозон-фермионная реализация задаётся как

L+=b1†b2⊗IF,L−=b2†b1⊗IF L_+ = b_1^\dagger b_2 \otimes I_F, \quad L_- = b_2^\dagger b_1 \otimes I_F L3=12(b1†b1⊗IF−b2†b2⊗IF),L4=12(b1†b1⊗IF+b2†b2⊗IF)+IB⊗c†c L_3 = \frac{1}{2}(b_1^\dagger b_1 \otimes I_F - b_2^\dagger b_2 \otimes I_F), \quad L_4 = \frac{1}{2}(b_1^\dagger b_1 \otimes I_F + b_2^\dagger b_2 \otimes I_F) + I_B\otimes c^\dagger c V+=b1†⊗c,V−=b1⊗c†,W+=b2†⊗c,W−=b2⊗c†. V_+ = b_1^\dagger \otimes c, \quad V_- = b_1 \otimes c^\dagger , \quad W_+ = b_2^\dagger \otimes c, \quad W_- = b_2 \otimes c^\dagger .

Покажите, что представления изоморфны. Приведите реализацию на SymbolicC++ для бозон-фермионной реализации.

?