<jupyter_start><jupyter_text>$ \newcommand{\bra}[1]{\langle 1|} $$ \newcommand{\ket}[1]{|1\rangle} $$ \newcommand{\braket}[2]{\langle 1|2\rangle} $$ \newcommand{\dot}[2]{ 1 \cdot 2} $$ \newcommand{\biginner}[2]{\left\langle 1,2\right\rangle} $$ \newcommand{\mymatrix}[2]{\left( \begin{array}{1} 2\end{array} \right)} $$ \newcommand{\myvector}[1]{\mymatrix{c}{1}} $$ \newcommand{\myrvector}[1]{\mymatrix{r}{1}} $$ \newcommand{\mypar}[1]{\left( 1 \right)} $$ \newcommand{\mybigpar}[1]{ \Big( 1 \Big)} $$ \newcommand{\sqrttwo}{\frac{1}{\sqrt{2}}} $$ \newcommand{\dsqrttwo}{\dfrac{1}{\sqrt{2}}} $$ \newcommand{\onehalf}{\frac{1}{2}} $$ \newcommand{\donehalf}{\dfrac{1}{2}} $$ \newcommand{\hadamard}{ \mymatrix{rr}{ \sqrttwo & \sqrttwo \\ \sqrttwo & -\sqrttwo }} $$ \newcommand{\vzero}{\myvector{1\\0}} $$ \newcommand{\vone}{\myvector{0\\1}} $$ \newcommand{\stateplus}{\myvector{ \sqrttwo \\  \sqrttwo } } $$ \newcommand{\stateminus}{ \myrvector{ \sqrttwo \\ -\sqrttwo } } $$ \newcommand{\myarray}[2]{ \begin{array}{1}2\end{array}} $$ \newcommand{\X}{ \mymatrix{cc}{0 & 1 \\ 1 & 0}  } $$ \newcommand{\I}{ \mymatrix{rr}{1 & 0 \\ 0 & 1}  } $$ \newcommand{\Z}{ \mymatrix{rr}{1 & 0 \\ 0 & -1}  } $$ \newcommand{\Htwo}{ \mymatrix{rrrr}{ \frac{1}{2} & \frac{1}{2} & \frac{1}{2} & \frac{1}{2} \\ \frac{1}{2} & -\frac{1}{2} & \frac{1}{2} & -\frac{1}{2} \\ \frac{1}{2} & \frac{1}{2} & -\frac{1}{2} & -\frac{1}{2} \\ \frac{1}{2} & -\frac{1}{2} & -\frac{1}{2} & \frac{1}{2} } } $$ \newcommand{\CNOT}{ \mymatrix{cccc}{1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 1 \\ 0 & 0 & 1 & 0} } $$ \newcommand{\norm}[1]{ \left\lVert 1 \right\rVert } $$ \newcommand{\pstate}[1]{ \lceil \mspace{-1mu} 1 \mspace{-1.5mu} \rfloor } $$ \newcommand{\greenbit}[1] {\mathbf{{\color{green}1}}} $$ \newcommand{\bluebit}[1] {\mathbf{{\color{blue}1}}} $$ \newcommand{\redbit}[1] {\mathbf{{\color{red}1}}} $$ \newcommand{\brownbit}[1] {\mathbf{{\color{brown}1}}} $$ \newcommand{\blackbit}[1] {\mathbf{{\color{black}1}}} $  Отражения_подготовлено <NAME>_[](https://youtu.be/nzj7kw1Ycms) _Мы используем некоторые инструменты для рисования из python-библиотеки "matplotlib.pyplot". Посмотрите [Python: Рисование](../../materials/first_day/Python06_Drawing.ipynb)._ Мы начнем с самого базового отражения.  Оператор Z (Z-gate) Оператор тождественности $ I = \mymatrix{cc}{1 & 0 \\ 0 & 1} $ никак не влияет на вычисления.А что можно сказать про следующий оператор?$ Z = \Z $.Он очень похож на оператор тождественности.Рассмотрим квантовое состояние $ \ket{u} = \myvector{ \frac{3}{5} \\ \frac{4}{5} }  $.Мы вычислим новое квантовое состояние после применения $ Z $ к $ \ket{u} $:$ \ket{u'} = Z \ket{u} =  \Z  \myvector{ \frac{3}{5} \\ \frac{4}{5} } =  \myrvector{ \frac{3}{5} \\ -\frac{4}{5} } $.Давайте нарисуем оба состояния.<jupyter_code>%run quantum.py

draw_qubit()

draw_quantum_state(3/5,4/5,"u")

draw_quantum_state(3/5,-4/5,"u'")

show_plt()<jupyter_output><empty_output><jupyter_text>Когда мы применяем $ Z $ к состоянию $ \ket{u'} $, мы снова получим состояние $\ket{u}$: $  \Z \myrvector{ \frac{3}{5} \\ -\frac{4}{5} } =  \myvector{ \frac{3}{5} \\ \frac{4}{5} }  $.Как мы можем заметить, оператор $Z$ является отражением и его **линия отражения** это ось $x$.Отметим, что применение одного и того же отражения дважды не приводит ни к каким изменениям.  Задача 1 Создайте квантовую схему из 5 кубитов.Примените гейт Адамара (h-gate) к каждому кубиту.Примените гейт $Z$ (z-gate) к случайно выбранным кубитам. (т.e., $ mycircuit.z(qreg[i]) $)Примените гейт Адамара (h-gate) к каждому кубиту.Измерьте каждый кубит.Выполните вашу программу 1000 раз.Сравните результаты измерения кубитов, к которым был применен $Z$, с кубитами, к которым не был применен этот гейт.Повлиял ли оператор $Z$ на вывод?Почему?<jupyter_code># import all necessary objects and methods for quantum circuits
from qiskit import QuantumRegister, ClassicalRegister, QuantumCircuit, execute, Aer
# import randrange for random choices
from random import randrange

#
# your code is here
#<jupyter_output><empty_output><jupyter_text>[решение тут](Q48_Reflections_Solutions.ipynbtask1)  Оператор Адамара  Является ли оператор Адамара отражением? Если да, что относительно какой оси происходит отражение?Вспомним следующие переходы.$ H \ket{0} = \hadamard \vzero = \stateplus = \ket{+} ~~~$ and $~~~ H \ket{+} = \hadamard \stateplus = \vzero = \ket{0} $.$ H \ket{1} = \hadamard \vone = \stateminus = \ket{-} ~~~$ and $~~~ H \ket{-} = \hadamard \stateminus = \vone = \ket{1} $.<jupyter_code>%run quantum.py

draw_qubit()

sqrttwo=2**0.5

draw_quantum_state(1,0,"")

draw_quantum_state(1/sqrttwo,1/sqrttwo,"|+>")
%run quantum.py

draw_qubit()

sqrttwo=2**0.5

draw_quantum_state(0,1,"")

draw_quantum_state(1/sqrttwo,-1/sqrttwo,"|->")<jupyter_output><empty_output><jupyter_text>Оператор Адамара - геометрическая интерпретация  Оператор Адамара также является отражением и его линия отражения представлена ниже.Эта линия получается поворотом оси $x$ на $ \frac{\pi}{8} $ радиан против часовой стрелки.<jupyter_code>%run quantum.py

draw_qubit()

sqrttwo=2**0.5

draw_quantum_state(1,0,"")
draw_quantum_state(1/sqrttwo,1/sqrttwo,"|+>")

draw_quantum_state(0,1,"")
draw_quantum_state(1/sqrttwo,-1/sqrttwo,"|->")

# line of reflection for Hadamard
from matplotlib.pyplot import arrow
arrow(-1.109,-0.459,2.218,0.918,linestyle='dotted',color='red')

# drawing the angle with |0>-axis
from matplotlib.pyplot import gca, text
from matplotlib.patches import Arc
gca().add_patch( Arc((0,0),0.4,0.4,angle=0,theta1=0,theta2=22.5) )
text(0.09,0.015,'.',fontsize=30)
text(0.25,0.03,'\u03C0/8')
gca().add_patch( Arc((0,0),0.4,0.4,angle=0,theta1=22.5,theta2=45) )
text(0.075,0.065,'.',fontsize=30)
text(0.21,0.16,'\u03C0/8')
show_plt()<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.21246753246753247, 'fraction_numerical': 0.047445887445887444, 'mean_word_length': 4.82258064516129, 'pattern_counts': {'":': 0, '<': 18, '<?xml version=': 0, '>': 23, 'https://': 1, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '4', 'dir': 'jupyter-structured-clean-dedup', 'id': '551877', 'license': 'Apache-2.0', 'n_tokens_mistral': 2534, 'n_tokens_neox': 2536, 'n_words': 457, 'path': 'materials/second_day/Q48_Reflections.ipynb', 'repo_name': 'QRussia/bronze-qiskit-russian-edition', 'size': '5787'}