提交 28845151 编写于 作者: Q Quleaf

update the api-doc and some details

上级 195b41b7
......@@ -42,7 +42,7 @@
"## 量子编码及求解\n",
"我们通过变换 $x_i \\mapsto \\frac{I-Z_i}{2}$ 将损失函数转为一个哈密顿量,从而完成投资组合优化问题的编码。这里$Z_i=I \\otimes I \\otimes \\ldots \\otimes Z \\otimes \\ldots \\otimes I$,即 $Z_{i}$ 是作用在第$i$ 个比特上的Pauli算符。我们用这个映射将 $C_x$ 转化成量子比特数为 $n$ 的系统的哈密顿矩阵 $H_C$,其基态即为投资组合优化问题的最优解。为了寻找这一哈密顿量的基态,我们使用变分量子算法的思想,通过一个参数化量子线路,生成一个试验态 $|\\theta^* \\rangle$。我们通过量子线路获得哈密顿量在该试验态上的期望值,然后,通过经典的梯度下降算法调节参数化量子线路的参数,使期望值向基态能量靠拢。重复若干次之后,我们找到最优解:\n",
"$$\n",
"|\\theta^* \\rangle = \\argmin_\\theta L(\\vec{\\theta})=\\argmin_\\theta \\left\\langle\\vec{\\theta}\\left|H_C\\right| \\vec{\\theta}\\right\\rangle.\n",
"|\\theta^* \\rangle = \\arg\\min_\\theta L(\\vec{\\theta})=\\arg\\min_\\theta \\left\\langle\\vec{\\theta}\\left|H_C\\right| \\vec{\\theta}\\right\\rangle.\n",
"$$\n",
"最后,我们读出测量结果的概率分布:$p(z)=\\left|\\left\\langle z \\mid \\vec{\\theta}^*\\right\\rangle\\right|^2$,即由量子编码还原出原先比特串的信息。某个比特串出现的概率越大,意味着其是投资组合优化问题最优解的可能性越大。"
]
......@@ -225,7 +225,7 @@
],
"metadata": {
"kernelspec": {
"display_name": "Python 3.8.13 ('pq')",
"display_name": "pq-dev",
"language": "python",
"name": "python3"
},
......@@ -239,12 +239,12 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.13"
"version": "3.8.15 (default, Nov 10 2022, 13:17:42) \n[Clang 14.0.6 ]"
},
"orig_nbformat": 4,
"vscode": {
"interpreter": {
"hash": "d3caffbb123012c2d0622db402df9f37d80adc57c1cef1fdb856f61446d88d0a"
"hash": "5fea01cac43c34394d065c23bb8c1e536fdb97a765a18633fd0c4eb359001810"
}
}
},
......
......@@ -47,7 +47,7 @@
"$\n",
"where $Z_i=I \\otimes I \\otimes \\ldots \\otimes Z \\otimes \\ldots \\otimes I$, i.e., $Z_{i}$ is the Pauli operator acting solely on the $i$-th qubit. Thus using the above mapping, we can transform the cost function $C_x$ into a Hamiltonian $H_C$ for the system of $n$ qubits, the ground state of which represents the solution of the portfolio optimization problem. In order to find the ground state, we use the idea of variational quantum algorithms. We implement a parametric quantum circuit, and use it to generate a trial state $|\\theta^* \\rangle$. We use the quantum circuit to measure the expectation value of the Hamiltonian on this state. Then, classical gradient descent algorithm is implemented to adjust the parameters of the parametric circuit, where the expectation value evolves towards the ground state energy. After some iterations, we arrive at the optimal value\n",
"$$\n",
"|\\theta^* \\rangle = \\argmin_\\theta L(\\vec{\\theta})=\\argmin_\\theta \\left\\langle\\vec{\\theta}\\left|H_C\\right| \\vec{\\theta}\\right\\rangle.\n",
"|\\theta^* \\rangle = \\arg\\min_\\theta L(\\vec{\\theta})=\\arg\\min_\\theta \\left\\langle\\vec{\\theta}\\left|H_C\\right| \\vec{\\theta}\\right\\rangle.\n",
"$$\n",
"\n",
"Finally, we read out the probability distribution from the measurement result (i.e. decoding the quantum problem to give information about the original bit string)\n",
......@@ -238,7 +238,7 @@
],
"metadata": {
"kernelspec": {
"display_name": "Python 3.8.13 ('pq')",
"display_name": "pq-dev",
"language": "python",
"name": "python3"
},
......@@ -252,12 +252,12 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.13"
"version": "3.8.15 (default, Nov 10 2022, 13:17:42) \n[Clang 14.0.6 ]"
},
"orig_nbformat": 4,
"vscode": {
"interpreter": {
"hash": "d3caffbb123012c2d0622db402df9f37d80adc57c1cef1fdb856f61446d88d0a"
"hash": "5fea01cac43c34394d065c23bb8c1e536fdb97a765a18633fd0c4eb359001810"
}
}
},
......
......@@ -69,1461 +69,10 @@
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"327.0085 I\n",
"-47.5 Z1, Z3\n",
"65.0 Z1, Z5\n",
"-50.0 Z1, Z7\n",
"52.5 Z1, Z9\n",
"-47.5 Z0, Z2\n",
"65.0 Z0, Z4\n",
"-50.0 Z0, Z6\n",
"52.5 Z0, Z8\n",
"-47.5 Z0, Z1, Z2, Z3\n",
"65.0 Z0, Z1, Z4, Z5\n",
"-50.0 Z0, Z1, Z6, Z7\n",
"52.5 Z0, Z1, Z8, Z9\n",
"-65.0 Z3, Z5\n",
"92.5 Z3, Z7\n",
"-60.0 Z3, Z9\n",
"-65.0 Z2, Z4\n",
"92.5 Z2, Z6\n",
"-60.0 Z2, Z8\n",
"-65.0 Z2, Z3, Z4, Z5\n",
"92.5 Z2, Z3, Z6, Z7\n",
"-60.0 Z2, Z3, Z8, Z9\n",
"-72.5 Z5, Z7\n",
"92.5 Z5, Z9\n",
"-72.5 Z4, Z6\n",
"92.5 Z4, Z8\n",
"-72.5 Z4, Z5, Z6, Z7\n",
"92.5 Z4, Z5, Z8, Z9\n",
"-65.0 Z7, Z9\n",
"-65.0 Z6, Z8\n",
"-65.0 Z6, Z7, Z8, Z9\n",
"-157.168 Z12\n",
"30.0 Z1, Z3, Z12\n",
"-40.0 Z1, Z5, Z12\n",
"30.0 Z1, Z7, Z12\n",
"-27.5 Z1, Z9, Z12\n",
"30.0 Z0, Z2, Z12\n",
"-40.0 Z0, Z4, Z12\n",
"30.0 Z0, Z6, Z12\n",
"-27.5 Z0, Z8, Z12\n",
"30.0 Z0, Z1, Z2, Z3, Z12\n",
"-40.0 Z0, Z1, Z4, Z5, Z12\n",
"30.0 Z0, Z1, Z6, Z7, Z12\n",
"-27.5 Z0, Z1, Z8, Z9, Z12\n",
"37.5 Z3, Z5, Z12\n",
"-52.5 Z3, Z7, Z12\n",
"30.0 Z3, Z9, Z12\n",
"37.5 Z2, Z4, Z12\n",
"-52.5 Z2, Z6, Z12\n",
"30.0 Z2, Z8, Z12\n",
"37.5 Z2, Z3, Z4, Z5, Z12\n",
"-52.5 Z2, Z3, Z6, Z7, Z12\n",
"30.0 Z2, Z3, Z8, Z9, Z12\n",
"37.5 Z5, Z7, Z12\n",
"-40.0 Z5, Z9, Z12\n",
"37.5 Z4, Z6, Z12\n",
"-40.0 Z4, Z8, Z12\n",
"37.5 Z4, Z5, Z6, Z7, Z12\n",
"-40.0 Z4, Z5, Z8, Z9, Z12\n",
"30.0 Z7, Z9, Z12\n",
"30.0 Z6, Z8, Z12\n",
"30.0 Z6, Z7, Z8, Z9, Z12\n",
"-12.5 Z2, Z3, Z5, Z6\n",
"-10.0 Z2, Z3, Z5, Z8\n",
"-12.5 Z2, Z5, Z6, Z7\n",
"-10.0 Z2, Z5, Z8, Z9\n",
"-12.5 Z3, Z4, Z5, Z6\n",
"-10.0 Z3, Z4, Z5, Z8\n",
"-12.5 Z3, Z4, Z6, Z7\n",
"-10.0 Z3, Z4, Z8, Z9\n",
"30.0 Z3, Z5, Z7, Z9\n",
"10.0 Z3, Z5, Z6, Z8\n",
"10.0 Z3, Z5, Z6, Z7, Z8, Z9\n",
"-12.5 Z2, Z3, Z4, Z7\n",
"-10.0 Z2, Z3, Z7, Z8\n",
"-12.5 Z2, Z4, Z5, Z7\n",
"-10.0 Z2, Z7, Z8, Z9\n",
"10.0 Z3, Z4, Z7, Z8\n",
"10.0 Z3, Z4, Z5, Z7, Z8, Z9\n",
"-10.0 Z3, Z6, Z7, Z8\n",
"-10.0 Z3, Z6, Z8, Z9\n",
"-10.0 Z2, Z3, Z4, Z9\n",
"-10.0 Z2, Z3, Z6, Z9\n",
"-10.0 Z2, Z4, Z5, Z9\n",
"-10.0 Z2, Z6, Z7, Z9\n",
"10.0 Z3, Z4, Z6, Z9\n",
"10.0 Z3, Z4, Z5, Z6, Z7, Z9\n",
"10.0 Z2, Z4, Z7, Z9\n",
"30.0 Z2, Z4, Z6, Z8\n",
"10.0 Z2, Z4, Z6, Z7, Z8, Z9\n",
"10.0 Z2, Z5, Z6, Z9\n",
"10.0 Z2, Z4, Z5, Z6, Z8, Z9\n",
"10.0 Z2, Z5, Z7, Z8\n",
"10.0 Z2, Z4, Z5, Z6, Z7, Z8\n",
"10.0 Z2, Z3, Z4, Z5, Z7, Z9\n",
"10.0 Z2, Z3, Z4, Z5, Z6, Z8\n",
"30.0 Z2, Z3, Z4, Z5, Z6, Z7, Z8, Z9\n",
"10.0 Z2, Z3, Z5, Z6, Z7, Z9\n",
"10.0 Z2, Z3, Z4, Z6, Z7, Z8\n",
"10.0 Z2, Z3, Z5, Z7, Z8, Z9\n",
"10.0 Z2, Z3, Z4, Z6, Z8, Z9\n",
"-12.5 Z4, Z5, Z7, Z8\n",
"-12.5 Z4, Z7, Z8, Z9\n",
"-12.5 Z5, Z6, Z7, Z8\n",
"-12.5 Z5, Z6, Z8, Z9\n",
"-12.5 Z4, Z5, Z6, Z9\n",
"-12.5 Z4, Z6, Z7, Z9\n",
"7.5 Z2, Z3, Z5, Z6, Z12\n",
"5.0 Z2, Z3, Z5, Z8, Z12\n",
"7.5 Z2, Z5, Z6, Z7, Z12\n",
"5.0 Z2, Z5, Z8, Z9, Z12\n",
"7.5 Z3, Z4, Z5, Z6, Z12\n",
"5.0 Z3, Z4, Z5, Z8, Z12\n",
"7.5 Z3, Z4, Z6, Z7, Z12\n",
"5.0 Z3, Z4, Z8, Z9, Z12\n",
"-15.0 Z3, Z5, Z7, Z9, Z12\n",
"-5.0 Z3, Z5, Z6, Z8, Z12\n",
"-5.0 Z3, Z5, Z6, Z7, Z8, Z9, Z12\n",
"7.5 Z2, Z3, Z4, Z7, Z12\n",
"5.0 Z2, Z3, Z7, Z8, Z12\n",
"7.5 Z2, Z4, Z5, Z7, Z12\n",
"5.0 Z2, Z7, Z8, Z9, Z12\n",
"-5.0 Z3, Z4, Z7, Z8, Z12\n",
"-5.0 Z3, Z4, Z5, Z7, Z8, Z9, Z12\n",
"5.0 Z3, Z6, Z7, Z8, Z12\n",
"5.0 Z3, Z6, Z8, Z9, Z12\n",
"5.0 Z2, Z3, Z4, Z9, Z12\n",
"5.0 Z2, Z3, Z6, Z9, Z12\n",
"5.0 Z2, Z4, Z5, Z9, Z12\n",
"5.0 Z2, Z6, Z7, Z9, Z12\n",
"-5.0 Z3, Z4, Z6, Z9, Z12\n",
"-5.0 Z3, Z4, Z5, Z6, Z7, Z9, Z12\n",
"-5.0 Z2, Z4, Z7, Z9, Z12\n",
"-15.0 Z2, Z4, Z6, Z8, Z12\n",
"-5.0 Z2, Z4, Z6, Z7, Z8, Z9, Z12\n",
"-5.0 Z2, Z5, Z6, Z9, Z12\n",
"-5.0 Z2, Z4, Z5, Z6, Z8, Z9, Z12\n",
"-5.0 Z2, Z5, Z7, Z8, Z12\n",
"-5.0 Z2, Z4, Z5, Z6, Z7, Z8, Z12\n",
"-5.0 Z2, Z3, Z4, Z5, Z7, Z9, Z12\n",
"-5.0 Z2, Z3, Z4, Z5, Z6, Z8, Z12\n",
"-15.0 Z2, Z3, Z4, Z5, Z6, Z7, Z8, Z9, Z12\n",
"-5.0 Z2, Z3, Z5, Z6, Z7, Z9, Z12\n",
"-5.0 Z2, Z3, Z4, Z6, Z7, Z8, Z12\n",
"-5.0 Z2, Z3, Z5, Z7, Z8, Z9, Z12\n",
"-5.0 Z2, Z3, Z4, Z6, Z8, Z9, Z12\n",
"5.0 Z4, Z5, Z7, Z8, Z12\n",
"5.0 Z4, Z7, Z8, Z9, Z12\n",
"5.0 Z5, Z6, Z7, Z8, Z12\n",
"5.0 Z5, Z6, Z8, Z9, Z12\n",
"5.0 Z4, Z5, Z6, Z9, Z12\n",
"5.0 Z4, Z6, Z7, Z9, Z12\n",
"-7.5 Z0, Z1, Z3, Z4\n",
"-7.5 Z0, Z1, Z3, Z6\n",
"-7.5 Z0, Z3, Z4, Z5\n",
"-7.5 Z0, Z3, Z6, Z7\n",
"-7.5 Z1, Z2, Z3, Z4\n",
"-7.5 Z1, Z2, Z3, Z6\n",
"-7.5 Z1, Z2, Z4, Z5\n",
"-7.5 Z1, Z2, Z6, Z7\n",
"22.5 Z1, Z3, Z5, Z7\n",
"7.5 Z1, Z3, Z4, Z6\n",
"7.5 Z1, Z3, Z4, Z5, Z6, Z7\n",
"-7.5 Z0, Z1, Z2, Z5\n",
"-7.5 Z0, Z1, Z5, Z6\n",
"-7.5 Z0, Z2, Z3, Z5\n",
"-7.5 Z0, Z5, Z6, Z7\n",
"7.5 Z1, Z2, Z5, Z6\n",
"7.5 Z1, Z2, Z3, Z5, Z6, Z7\n",
"-7.5 Z1, Z4, Z5, Z6\n",
"-7.5 Z1, Z4, Z6, Z7\n",
"-7.5 Z0, Z1, Z2, Z7\n",
"-7.5 Z0, Z1, Z4, Z7\n",
"-7.5 Z0, Z2, Z3, Z7\n",
"-7.5 Z0, Z4, Z5, Z7\n",
"7.5 Z1, Z2, Z4, Z7\n",
"7.5 Z1, Z2, Z3, Z4, Z5, Z7\n",
"7.5 Z0, Z2, Z5, Z7\n",
"22.5 Z0, Z2, Z4, Z6\n",
"7.5 Z0, Z2, Z4, Z5, Z6, Z7\n",
"7.5 Z0, Z3, Z4, Z7\n",
"7.5 Z0, Z2, Z3, Z4, Z6, Z7\n",
"7.5 Z0, Z3, Z5, Z6\n",
"7.5 Z0, Z2, Z3, Z4, Z5, Z6\n",
"7.5 Z0, Z1, Z2, Z3, Z5, Z7\n",
"7.5 Z0, Z1, Z2, Z3, Z4, Z6\n",
"22.5 Z0, Z1, Z2, Z3, Z4, Z5, Z6, Z7\n",
"7.5 Z0, Z1, Z3, Z4, Z5, Z7\n",
"7.5 Z0, Z1, Z2, Z4, Z5, Z6\n",
"7.5 Z0, Z1, Z3, Z5, Z6, Z7\n",
"7.5 Z0, Z1, Z2, Z4, Z6, Z7\n",
"5.0 Z0, Z1, Z3, Z4, Z12\n",
"5.0 Z0, Z1, Z3, Z6, Z12\n",
"5.0 Z0, Z3, Z4, Z5, Z12\n",
"5.0 Z0, Z3, Z6, Z7, Z12\n",
"5.0 Z1, Z2, Z3, Z4, Z12\n",
"5.0 Z1, Z2, Z3, Z6, Z12\n",
"5.0 Z1, Z2, Z4, Z5, Z12\n",
"5.0 Z1, Z2, Z6, Z7, Z12\n",
"-15.0 Z1, Z3, Z5, Z7, Z12\n",
"-5.0 Z1, Z3, Z4, Z6, Z12\n",
"-5.0 Z1, Z3, Z4, Z5, Z6, Z7, Z12\n",
"5.0 Z0, Z1, Z2, Z5, Z12\n",
"5.0 Z0, Z1, Z5, Z6, Z12\n",
"5.0 Z0, Z2, Z3, Z5, Z12\n",
"5.0 Z0, Z5, Z6, Z7, Z12\n",
"-5.0 Z1, Z2, Z5, Z6, Z12\n",
"-5.0 Z1, Z2, Z3, Z5, Z6, Z7, Z12\n",
"5.0 Z1, Z4, Z5, Z6, Z12\n",
"5.0 Z1, Z4, Z6, Z7, Z12\n",
"5.0 Z0, Z1, Z2, Z7, Z12\n",
"5.0 Z0, Z1, Z4, Z7, Z12\n",
"5.0 Z0, Z2, Z3, Z7, Z12\n",
"5.0 Z0, Z4, Z5, Z7, Z12\n",
"-5.0 Z1, Z2, Z4, Z7, Z12\n",
"-5.0 Z1, Z2, Z3, Z4, Z5, Z7, Z12\n",
"-5.0 Z0, Z2, Z5, Z7, Z12\n",
"-15.0 Z0, Z2, Z4, Z6, Z12\n",
"-5.0 Z0, Z2, Z4, Z5, Z6, Z7, Z12\n",
"-5.0 Z0, Z3, Z4, Z7, Z12\n",
"-5.0 Z0, Z2, Z3, Z4, Z6, Z7, Z12\n",
"-5.0 Z0, Z3, Z5, Z6, Z12\n",
"-5.0 Z0, Z2, Z3, Z4, Z5, Z6, Z12\n",
"-5.0 Z0, Z1, Z2, Z3, Z5, Z7, Z12\n",
"-5.0 Z0, Z1, Z2, Z3, Z4, Z6, Z12\n",
"-15.0 Z0, Z1, Z2, Z3, Z4, Z5, Z6, Z7, Z12\n",
"-5.0 Z0, Z1, Z3, Z4, Z5, Z7, Z12\n",
"-5.0 Z0, Z1, Z2, Z4, Z5, Z6, Z12\n",
"-5.0 Z0, Z1, Z3, Z5, Z6, Z7, Z12\n",
"-5.0 Z0, Z1, Z2, Z4, Z6, Z7, Z12\n",
"-40.0 Z1, Z11\n",
"-40.0 Z0, Z10\n",
"-40.0 Z0, Z1, Z10, Z11\n",
"52.5 Z3, Z11\n",
"52.5 Z2, Z10\n",
"52.5 Z2, Z3, Z10, Z11\n",
"-50.0 Z5, Z11\n",
"-50.0 Z4, Z10\n",
"-50.0 Z4, Z5, Z10, Z11\n",
"65.0 Z7, Z11\n",
"65.0 Z6, Z10\n",
"65.0 Z6, Z7, Z10, Z11\n",
"-47.5 Z9, Z11\n",
"-47.5 Z8, Z10\n",
"-47.5 Z8, Z9, Z10, Z11\n",
"-5.0 Z0, Z1, Z3, Z8\n",
"-5.0 Z0, Z1, Z3, Z10\n",
"-5.0 Z0, Z3, Z8, Z9\n",
"-5.0 Z0, Z3, Z10, Z11\n",
"-5.0 Z1, Z2, Z3, Z8\n",
"-5.0 Z1, Z2, Z3, Z10\n",
"-5.0 Z1, Z2, Z8, Z9\n",
"-5.0 Z1, Z2, Z10, Z11\n",
"-15.0 Z1, Z3, Z5, Z9\n",
"15.0 Z1, Z3, Z5, Z11\n",
"-5.0 Z1, Z3, Z4, Z8\n",
"5.0 Z1, Z3, Z4, Z10\n",
"-5.0 Z1, Z3, Z4, Z5, Z8, Z9\n",
"5.0 Z1, Z3, Z4, Z5, Z10, Z11\n",
"15.0 Z1, Z3, Z7, Z9\n",
"-15.0 Z1, Z3, Z7, Z11\n",
"5.0 Z1, Z3, Z6, Z8\n",
"-5.0 Z1, Z3, Z6, Z10\n",
"5.0 Z1, Z3, Z6, Z7, Z8, Z9\n",
"-5.0 Z1, Z3, Z6, Z7, Z10, Z11\n",
"15.0 Z1, Z3, Z9, Z11\n",
"5.0 Z1, Z3, Z8, Z10\n",
"5.0 Z1, Z3, Z8, Z9, Z10, Z11\n",
"15.0 Z0, Z1, Z5, Z8\n",
"-5.0 Z0, Z1, Z5, Z10\n",
"15.0 Z0, Z5, Z8, Z9\n",
"-5.0 Z0, Z5, Z10, Z11\n",
"-5.0 Z1, Z2, Z5, Z8\n",
"5.0 Z1, Z2, Z5, Z10\n",
"-5.0 Z1, Z2, Z3, Z5, Z8, Z9\n",
"5.0 Z1, Z2, Z3, Z5, Z10, Z11\n",
"15.0 Z1, Z4, Z5, Z8\n",
"-5.0 Z1, Z4, Z5, Z10\n",
"15.0 Z1, Z4, Z8, Z9\n",
"-5.0 Z1, Z4, Z10, Z11\n",
"-15.0 Z1, Z5, Z7, Z9\n",
"15.0 Z1, Z5, Z7, Z11\n",
"-5.0 Z1, Z5, Z6, Z8\n",
"5.0 Z1, Z5, Z6, Z10\n",
"-5.0 Z1, Z5, Z6, Z7, Z8, Z9\n",
"5.0 Z1, Z5, Z6, Z7, Z10, Z11\n",
"-15.0 Z1, Z5, Z9, Z11\n",
"-5.0 Z1, Z5, Z8, Z10\n",
"-5.0 Z1, Z5, Z8, Z9, Z10, Z11\n",
"-5.0 Z0, Z1, Z7, Z8\n",
"-5.0 Z0, Z1, Z7, Z10\n",
"-5.0 Z0, Z7, Z8, Z9\n",
"-5.0 Z0, Z7, Z10, Z11\n",
"5.0 Z1, Z2, Z7, Z8\n",
"-5.0 Z1, Z2, Z7, Z10\n",
"5.0 Z1, Z2, Z3, Z7, Z8, Z9\n",
"-5.0 Z1, Z2, Z3, Z7, Z10, Z11\n",
"-5.0 Z1, Z4, Z7, Z8\n",
"5.0 Z1, Z4, Z7, Z10\n",
"-5.0 Z1, Z4, Z5, Z7, Z8, Z9\n",
"5.0 Z1, Z4, Z5, Z7, Z10, Z11\n",
"-5.0 Z1, Z6, Z7, Z8\n",
"-5.0 Z1, Z6, Z7, Z10\n",
"-5.0 Z1, Z6, Z8, Z9\n",
"-5.0 Z1, Z6, Z10, Z11\n",
"15.0 Z1, Z7, Z9, Z11\n",
"5.0 Z1, Z7, Z8, Z10\n",
"5.0 Z1, Z7, Z8, Z9, Z10, Z11\n",
"-5.0 Z0, Z1, Z2, Z9\n",
"15.0 Z0, Z1, Z4, Z9\n",
"-5.0 Z0, Z1, Z6, Z9\n",
"-5.0 Z0, Z1, Z9, Z10\n",
"-5.0 Z0, Z2, Z3, Z9\n",
"15.0 Z0, Z4, Z5, Z9\n",
"-5.0 Z0, Z6, Z7, Z9\n",
"-5.0 Z0, Z9, Z10, Z11\n",
"-5.0 Z1, Z2, Z4, Z9\n",
"5.0 Z1, Z2, Z6, Z9\n",
"5.0 Z1, Z2, Z9, Z10\n",
"-5.0 Z1, Z2, Z3, Z4, Z5, Z9\n",
"5.0 Z1, Z2, Z3, Z6, Z7, Z9\n",
"5.0 Z1, Z2, Z3, Z9, Z10, Z11\n",
"-5.0 Z1, Z4, Z6, Z9\n",
"-5.0 Z1, Z4, Z9, Z10\n",
"-5.0 Z1, Z4, Z5, Z6, Z7, Z9\n",
"-5.0 Z1, Z4, Z5, Z9, Z10, Z11\n",
"5.0 Z1, Z6, Z9, Z10\n",
"5.0 Z1, Z6, Z7, Z9, Z10, Z11\n",
"-5.0 Z1, Z8, Z9, Z10\n",
"-5.0 Z1, Z8, Z10, Z11\n",
"-5.0 Z0, Z1, Z2, Z11\n",
"-5.0 Z0, Z1, Z4, Z11\n",
"-5.0 Z0, Z1, Z6, Z11\n",
"-5.0 Z0, Z1, Z8, Z11\n",
"-5.0 Z0, Z2, Z3, Z11\n",
"-5.0 Z0, Z4, Z5, Z11\n",
"-5.0 Z0, Z6, Z7, Z11\n",
"-5.0 Z0, Z8, Z9, Z11\n",
"5.0 Z1, Z2, Z4, Z11\n",
"-5.0 Z1, Z2, Z6, Z11\n",
"5.0 Z1, Z2, Z8, Z11\n",
"5.0 Z1, Z2, Z3, Z4, Z5, Z11\n",
"-5.0 Z1, Z2, Z3, Z6, Z7, Z11\n",
"5.0 Z1, Z2, Z3, Z8, Z9, Z11\n",
"5.0 Z1, Z4, Z6, Z11\n",
"-5.0 Z1, Z4, Z8, Z11\n",
"5.0 Z1, Z4, Z5, Z6, Z7, Z11\n",
"-5.0 Z1, Z4, Z5, Z8, Z9, Z11\n",
"5.0 Z1, Z6, Z8, Z11\n",
"5.0 Z1, Z6, Z7, Z8, Z9, Z11\n",
"-5.0 Z0, Z2, Z5, Z9\n",
"5.0 Z0, Z2, Z5, Z11\n",
"-15.0 Z0, Z2, Z4, Z8\n",
"15.0 Z0, Z2, Z4, Z10\n",
"-5.0 Z0, Z2, Z4, Z5, Z8, Z9\n",
"5.0 Z0, Z2, Z4, Z5, Z10, Z11\n",
"5.0 Z0, Z2, Z7, Z9\n",
"-5.0 Z0, Z2, Z7, Z11\n",
"15.0 Z0, Z2, Z6, Z8\n",
"-15.0 Z0, Z2, Z6, Z10\n",
"5.0 Z0, Z2, Z6, Z7, Z8, Z9\n",
"-5.0 Z0, Z2, Z6, Z7, Z10, Z11\n",
"5.0 Z0, Z2, Z9, Z11\n",
"15.0 Z0, Z2, Z8, Z10\n",
"5.0 Z0, Z2, Z8, Z9, Z10, Z11\n",
"-5.0 Z0, Z3, Z4, Z9\n",
"5.0 Z0, Z3, Z4, Z11\n",
"-5.0 Z0, Z2, Z3, Z4, Z8, Z9\n",
"5.0 Z0, Z2, Z3, Z4, Z10, Z11\n",
"-5.0 Z0, Z4, Z7, Z9\n",
"5.0 Z0, Z4, Z7, Z11\n",
"-15.0 Z0, Z4, Z6, Z8\n",
"15.0 Z0, Z4, Z6, Z10\n",
"-5.0 Z0, Z4, Z6, Z7, Z8, Z9\n",
"5.0 Z0, Z4, Z6, Z7, Z10, Z11\n",
"-5.0 Z0, Z4, Z9, Z11\n",
"-15.0 Z0, Z4, Z8, Z10\n",
"-5.0 Z0, Z4, Z8, Z9, Z10, Z11\n",
"5.0 Z0, Z3, Z6, Z9\n",
"-5.0 Z0, Z3, Z6, Z11\n",
"5.0 Z0, Z2, Z3, Z6, Z8, Z9\n",
"-5.0 Z0, Z2, Z3, Z6, Z10, Z11\n",
"-5.0 Z0, Z5, Z6, Z9\n",
"5.0 Z0, Z5, Z6, Z11\n",
"-5.0 Z0, Z4, Z5, Z6, Z8, Z9\n",
"5.0 Z0, Z4, Z5, Z6, Z10, Z11\n",
"5.0 Z0, Z6, Z9, Z11\n",
"15.0 Z0, Z6, Z8, Z10\n",
"5.0 Z0, Z6, Z8, Z9, Z10, Z11\n",
"-5.0 Z0, Z3, Z5, Z8\n",
"5.0 Z0, Z3, Z7, Z8\n",
"5.0 Z0, Z3, Z8, Z11\n",
"-5.0 Z0, Z2, Z3, Z4, Z5, Z8\n",
"5.0 Z0, Z2, Z3, Z6, Z7, Z8\n",
"5.0 Z0, Z2, Z3, Z8, Z10, Z11\n",
"-5.0 Z0, Z5, Z7, Z8\n",
"-5.0 Z0, Z5, Z8, Z11\n",
"-5.0 Z0, Z4, Z5, Z6, Z7, Z8\n",
"-5.0 Z0, Z4, Z5, Z8, Z10, Z11\n",
"5.0 Z0, Z7, Z8, Z11\n",
"5.0 Z0, Z6, Z7, Z8, Z10, Z11\n",
"5.0 Z0, Z3, Z5, Z10\n",
"-5.0 Z0, Z3, Z7, Z10\n",
"5.0 Z0, Z3, Z9, Z10\n",
"5.0 Z0, Z2, Z3, Z4, Z5, Z10\n",
"-5.0 Z0, Z2, Z3, Z6, Z7, Z10\n",
"5.0 Z0, Z2, Z3, Z8, Z9, Z10\n",
"5.0 Z0, Z5, Z7, Z10\n",
"-5.0 Z0, Z5, Z9, Z10\n",
"5.0 Z0, Z4, Z5, Z6, Z7, Z10\n",
"-5.0 Z0, Z4, Z5, Z8, Z9, Z10\n",
"5.0 Z0, Z7, Z9, Z10\n",
"5.0 Z0, Z6, Z7, Z8, Z9, Z10\n",
"-5.0 Z0, Z1, Z2, Z3, Z5, Z9\n",
"5.0 Z0, Z1, Z2, Z3, Z5, Z11\n",
"-5.0 Z0, Z1, Z2, Z3, Z4, Z8\n",
"5.0 Z0, Z1, Z2, Z3, Z4, Z10\n",
"-15.0 Z0, Z1, Z2, Z3, Z4, Z5, Z8, Z9\n",
"15.0 Z0, Z1, Z2, Z3, Z4, Z5, Z10, Z11\n",
"5.0 Z0, Z1, Z2, Z3, Z7, Z9\n",
"-5.0 Z0, Z1, Z2, Z3, Z7, Z11\n",
"5.0 Z0, Z1, Z2, Z3, Z6, Z8\n",
"-5.0 Z0, Z1, Z2, Z3, Z6, Z10\n",
"15.0 Z0, Z1, Z2, Z3, Z6, Z7, Z8, Z9\n",
"-15.0 Z0, Z1, Z2, Z3, Z6, Z7, Z10, Z11\n",
"5.0 Z0, Z1, Z2, Z3, Z9, Z11\n",
"5.0 Z0, Z1, Z2, Z3, Z8, Z10\n",
"15.0 Z0, Z1, Z2, Z3, Z8, Z9, Z10, Z11\n",
"-5.0 Z0, Z1, Z3, Z4, Z5, Z9\n",
"5.0 Z0, Z1, Z3, Z4, Z5, Z11\n",
"-5.0 Z0, Z1, Z2, Z4, Z5, Z8\n",
"5.0 Z0, Z1, Z2, Z4, Z5, Z10\n",
"-5.0 Z0, Z1, Z4, Z5, Z7, Z9\n",
"5.0 Z0, Z1, Z4, Z5, Z7, Z11\n",
"-5.0 Z0, Z1, Z4, Z5, Z6, Z8\n",
"5.0 Z0, Z1, Z4, Z5, Z6, Z10\n",
"-15.0 Z0, Z1, Z4, Z5, Z6, Z7, Z8, Z9\n",
"15.0 Z0, Z1, Z4, Z5, Z6, Z7, Z10, Z11\n",
"-5.0 Z0, Z1, Z4, Z5, Z9, Z11\n",
"-5.0 Z0, Z1, Z4, Z5, Z8, Z10\n",
"-15.0 Z0, Z1, Z4, Z5, Z8, Z9, Z10, Z11\n",
"5.0 Z0, Z1, Z3, Z6, Z7, Z9\n",
"-5.0 Z0, Z1, Z3, Z6, Z7, Z11\n",
"5.0 Z0, Z1, Z2, Z6, Z7, Z8\n",
"-5.0 Z0, Z1, Z2, Z6, Z7, Z10\n",
"-5.0 Z0, Z1, Z5, Z6, Z7, Z9\n",
"5.0 Z0, Z1, Z5, Z6, Z7, Z11\n",
"-5.0 Z0, Z1, Z4, Z6, Z7, Z8\n",
"5.0 Z0, Z1, Z4, Z6, Z7, Z10\n",
"5.0 Z0, Z1, Z6, Z7, Z9, Z11\n",
"5.0 Z0, Z1, Z6, Z7, Z8, Z10\n",
"15.0 Z0, Z1, Z6, Z7, Z8, Z9, Z10, Z11\n",
"-5.0 Z0, Z1, Z3, Z5, Z8, Z9\n",
"5.0 Z0, Z1, Z3, Z7, Z8, Z9\n",
"5.0 Z0, Z1, Z3, Z8, Z9, Z11\n",
"-5.0 Z0, Z1, Z2, Z4, Z8, Z9\n",
"5.0 Z0, Z1, Z2, Z6, Z8, Z9\n",
"5.0 Z0, Z1, Z2, Z8, Z9, Z10\n",
"-5.0 Z0, Z1, Z5, Z7, Z8, Z9\n",
"-5.0 Z0, Z1, Z5, Z8, Z9, Z11\n",
"-5.0 Z0, Z1, Z4, Z6, Z8, Z9\n",
"-5.0 Z0, Z1, Z4, Z8, Z9, Z10\n",
"5.0 Z0, Z1, Z7, Z8, Z9, Z11\n",
"5.0 Z0, Z1, Z6, Z8, Z9, Z10\n",
"5.0 Z0, Z1, Z3, Z5, Z10, Z11\n",
"-5.0 Z0, Z1, Z3, Z7, Z10, Z11\n",
"5.0 Z0, Z1, Z3, Z9, Z10, Z11\n",
"5.0 Z0, Z1, Z2, Z4, Z10, Z11\n",
"-5.0 Z0, Z1, Z2, Z6, Z10, Z11\n",
"5.0 Z0, Z1, Z2, Z8, Z10, Z11\n",
"5.0 Z0, Z1, Z5, Z7, Z10, Z11\n",
"-5.0 Z0, Z1, Z5, Z9, Z10, Z11\n",
"5.0 Z0, Z1, Z4, Z6, Z10, Z11\n",
"-5.0 Z0, Z1, Z4, Z8, Z10, Z11\n",
"5.0 Z0, Z1, Z7, Z9, Z10, Z11\n",
"5.0 Z0, Z1, Z6, Z8, Z10, Z11\n",
"-5.0 Z2, Z3, Z5, Z10\n",
"-5.0 Z2, Z5, Z10, Z11\n",
"-5.0 Z3, Z4, Z5, Z10\n",
"-5.0 Z3, Z4, Z10, Z11\n",
"-15.0 Z3, Z5, Z7, Z11\n",
"-5.0 Z3, Z5, Z6, Z10\n",
"-5.0 Z3, Z5, Z6, Z7, Z10, Z11\n",
"15.0 Z3, Z5, Z9, Z11\n",
"5.0 Z3, Z5, Z8, Z10\n",
"5.0 Z3, Z5, Z8, Z9, Z10, Z11\n",
"15.0 Z2, Z3, Z7, Z10\n",
"15.0 Z2, Z7, Z10, Z11\n",
"-5.0 Z3, Z4, Z7, Z10\n",
"-5.0 Z3, Z4, Z5, Z7, Z10, Z11\n",
"15.0 Z3, Z6, Z7, Z10\n",
"15.0 Z3, Z6, Z10, Z11\n",
"-15.0 Z3, Z7, Z9, Z11\n",
"-5.0 Z3, Z7, Z8, Z10\n",
"-5.0 Z3, Z7, Z8, Z9, Z10, Z11\n",
"-5.0 Z2, Z3, Z9, Z10\n",
"-5.0 Z2, Z9, Z10, Z11\n",
"5.0 Z3, Z4, Z9, Z10\n",
"5.0 Z3, Z4, Z5, Z9, Z10, Z11\n",
"-5.0 Z3, Z6, Z9, Z10\n",
"-5.0 Z3, Z6, Z7, Z9, Z10, Z11\n",
"-5.0 Z3, Z8, Z9, Z10\n",
"-5.0 Z3, Z8, Z10, Z11\n",
"-5.0 Z2, Z3, Z4, Z11\n",
"15.0 Z2, Z3, Z6, Z11\n",
"-5.0 Z2, Z3, Z8, Z11\n",
"-5.0 Z2, Z4, Z5, Z11\n",
"15.0 Z2, Z6, Z7, Z11\n",
"-5.0 Z2, Z8, Z9, Z11\n",
"-5.0 Z3, Z4, Z6, Z11\n",
"5.0 Z3, Z4, Z8, Z11\n",
"-5.0 Z3, Z4, Z5, Z6, Z7, Z11\n",
"5.0 Z3, Z4, Z5, Z8, Z9, Z11\n",
"-5.0 Z3, Z6, Z8, Z11\n",
"-5.0 Z3, Z6, Z7, Z8, Z9, Z11\n",
"-5.0 Z2, Z4, Z7, Z11\n",
"-15.0 Z2, Z4, Z6, Z10\n",
"-5.0 Z2, Z4, Z6, Z7, Z10, Z11\n",
"5.0 Z2, Z4, Z9, Z11\n",
"15.0 Z2, Z4, Z8, Z10\n",
"5.0 Z2, Z4, Z8, Z9, Z10, Z11\n",
"-5.0 Z2, Z5, Z6, Z11\n",
"-5.0 Z2, Z4, Z5, Z6, Z10, Z11\n",
"-5.0 Z2, Z6, Z9, Z11\n",
"-15.0 Z2, Z6, Z8, Z10\n",
"-5.0 Z2, Z6, Z8, Z9, Z10, Z11\n",
"5.0 Z2, Z5, Z8, Z11\n",
"5.0 Z2, Z4, Z5, Z8, Z10, Z11\n",
"-5.0 Z2, Z7, Z8, Z11\n",
"-5.0 Z2, Z6, Z7, Z8, Z10, Z11\n",
"-5.0 Z2, Z5, Z7, Z10\n",
"5.0 Z2, Z5, Z9, Z10\n",
"-5.0 Z2, Z4, Z5, Z6, Z7, Z10\n",
"5.0 Z2, Z4, Z5, Z8, Z9, Z10\n",
"-5.0 Z2, Z7, Z9, Z10\n",
"-5.0 Z2, Z6, Z7, Z8, Z9, Z10\n",
"-5.0 Z2, Z3, Z4, Z5, Z7, Z11\n",
"-5.0 Z2, Z3, Z4, Z5, Z6, Z10\n",
"-15.0 Z2, Z3, Z4, Z5, Z6, Z7, Z10, Z11\n",
"5.0 Z2, Z3, Z4, Z5, Z9, Z11\n",
"5.0 Z2, Z3, Z4, Z5, Z8, Z10\n",
"15.0 Z2, Z3, Z4, Z5, Z8, Z9, Z10, Z11\n",
"-5.0 Z2, Z3, Z5, Z6, Z7, Z11\n",
"-5.0 Z2, Z3, Z4, Z6, Z7, Z10\n",
"-5.0 Z2, Z3, Z6, Z7, Z9, Z11\n",
"-5.0 Z2, Z3, Z6, Z7, Z8, Z10\n",
"-15.0 Z2, Z3, Z6, Z7, Z8, Z9, Z10, Z11\n",
"5.0 Z2, Z3, Z5, Z8, Z9, Z11\n",
"5.0 Z2, Z3, Z4, Z8, Z9, Z10\n",
"-5.0 Z2, Z3, Z7, Z8, Z9, Z11\n",
"-5.0 Z2, Z3, Z6, Z8, Z9, Z10\n",
"-5.0 Z2, Z3, Z5, Z7, Z10, Z11\n",
"5.0 Z2, Z3, Z5, Z9, Z10, Z11\n",
"-5.0 Z2, Z3, Z4, Z6, Z10, Z11\n",
"5.0 Z2, Z3, Z4, Z8, Z10, Z11\n",
"-5.0 Z2, Z3, Z7, Z9, Z10, Z11\n",
"-5.0 Z2, Z3, Z6, Z8, Z10, Z11\n",
"-7.5 Z4, Z5, Z7, Z10\n",
"-7.5 Z4, Z7, Z10, Z11\n",
"-7.5 Z5, Z6, Z7, Z10\n",
"-7.5 Z5, Z6, Z10, Z11\n",
"22.5 Z5, Z7, Z9, Z11\n",
"7.5 Z5, Z7, Z8, Z10\n",
"7.5 Z5, Z7, Z8, Z9, Z10, Z11\n",
"-7.5 Z4, Z5, Z9, Z10\n",
"-7.5 Z4, Z9, Z10, Z11\n",
"7.5 Z5, Z6, Z9, Z10\n",
"7.5 Z5, Z6, Z7, Z9, Z10, Z11\n",
"-7.5 Z5, Z8, Z9, Z10\n",
"-7.5 Z5, Z8, Z10, Z11\n",
"-7.5 Z4, Z5, Z6, Z11\n",
"-7.5 Z4, Z5, Z8, Z11\n",
"-7.5 Z4, Z6, Z7, Z11\n",
"-7.5 Z4, Z8, Z9, Z11\n",
"7.5 Z5, Z6, Z8, Z11\n",
"7.5 Z5, Z6, Z7, Z8, Z9, Z11\n",
"7.5 Z4, Z6, Z9, Z11\n",
"22.5 Z4, Z6, Z8, Z10\n",
"7.5 Z4, Z6, Z8, Z9, Z10, Z11\n",
"7.5 Z4, Z7, Z8, Z11\n",
"7.5 Z4, Z6, Z7, Z8, Z10, Z11\n",
"7.5 Z4, Z7, Z9, Z10\n",
"7.5 Z4, Z6, Z7, Z8, Z9, Z10\n",
"7.5 Z4, Z5, Z6, Z7, Z9, Z11\n",
"7.5 Z4, Z5, Z6, Z7, Z8, Z10\n",
"22.5 Z4, Z5, Z6, Z7, Z8, Z9, Z10, Z11\n",
"7.5 Z4, Z5, Z7, Z8, Z9, Z11\n",
"7.5 Z4, Z5, Z6, Z8, Z9, Z10\n",
"7.5 Z4, Z5, Z7, Z9, Z10, Z11\n",
"7.5 Z4, Z5, Z6, Z8, Z10, Z11\n",
"-7.5 Z6, Z7, Z9, Z10\n",
"-7.5 Z6, Z9, Z10, Z11\n",
"-7.5 Z7, Z8, Z9, Z10\n",
"-7.5 Z7, Z8, Z10, Z11\n",
"-7.5 Z6, Z7, Z8, Z11\n",
"-7.5 Z6, Z8, Z9, Z11\n",
"20.0 Z1, Z11, Z12\n",
"20.0 Z0, Z10, Z12\n",
"20.0 Z0, Z1, Z10, Z11, Z12\n",
"-25.0 Z3, Z11, Z12\n",
"-25.0 Z2, Z10, Z12\n",
"-25.0 Z2, Z3, Z10, Z11, Z12\n",
"20.0 Z5, Z11, Z12\n",
"20.0 Z4, Z10, Z12\n",
"20.0 Z4, Z5, Z10, Z11, Z12\n",
"-25.0 Z7, Z11, Z12\n",
"-25.0 Z6, Z10, Z12\n",
"-25.0 Z6, Z7, Z10, Z11, Z12\n",
"20.0 Z9, Z11, Z12\n",
"20.0 Z8, Z10, Z12\n",
"20.0 Z8, Z9, Z10, Z11, Z12\n",
"2.5 Z0, Z1, Z3, Z8, Z12\n",
"2.5 Z0, Z1, Z3, Z10, Z12\n",
"2.5 Z0, Z3, Z8, Z9, Z12\n",
"2.5 Z0, Z3, Z10, Z11, Z12\n",
"2.5 Z1, Z2, Z3, Z8, Z12\n",
"2.5 Z1, Z2, Z3, Z10, Z12\n",
"2.5 Z1, Z2, Z8, Z9, Z12\n",
"2.5 Z1, Z2, Z10, Z11, Z12\n",
"7.5 Z1, Z3, Z5, Z9, Z12\n",
"-7.5 Z1, Z3, Z5, Z11, Z12\n",
"2.5 Z1, Z3, Z4, Z8, Z12\n",
"-2.5 Z1, Z3, Z4, Z10, Z12\n",
"2.5 Z1, Z3, Z4, Z5, Z8, Z9, Z12\n",
"-2.5 Z1, Z3, Z4, Z5, Z10, Z11, Z12\n",
"-7.5 Z1, Z3, Z7, Z9, Z12\n",
"7.5 Z1, Z3, Z7, Z11, Z12\n",
"-2.5 Z1, Z3, Z6, Z8, Z12\n",
"2.5 Z1, Z3, Z6, Z10, Z12\n",
"-2.5 Z1, Z3, Z6, Z7, Z8, Z9, Z12\n",
"2.5 Z1, Z3, Z6, Z7, Z10, Z11, Z12\n",
"-7.5 Z1, Z3, Z9, Z11, Z12\n",
"-2.5 Z1, Z3, Z8, Z10, Z12\n",
"-2.5 Z1, Z3, Z8, Z9, Z10, Z11, Z12\n",
"-7.5 Z0, Z1, Z5, Z8, Z12\n",
"2.5 Z0, Z1, Z5, Z10, Z12\n",
"-7.5 Z0, Z5, Z8, Z9, Z12\n",
"2.5 Z0, Z5, Z10, Z11, Z12\n",
"2.5 Z1, Z2, Z5, Z8, Z12\n",
"-2.5 Z1, Z2, Z5, Z10, Z12\n",
"2.5 Z1, Z2, Z3, Z5, Z8, Z9, Z12\n",
"-2.5 Z1, Z2, Z3, Z5, Z10, Z11, Z12\n",
"-7.5 Z1, Z4, Z5, Z8, Z12\n",
"2.5 Z1, Z4, Z5, Z10, Z12\n",
"-7.5 Z1, Z4, Z8, Z9, Z12\n",
"2.5 Z1, Z4, Z10, Z11, Z12\n",
"7.5 Z1, Z5, Z7, Z9, Z12\n",
"-7.5 Z1, Z5, Z7, Z11, Z12\n",
"2.5 Z1, Z5, Z6, Z8, Z12\n",
"-2.5 Z1, Z5, Z6, Z10, Z12\n",
"2.5 Z1, Z5, Z6, Z7, Z8, Z9, Z12\n",
"-2.5 Z1, Z5, Z6, Z7, Z10, Z11, Z12\n",
"7.5 Z1, Z5, Z9, Z11, Z12\n",
"2.5 Z1, Z5, Z8, Z10, Z12\n",
"2.5 Z1, Z5, Z8, Z9, Z10, Z11, Z12\n",
"2.5 Z0, Z1, Z7, Z8, Z12\n",
"2.5 Z0, Z1, Z7, Z10, Z12\n",
"2.5 Z0, Z7, Z8, Z9, Z12\n",
"2.5 Z0, Z7, Z10, Z11, Z12\n",
"-2.5 Z1, Z2, Z7, Z8, Z12\n",
"2.5 Z1, Z2, Z7, Z10, Z12\n",
"-2.5 Z1, Z2, Z3, Z7, Z8, Z9, Z12\n",
"2.5 Z1, Z2, Z3, Z7, Z10, Z11, Z12\n",
"2.5 Z1, Z4, Z7, Z8, Z12\n",
"-2.5 Z1, Z4, Z7, Z10, Z12\n",
"2.5 Z1, Z4, Z5, Z7, Z8, Z9, Z12\n",
"-2.5 Z1, Z4, Z5, Z7, Z10, Z11, Z12\n",
"2.5 Z1, Z6, Z7, Z8, Z12\n",
"2.5 Z1, Z6, Z7, Z10, Z12\n",
"2.5 Z1, Z6, Z8, Z9, Z12\n",
"2.5 Z1, Z6, Z10, Z11, Z12\n",
"-7.5 Z1, Z7, Z9, Z11, Z12\n",
"-2.5 Z1, Z7, Z8, Z10, Z12\n",
"-2.5 Z1, Z7, Z8, Z9, Z10, Z11, Z12\n",
"2.5 Z0, Z1, Z2, Z9, Z12\n",
"-7.5 Z0, Z1, Z4, Z9, Z12\n",
"2.5 Z0, Z1, Z6, Z9, Z12\n",
"2.5 Z0, Z1, Z9, Z10, Z12\n",
"2.5 Z0, Z2, Z3, Z9, Z12\n",
"-7.5 Z0, Z4, Z5, Z9, Z12\n",
"2.5 Z0, Z6, Z7, Z9, Z12\n",
"2.5 Z0, Z9, Z10, Z11, Z12\n",
"2.5 Z1, Z2, Z4, Z9, Z12\n",
"-2.5 Z1, Z2, Z6, Z9, Z12\n",
"-2.5 Z1, Z2, Z9, Z10, Z12\n",
"2.5 Z1, Z2, Z3, Z4, Z5, Z9, Z12\n",
"-2.5 Z1, Z2, Z3, Z6, Z7, Z9, Z12\n",
"-2.5 Z1, Z2, Z3, Z9, Z10, Z11, Z12\n",
"2.5 Z1, Z4, Z6, Z9, Z12\n",
"2.5 Z1, Z4, Z9, Z10, Z12\n",
"2.5 Z1, Z4, Z5, Z6, Z7, Z9, Z12\n",
"2.5 Z1, Z4, Z5, Z9, Z10, Z11, Z12\n",
"-2.5 Z1, Z6, Z9, Z10, Z12\n",
"-2.5 Z1, Z6, Z7, Z9, Z10, Z11, Z12\n",
"2.5 Z1, Z8, Z9, Z10, Z12\n",
"2.5 Z1, Z8, Z10, Z11, Z12\n",
"2.5 Z0, Z1, Z2, Z11, Z12\n",
"2.5 Z0, Z1, Z4, Z11, Z12\n",
"2.5 Z0, Z1, Z6, Z11, Z12\n",
"2.5 Z0, Z1, Z8, Z11, Z12\n",
"2.5 Z0, Z2, Z3, Z11, Z12\n",
"2.5 Z0, Z4, Z5, Z11, Z12\n",
"2.5 Z0, Z6, Z7, Z11, Z12\n",
"2.5 Z0, Z8, Z9, Z11, Z12\n",
"-2.5 Z1, Z2, Z4, Z11, Z12\n",
"2.5 Z1, Z2, Z6, Z11, Z12\n",
"-2.5 Z1, Z2, Z8, Z11, Z12\n",
"-2.5 Z1, Z2, Z3, Z4, Z5, Z11, Z12\n",
"2.5 Z1, Z2, Z3, Z6, Z7, Z11, Z12\n",
"-2.5 Z1, Z2, Z3, Z8, Z9, Z11, Z12\n",
"-2.5 Z1, Z4, Z6, Z11, Z12\n",
"2.5 Z1, Z4, Z8, Z11, Z12\n",
"-2.5 Z1, Z4, Z5, Z6, Z7, Z11, Z12\n",
"2.5 Z1, Z4, Z5, Z8, Z9, Z11, Z12\n",
"-2.5 Z1, Z6, Z8, Z11, Z12\n",
"-2.5 Z1, Z6, Z7, Z8, Z9, Z11, Z12\n",
"2.5 Z0, Z2, Z5, Z9, Z12\n",
"-2.5 Z0, Z2, Z5, Z11, Z12\n",
"7.5 Z0, Z2, Z4, Z8, Z12\n",
"-7.5 Z0, Z2, Z4, Z10, Z12\n",
"2.5 Z0, Z2, Z4, Z5, Z8, Z9, Z12\n",
"-2.5 Z0, Z2, Z4, Z5, Z10, Z11, Z12\n",
"-2.5 Z0, Z2, Z7, Z9, Z12\n",
"2.5 Z0, Z2, Z7, Z11, Z12\n",
"-7.5 Z0, Z2, Z6, Z8, Z12\n",
"7.5 Z0, Z2, Z6, Z10, Z12\n",
"-2.5 Z0, Z2, Z6, Z7, Z8, Z9, Z12\n",
"2.5 Z0, Z2, Z6, Z7, Z10, Z11, Z12\n",
"-2.5 Z0, Z2, Z9, Z11, Z12\n",
"-7.5 Z0, Z2, Z8, Z10, Z12\n",
"-2.5 Z0, Z2, Z8, Z9, Z10, Z11, Z12\n",
"2.5 Z0, Z3, Z4, Z9, Z12\n",
"-2.5 Z0, Z3, Z4, Z11, Z12\n",
"2.5 Z0, Z2, Z3, Z4, Z8, Z9, Z12\n",
"-2.5 Z0, Z2, Z3, Z4, Z10, Z11, Z12\n",
"2.5 Z0, Z4, Z7, Z9, Z12\n",
"-2.5 Z0, Z4, Z7, Z11, Z12\n",
"7.5 Z0, Z4, Z6, Z8, Z12\n",
"-7.5 Z0, Z4, Z6, Z10, Z12\n",
"2.5 Z0, Z4, Z6, Z7, Z8, Z9, Z12\n",
"-2.5 Z0, Z4, Z6, Z7, Z10, Z11, Z12\n",
"2.5 Z0, Z4, Z9, Z11, Z12\n",
"7.5 Z0, Z4, Z8, Z10, Z12\n",
"2.5 Z0, Z4, Z8, Z9, Z10, Z11, Z12\n",
"-2.5 Z0, Z3, Z6, Z9, Z12\n",
"2.5 Z0, Z3, Z6, Z11, Z12\n",
"-2.5 Z0, Z2, Z3, Z6, Z8, Z9, Z12\n",
"2.5 Z0, Z2, Z3, Z6, Z10, Z11, Z12\n",
"2.5 Z0, Z5, Z6, Z9, Z12\n",
"-2.5 Z0, Z5, Z6, Z11, Z12\n",
"2.5 Z0, Z4, Z5, Z6, Z8, Z9, Z12\n",
"-2.5 Z0, Z4, Z5, Z6, Z10, Z11, Z12\n",
"-2.5 Z0, Z6, Z9, Z11, Z12\n",
"-7.5 Z0, Z6, Z8, Z10, Z12\n",
"-2.5 Z0, Z6, Z8, Z9, Z10, Z11, Z12\n",
"2.5 Z0, Z3, Z5, Z8, Z12\n",
"-2.5 Z0, Z3, Z7, Z8, Z12\n",
"-2.5 Z0, Z3, Z8, Z11, Z12\n",
"2.5 Z0, Z2, Z3, Z4, Z5, Z8, Z12\n",
"-2.5 Z0, Z2, Z3, Z6, Z7, Z8, Z12\n",
"-2.5 Z0, Z2, Z3, Z8, Z10, Z11, Z12\n",
"2.5 Z0, Z5, Z7, Z8, Z12\n",
"2.5 Z0, Z5, Z8, Z11, Z12\n",
"2.5 Z0, Z4, Z5, Z6, Z7, Z8, Z12\n",
"2.5 Z0, Z4, Z5, Z8, Z10, Z11, Z12\n",
"-2.5 Z0, Z7, Z8, Z11, Z12\n",
"-2.5 Z0, Z6, Z7, Z8, Z10, Z11, Z12\n",
"-2.5 Z0, Z3, Z5, Z10, Z12\n",
"2.5 Z0, Z3, Z7, Z10, Z12\n",
"-2.5 Z0, Z3, Z9, Z10, Z12\n",
"-2.5 Z0, Z2, Z3, Z4, Z5, Z10, Z12\n",
"2.5 Z0, Z2, Z3, Z6, Z7, Z10, Z12\n",
"-2.5 Z0, Z2, Z3, Z8, Z9, Z10, Z12\n",
"-2.5 Z0, Z5, Z7, Z10, Z12\n",
"2.5 Z0, Z5, Z9, Z10, Z12\n",
"-2.5 Z0, Z4, Z5, Z6, Z7, Z10, Z12\n",
"2.5 Z0, Z4, Z5, Z8, Z9, Z10, Z12\n",
"-2.5 Z0, Z7, Z9, Z10, Z12\n",
"-2.5 Z0, Z6, Z7, Z8, Z9, Z10, Z12\n",
"2.5 Z0, Z1, Z2, Z3, Z5, Z9, Z12\n",
"-2.5 Z0, Z1, Z2, Z3, Z5, Z11, Z12\n",
"2.5 Z0, Z1, Z2, Z3, Z4, Z8, Z12\n",
"-2.5 Z0, Z1, Z2, Z3, Z4, Z10, Z12\n",
"7.5 Z0, Z1, Z2, Z3, Z4, Z5, Z8, Z9, Z12\n",
"-7.5 Z0, Z1, Z2, Z3, Z4, Z5, Z10, Z11, Z12\n",
"-2.5 Z0, Z1, Z2, Z3, Z7, Z9, Z12\n",
"2.5 Z0, Z1, Z2, Z3, Z7, Z11, Z12\n",
"-2.5 Z0, Z1, Z2, Z3, Z6, Z8, Z12\n",
"2.5 Z0, Z1, Z2, Z3, Z6, Z10, Z12\n",
"-7.5 Z0, Z1, Z2, Z3, Z6, Z7, Z8, Z9, Z12\n",
"7.5 Z0, Z1, Z2, Z3, Z6, Z7, Z10, Z11, Z12\n",
"-2.5 Z0, Z1, Z2, Z3, Z9, Z11, Z12\n",
"-2.5 Z0, Z1, Z2, Z3, Z8, Z10, Z12\n",
"-7.5 Z0, Z1, Z2, Z3, Z8, Z9, Z10, Z11, Z12\n",
"2.5 Z0, Z1, Z3, Z4, Z5, Z9, Z12\n",
"-2.5 Z0, Z1, Z3, Z4, Z5, Z11, Z12\n",
"2.5 Z0, Z1, Z2, Z4, Z5, Z8, Z12\n",
"-2.5 Z0, Z1, Z2, Z4, Z5, Z10, Z12\n",
"2.5 Z0, Z1, Z4, Z5, Z7, Z9, Z12\n",
"-2.5 Z0, Z1, Z4, Z5, Z7, Z11, Z12\n",
"2.5 Z0, Z1, Z4, Z5, Z6, Z8, Z12\n",
"-2.5 Z0, Z1, Z4, Z5, Z6, Z10, Z12\n",
"7.5 Z0, Z1, Z4, Z5, Z6, Z7, Z8, Z9, Z12\n",
"-7.5 Z0, Z1, Z4, Z5, Z6, Z7, Z10, Z11, Z12\n",
"2.5 Z0, Z1, Z4, Z5, Z9, Z11, Z12\n",
"2.5 Z0, Z1, Z4, Z5, Z8, Z10, Z12\n",
"7.5 Z0, Z1, Z4, Z5, Z8, Z9, Z10, Z11, Z12\n",
"-2.5 Z0, Z1, Z3, Z6, Z7, Z9, Z12\n",
"2.5 Z0, Z1, Z3, Z6, Z7, Z11, Z12\n",
"-2.5 Z0, Z1, Z2, Z6, Z7, Z8, Z12\n",
"2.5 Z0, Z1, Z2, Z6, Z7, Z10, Z12\n",
"2.5 Z0, Z1, Z5, Z6, Z7, Z9, Z12\n",
"-2.5 Z0, Z1, Z5, Z6, Z7, Z11, Z12\n",
"2.5 Z0, Z1, Z4, Z6, Z7, Z8, Z12\n",
"-2.5 Z0, Z1, Z4, Z6, Z7, Z10, Z12\n",
"-2.5 Z0, Z1, Z6, Z7, Z9, Z11, Z12\n",
"-2.5 Z0, Z1, Z6, Z7, Z8, Z10, Z12\n",
"-7.5 Z0, Z1, Z6, Z7, Z8, Z9, Z10, Z11, Z12\n",
"2.5 Z0, Z1, Z3, Z5, Z8, Z9, Z12\n",
"-2.5 Z0, Z1, Z3, Z7, Z8, Z9, Z12\n",
"-2.5 Z0, Z1, Z3, Z8, Z9, Z11, Z12\n",
"2.5 Z0, Z1, Z2, Z4, Z8, Z9, Z12\n",
"-2.5 Z0, Z1, Z2, Z6, Z8, Z9, Z12\n",
"-2.5 Z0, Z1, Z2, Z8, Z9, Z10, Z12\n",
"2.5 Z0, Z1, Z5, Z7, Z8, Z9, Z12\n",
"2.5 Z0, Z1, Z5, Z8, Z9, Z11, Z12\n",
"2.5 Z0, Z1, Z4, Z6, Z8, Z9, Z12\n",
"2.5 Z0, Z1, Z4, Z8, Z9, Z10, Z12\n",
"-2.5 Z0, Z1, Z7, Z8, Z9, Z11, Z12\n",
"-2.5 Z0, Z1, Z6, Z8, Z9, Z10, Z12\n",
"-2.5 Z0, Z1, Z3, Z5, Z10, Z11, Z12\n",
"2.5 Z0, Z1, Z3, Z7, Z10, Z11, Z12\n",
"-2.5 Z0, Z1, Z3, Z9, Z10, Z11, Z12\n",
"-2.5 Z0, Z1, Z2, Z4, Z10, Z11, Z12\n",
"2.5 Z0, Z1, Z2, Z6, Z10, Z11, Z12\n",
"-2.5 Z0, Z1, Z2, Z8, Z10, Z11, Z12\n",
"-2.5 Z0, Z1, Z5, Z7, Z10, Z11, Z12\n",
"2.5 Z0, Z1, Z5, Z9, Z10, Z11, Z12\n",
"-2.5 Z0, Z1, Z4, Z6, Z10, Z11, Z12\n",
"2.5 Z0, Z1, Z4, Z8, Z10, Z11, Z12\n",
"-2.5 Z0, Z1, Z7, Z9, Z10, Z11, Z12\n",
"-2.5 Z0, Z1, Z6, Z8, Z10, Z11, Z12\n",
"2.5 Z2, Z3, Z5, Z10, Z12\n",
"2.5 Z2, Z5, Z10, Z11, Z12\n",
"2.5 Z3, Z4, Z5, Z10, Z12\n",
"2.5 Z3, Z4, Z10, Z11, Z12\n",
"7.5 Z3, Z5, Z7, Z11, Z12\n",
"2.5 Z3, Z5, Z6, Z10, Z12\n",
"2.5 Z3, Z5, Z6, Z7, Z10, Z11, Z12\n",
"-7.5 Z3, Z5, Z9, Z11, Z12\n",
"-2.5 Z3, Z5, Z8, Z10, Z12\n",
"-2.5 Z3, Z5, Z8, Z9, Z10, Z11, Z12\n",
"-7.5 Z2, Z3, Z7, Z10, Z12\n",
"-7.5 Z2, Z7, Z10, Z11, Z12\n",
"2.5 Z3, Z4, Z7, Z10, Z12\n",
"2.5 Z3, Z4, Z5, Z7, Z10, Z11, Z12\n",
"-7.5 Z3, Z6, Z7, Z10, Z12\n",
"-7.5 Z3, Z6, Z10, Z11, Z12\n",
"7.5 Z3, Z7, Z9, Z11, Z12\n",
"2.5 Z3, Z7, Z8, Z10, Z12\n",
"2.5 Z3, Z7, Z8, Z9, Z10, Z11, Z12\n",
"2.5 Z2, Z3, Z9, Z10, Z12\n",
"2.5 Z2, Z9, Z10, Z11, Z12\n",
"-2.5 Z3, Z4, Z9, Z10, Z12\n",
"-2.5 Z3, Z4, Z5, Z9, Z10, Z11, Z12\n",
"2.5 Z3, Z6, Z9, Z10, Z12\n",
"2.5 Z3, Z6, Z7, Z9, Z10, Z11, Z12\n",
"2.5 Z3, Z8, Z9, Z10, Z12\n",
"2.5 Z3, Z8, Z10, Z11, Z12\n",
"2.5 Z2, Z3, Z4, Z11, Z12\n",
"-7.5 Z2, Z3, Z6, Z11, Z12\n",
"2.5 Z2, Z3, Z8, Z11, Z12\n",
"2.5 Z2, Z4, Z5, Z11, Z12\n",
"-7.5 Z2, Z6, Z7, Z11, Z12\n",
"2.5 Z2, Z8, Z9, Z11, Z12\n",
"2.5 Z3, Z4, Z6, Z11, Z12\n",
"-2.5 Z3, Z4, Z8, Z11, Z12\n",
"2.5 Z3, Z4, Z5, Z6, Z7, Z11, Z12\n",
"-2.5 Z3, Z4, Z5, Z8, Z9, Z11, Z12\n",
"2.5 Z3, Z6, Z8, Z11, Z12\n",
"2.5 Z3, Z6, Z7, Z8, Z9, Z11, Z12\n",
"2.5 Z2, Z4, Z7, Z11, Z12\n",
"7.5 Z2, Z4, Z6, Z10, Z12\n",
"2.5 Z2, Z4, Z6, Z7, Z10, Z11, Z12\n",
"-2.5 Z2, Z4, Z9, Z11, Z12\n",
"-7.5 Z2, Z4, Z8, Z10, Z12\n",
"-2.5 Z2, Z4, Z8, Z9, Z10, Z11, Z12\n",
"2.5 Z2, Z5, Z6, Z11, Z12\n",
"2.5 Z2, Z4, Z5, Z6, Z10, Z11, Z12\n",
"2.5 Z2, Z6, Z9, Z11, Z12\n",
"7.5 Z2, Z6, Z8, Z10, Z12\n",
"2.5 Z2, Z6, Z8, Z9, Z10, Z11, Z12\n",
"-2.5 Z2, Z5, Z8, Z11, Z12\n",
"-2.5 Z2, Z4, Z5, Z8, Z10, Z11, Z12\n",
"2.5 Z2, Z7, Z8, Z11, Z12\n",
"2.5 Z2, Z6, Z7, Z8, Z10, Z11, Z12\n",
"2.5 Z2, Z5, Z7, Z10, Z12\n",
"-2.5 Z2, Z5, Z9, Z10, Z12\n",
"2.5 Z2, Z4, Z5, Z6, Z7, Z10, Z12\n",
"-2.5 Z2, Z4, Z5, Z8, Z9, Z10, Z12\n",
"2.5 Z2, Z7, Z9, Z10, Z12\n",
"2.5 Z2, Z6, Z7, Z8, Z9, Z10, Z12\n",
"2.5 Z2, Z3, Z4, Z5, Z7, Z11, Z12\n",
"2.5 Z2, Z3, Z4, Z5, Z6, Z10, Z12\n",
"7.5 Z2, Z3, Z4, Z5, Z6, Z7, Z10, Z11, Z12\n",
"-2.5 Z2, Z3, Z4, Z5, Z9, Z11, Z12\n",
"-2.5 Z2, Z3, Z4, Z5, Z8, Z10, Z12\n",
"-7.5 Z2, Z3, Z4, Z5, Z8, Z9, Z10, Z11, Z12\n",
"2.5 Z2, Z3, Z5, Z6, Z7, Z11, Z12\n",
"2.5 Z2, Z3, Z4, Z6, Z7, Z10, Z12\n",
"2.5 Z2, Z3, Z6, Z7, Z9, Z11, Z12\n",
"2.5 Z2, Z3, Z6, Z7, Z8, Z10, Z12\n",
"7.5 Z2, Z3, Z6, Z7, Z8, Z9, Z10, Z11, Z12\n",
"-2.5 Z2, Z3, Z5, Z8, Z9, Z11, Z12\n",
"-2.5 Z2, Z3, Z4, Z8, Z9, Z10, Z12\n",
"2.5 Z2, Z3, Z7, Z8, Z9, Z11, Z12\n",
"2.5 Z2, Z3, Z6, Z8, Z9, Z10, Z12\n",
"2.5 Z2, Z3, Z5, Z7, Z10, Z11, Z12\n",
"-2.5 Z2, Z3, Z5, Z9, Z10, Z11, Z12\n",
"2.5 Z2, Z3, Z4, Z6, Z10, Z11, Z12\n",
"-2.5 Z2, Z3, Z4, Z8, Z10, Z11, Z12\n",
"2.5 Z2, Z3, Z7, Z9, Z10, Z11, Z12\n",
"2.5 Z2, Z3, Z6, Z8, Z10, Z11, Z12\n",
"2.5 Z4, Z5, Z7, Z10, Z12\n",
"2.5 Z4, Z7, Z10, Z11, Z12\n",
"2.5 Z5, Z6, Z7, Z10, Z12\n",
"2.5 Z5, Z6, Z10, Z11, Z12\n",
"-7.5 Z5, Z7, Z9, Z11, Z12\n",
"-2.5 Z5, Z7, Z8, Z10, Z12\n",
"-2.5 Z5, Z7, Z8, Z9, Z10, Z11, Z12\n",
"2.5 Z4, Z5, Z9, Z10, Z12\n",
"2.5 Z4, Z9, Z10, Z11, Z12\n",
"-2.5 Z5, Z6, Z9, Z10, Z12\n",
"-2.5 Z5, Z6, Z7, Z9, Z10, Z11, Z12\n",
"2.5 Z5, Z8, Z9, Z10, Z12\n",
"2.5 Z5, Z8, Z10, Z11, Z12\n",
"2.5 Z4, Z5, Z6, Z11, Z12\n",
"2.5 Z4, Z5, Z8, Z11, Z12\n",
"2.5 Z4, Z6, Z7, Z11, Z12\n",
"2.5 Z4, Z8, Z9, Z11, Z12\n",
"-2.5 Z5, Z6, Z8, Z11, Z12\n",
"-2.5 Z5, Z6, Z7, Z8, Z9, Z11, Z12\n",
"-2.5 Z4, Z6, Z9, Z11, Z12\n",
"-7.5 Z4, Z6, Z8, Z10, Z12\n",
"-2.5 Z4, Z6, Z8, Z9, Z10, Z11, Z12\n",
"-2.5 Z4, Z7, Z8, Z11, Z12\n",
"-2.5 Z4, Z6, Z7, Z8, Z10, Z11, Z12\n",
"-2.5 Z4, Z7, Z9, Z10, Z12\n",
"-2.5 Z4, Z6, Z7, Z8, Z9, Z10, Z12\n",
"-2.5 Z4, Z5, Z6, Z7, Z9, Z11, Z12\n",
"-2.5 Z4, Z5, Z6, Z7, Z8, Z10, Z12\n",
"-7.5 Z4, Z5, Z6, Z7, Z8, Z9, Z10, Z11, Z12\n",
"-2.5 Z4, Z5, Z7, Z8, Z9, Z11, Z12\n",
"-2.5 Z4, Z5, Z6, Z8, Z9, Z10, Z12\n",
"-2.5 Z4, Z5, Z7, Z9, Z10, Z11, Z12\n",
"-2.5 Z4, Z5, Z6, Z8, Z10, Z11, Z12\n",
"2.5 Z6, Z7, Z9, Z10, Z12\n",
"2.5 Z6, Z9, Z10, Z11, Z12\n",
"2.5 Z7, Z8, Z9, Z10, Z12\n",
"2.5 Z7, Z8, Z10, Z11, Z12\n",
"2.5 Z6, Z7, Z8, Z11, Z12\n",
"2.5 Z6, Z8, Z9, Z11, Z12\n",
"-157.34050000000002 Z13\n",
"30.0 Z3, Z5, Z13\n",
"-40.0 Z3, Z7, Z13\n",
"30.0 Z3, Z9, Z13\n",
"-27.5 Z3, Z11, Z13\n",
"30.0 Z2, Z4, Z13\n",
"-40.0 Z2, Z6, Z13\n",
"30.0 Z2, Z8, Z13\n",
"-27.5 Z2, Z10, Z13\n",
"30.0 Z2, Z3, Z4, Z5, Z13\n",
"-40.0 Z2, Z3, Z6, Z7, Z13\n",
"30.0 Z2, Z3, Z8, Z9, Z13\n",
"-27.5 Z2, Z3, Z10, Z11, Z13\n",
"37.5 Z5, Z7, Z13\n",
"-52.5 Z5, Z9, Z13\n",
"30.0 Z5, Z11, Z13\n",
"37.5 Z4, Z6, Z13\n",
"-52.5 Z4, Z8, Z13\n",
"30.0 Z4, Z10, Z13\n",
"37.5 Z4, Z5, Z6, Z7, Z13\n",
"-52.5 Z4, Z5, Z8, Z9, Z13\n",
"30.0 Z4, Z5, Z10, Z11, Z13\n",
"37.5 Z7, Z9, Z13\n",
"-40.0 Z7, Z11, Z13\n",
"37.5 Z6, Z8, Z13\n",
"-40.0 Z6, Z10, Z13\n",
"37.5 Z6, Z7, Z8, Z9, Z13\n",
"-40.0 Z6, Z7, Z10, Z11, Z13\n",
"30.0 Z9, Z11, Z13\n",
"30.0 Z8, Z10, Z13\n",
"30.0 Z8, Z9, Z10, Z11, Z13\n",
"20.0 Z1, Z3, Z13\n",
"-25.0 Z1, Z5, Z13\n",
"20.0 Z1, Z7, Z13\n",
"-25.0 Z1, Z9, Z13\n",
"20.0 Z1, Z11, Z13\n",
"20.0 Z0, Z2, Z13\n",
"-25.0 Z0, Z4, Z13\n",
"20.0 Z0, Z6, Z13\n",
"-25.0 Z0, Z8, Z13\n",
"20.0 Z0, Z10, Z13\n",
"20.0 Z0, Z1, Z2, Z3, Z13\n",
"-25.0 Z0, Z1, Z4, Z5, Z13\n",
"20.0 Z0, Z1, Z6, Z7, Z13\n",
"-25.0 Z0, Z1, Z8, Z9, Z13\n",
"20.0 Z0, Z1, Z10, Z11, Z13\n",
"2.5 Z0, Z1, Z3, Z4, Z13\n",
"2.5 Z0, Z1, Z3, Z6, Z13\n",
"2.5 Z0, Z1, Z3, Z8, Z13\n",
"2.5 Z0, Z1, Z3, Z10, Z13\n",
"2.5 Z0, Z3, Z4, Z5, Z13\n",
"2.5 Z0, Z3, Z6, Z7, Z13\n",
"2.5 Z0, Z3, Z8, Z9, Z13\n",
"2.5 Z0, Z3, Z10, Z11, Z13\n",
"2.5 Z1, Z2, Z3, Z4, Z13\n",
"2.5 Z1, Z2, Z3, Z6, Z13\n",
"2.5 Z1, Z2, Z3, Z8, Z13\n",
"2.5 Z1, Z2, Z3, Z10, Z13\n",
"2.5 Z1, Z2, Z4, Z5, Z13\n",
"2.5 Z1, Z2, Z6, Z7, Z13\n",
"2.5 Z1, Z2, Z8, Z9, Z13\n",
"2.5 Z1, Z2, Z10, Z11, Z13\n",
"-7.5 Z1, Z3, Z5, Z7, Z13\n",
"7.5 Z1, Z3, Z5, Z9, Z13\n",
"-7.5 Z1, Z3, Z5, Z11, Z13\n",
"-2.5 Z1, Z3, Z4, Z6, Z13\n",
"2.5 Z1, Z3, Z4, Z8, Z13\n",
"-2.5 Z1, Z3, Z4, Z10, Z13\n",
"-2.5 Z1, Z3, Z4, Z5, Z6, Z7, Z13\n",
"2.5 Z1, Z3, Z4, Z5, Z8, Z9, Z13\n",
"-2.5 Z1, Z3, Z4, Z5, Z10, Z11, Z13\n",
"-7.5 Z1, Z3, Z7, Z9, Z13\n",
"7.5 Z1, Z3, Z7, Z11, Z13\n",
"-2.5 Z1, Z3, Z6, Z8, Z13\n",
"2.5 Z1, Z3, Z6, Z10, Z13\n",
"-2.5 Z1, Z3, Z6, Z7, Z8, Z9, Z13\n",
"2.5 Z1, Z3, Z6, Z7, Z10, Z11, Z13\n",
"-7.5 Z1, Z3, Z9, Z11, Z13\n",
"-2.5 Z1, Z3, Z8, Z10, Z13\n",
"-2.5 Z1, Z3, Z8, Z9, Z10, Z11, Z13\n",
"2.5 Z0, Z1, Z2, Z5, Z13\n",
"2.5 Z0, Z1, Z5, Z6, Z13\n",
"-7.5 Z0, Z1, Z5, Z8, Z13\n",
"2.5 Z0, Z1, Z5, Z10, Z13\n",
"2.5 Z0, Z2, Z3, Z5, Z13\n",
"2.5 Z0, Z5, Z6, Z7, Z13\n",
"-7.5 Z0, Z5, Z8, Z9, Z13\n",
"2.5 Z0, Z5, Z10, Z11, Z13\n",
"-2.5 Z1, Z2, Z5, Z6, Z13\n",
"2.5 Z1, Z2, Z5, Z8, Z13\n",
"-2.5 Z1, Z2, Z5, Z10, Z13\n",
"-2.5 Z1, Z2, Z3, Z5, Z6, Z7, Z13\n",
"2.5 Z1, Z2, Z3, Z5, Z8, Z9, Z13\n",
"-2.5 Z1, Z2, Z3, Z5, Z10, Z11, Z13\n",
"2.5 Z1, Z4, Z5, Z6, Z13\n",
"-7.5 Z1, Z4, Z5, Z8, Z13\n",
"2.5 Z1, Z4, Z5, Z10, Z13\n",
"2.5 Z1, Z4, Z6, Z7, Z13\n",
"-7.5 Z1, Z4, Z8, Z9, Z13\n",
"2.5 Z1, Z4, Z10, Z11, Z13\n",
"7.5 Z1, Z5, Z7, Z9, Z13\n",
"-7.5 Z1, Z5, Z7, Z11, Z13\n",
"2.5 Z1, Z5, Z6, Z8, Z13\n",
"-2.5 Z1, Z5, Z6, Z10, Z13\n",
"2.5 Z1, Z5, Z6, Z7, Z8, Z9, Z13\n",
"-2.5 Z1, Z5, Z6, Z7, Z10, Z11, Z13\n",
"7.5 Z1, Z5, Z9, Z11, Z13\n",
"2.5 Z1, Z5, Z8, Z10, Z13\n",
"2.5 Z1, Z5, Z8, Z9, Z10, Z11, Z13\n",
"2.5 Z0, Z1, Z2, Z7, Z13\n",
"2.5 Z0, Z1, Z4, Z7, Z13\n",
"2.5 Z0, Z1, Z7, Z8, Z13\n",
"2.5 Z0, Z1, Z7, Z10, Z13\n",
"2.5 Z0, Z2, Z3, Z7, Z13\n",
"2.5 Z0, Z4, Z5, Z7, Z13\n",
"2.5 Z0, Z7, Z8, Z9, Z13\n",
"2.5 Z0, Z7, Z10, Z11, Z13\n",
"-2.5 Z1, Z2, Z4, Z7, Z13\n",
"-2.5 Z1, Z2, Z7, Z8, Z13\n",
"2.5 Z1, Z2, Z7, Z10, Z13\n",
"-2.5 Z1, Z2, Z3, Z4, Z5, Z7, Z13\n",
"-2.5 Z1, Z2, Z3, Z7, Z8, Z9, Z13\n",
"2.5 Z1, Z2, Z3, Z7, Z10, Z11, Z13\n",
"2.5 Z1, Z4, Z7, Z8, Z13\n",
"-2.5 Z1, Z4, Z7, Z10, Z13\n",
"2.5 Z1, Z4, Z5, Z7, Z8, Z9, Z13\n",
"-2.5 Z1, Z4, Z5, Z7, Z10, Z11, Z13\n",
"2.5 Z1, Z6, Z7, Z8, Z13\n",
"2.5 Z1, Z6, Z7, Z10, Z13\n",
"2.5 Z1, Z6, Z8, Z9, Z13\n",
"2.5 Z1, Z6, Z10, Z11, Z13\n",
"-7.5 Z1, Z7, Z9, Z11, Z13\n",
"-2.5 Z1, Z7, Z8, Z10, Z13\n",
"-2.5 Z1, Z7, Z8, Z9, Z10, Z11, Z13\n",
"2.5 Z0, Z1, Z2, Z9, Z13\n",
"-7.5 Z0, Z1, Z4, Z9, Z13\n",
"2.5 Z0, Z1, Z6, Z9, Z13\n",
"2.5 Z0, Z1, Z9, Z10, Z13\n",
"2.5 Z0, Z2, Z3, Z9, Z13\n",
"-7.5 Z0, Z4, Z5, Z9, Z13\n",
"2.5 Z0, Z6, Z7, Z9, Z13\n",
"2.5 Z0, Z9, Z10, Z11, Z13\n",
"2.5 Z1, Z2, Z4, Z9, Z13\n",
"-2.5 Z1, Z2, Z6, Z9, Z13\n",
"-2.5 Z1, Z2, Z9, Z10, Z13\n",
"2.5 Z1, Z2, Z3, Z4, Z5, Z9, Z13\n",
"-2.5 Z1, Z2, Z3, Z6, Z7, Z9, Z13\n",
"-2.5 Z1, Z2, Z3, Z9, Z10, Z11, Z13\n",
"2.5 Z1, Z4, Z6, Z9, Z13\n",
"2.5 Z1, Z4, Z9, Z10, Z13\n",
"2.5 Z1, Z4, Z5, Z6, Z7, Z9, Z13\n",
"2.5 Z1, Z4, Z5, Z9, Z10, Z11, Z13\n",
"-2.5 Z1, Z6, Z9, Z10, Z13\n",
"-2.5 Z1, Z6, Z7, Z9, Z10, Z11, Z13\n",
"2.5 Z1, Z8, Z9, Z10, Z13\n",
"2.5 Z1, Z8, Z10, Z11, Z13\n",
"2.5 Z0, Z1, Z2, Z11, Z13\n",
"2.5 Z0, Z1, Z4, Z11, Z13\n",
"2.5 Z0, Z1, Z6, Z11, Z13\n",
"2.5 Z0, Z1, Z8, Z11, Z13\n",
"2.5 Z0, Z2, Z3, Z11, Z13\n",
"2.5 Z0, Z4, Z5, Z11, Z13\n",
"2.5 Z0, Z6, Z7, Z11, Z13\n",
"2.5 Z0, Z8, Z9, Z11, Z13\n",
"-2.5 Z1, Z2, Z4, Z11, Z13\n",
"2.5 Z1, Z2, Z6, Z11, Z13\n",
"-2.5 Z1, Z2, Z8, Z11, Z13\n",
"-2.5 Z1, Z2, Z3, Z4, Z5, Z11, Z13\n",
"2.5 Z1, Z2, Z3, Z6, Z7, Z11, Z13\n",
"-2.5 Z1, Z2, Z3, Z8, Z9, Z11, Z13\n",
"-2.5 Z1, Z4, Z6, Z11, Z13\n",
"2.5 Z1, Z4, Z8, Z11, Z13\n",
"-2.5 Z1, Z4, Z5, Z6, Z7, Z11, Z13\n",
"2.5 Z1, Z4, Z5, Z8, Z9, Z11, Z13\n",
"-2.5 Z1, Z6, Z8, Z11, Z13\n",
"-2.5 Z1, Z6, Z7, Z8, Z9, Z11, Z13\n",
"-2.5 Z0, Z2, Z5, Z7, Z13\n",
"2.5 Z0, Z2, Z5, Z9, Z13\n",
"-2.5 Z0, Z2, Z5, Z11, Z13\n",
"-7.5 Z0, Z2, Z4, Z6, Z13\n",
"7.5 Z0, Z2, Z4, Z8, Z13\n",
"-7.5 Z0, Z2, Z4, Z10, Z13\n",
"-2.5 Z0, Z2, Z4, Z5, Z6, Z7, Z13\n",
"2.5 Z0, Z2, Z4, Z5, Z8, Z9, Z13\n",
"-2.5 Z0, Z2, Z4, Z5, Z10, Z11, Z13\n",
"-2.5 Z0, Z2, Z7, Z9, Z13\n",
"2.5 Z0, Z2, Z7, Z11, Z13\n",
"-7.5 Z0, Z2, Z6, Z8, Z13\n",
"7.5 Z0, Z2, Z6, Z10, Z13\n",
"-2.5 Z0, Z2, Z6, Z7, Z8, Z9, Z13\n",
"2.5 Z0, Z2, Z6, Z7, Z10, Z11, Z13\n",
"-2.5 Z0, Z2, Z9, Z11, Z13\n",
"-7.5 Z0, Z2, Z8, Z10, Z13\n",
"-2.5 Z0, Z2, Z8, Z9, Z10, Z11, Z13\n",
"-2.5 Z0, Z3, Z4, Z7, Z13\n",
"2.5 Z0, Z3, Z4, Z9, Z13\n",
"-2.5 Z0, Z3, Z4, Z11, Z13\n",
"-2.5 Z0, Z2, Z3, Z4, Z6, Z7, Z13\n",
"2.5 Z0, Z2, Z3, Z4, Z8, Z9, Z13\n",
"-2.5 Z0, Z2, Z3, Z4, Z10, Z11, Z13\n",
"2.5 Z0, Z4, Z7, Z9, Z13\n",
"-2.5 Z0, Z4, Z7, Z11, Z13\n",
"7.5 Z0, Z4, Z6, Z8, Z13\n",
"-7.5 Z0, Z4, Z6, Z10, Z13\n",
"2.5 Z0, Z4, Z6, Z7, Z8, Z9, Z13\n",
"-2.5 Z0, Z4, Z6, Z7, Z10, Z11, Z13\n",
"2.5 Z0, Z4, Z9, Z11, Z13\n",
"7.5 Z0, Z4, Z8, Z10, Z13\n",
"2.5 Z0, Z4, Z8, Z9, Z10, Z11, Z13\n",
"-2.5 Z0, Z3, Z5, Z6, Z13\n",
"-2.5 Z0, Z3, Z6, Z9, Z13\n",
"2.5 Z0, Z3, Z6, Z11, Z13\n",
"-2.5 Z0, Z2, Z3, Z4, Z5, Z6, Z13\n",
"-2.5 Z0, Z2, Z3, Z6, Z8, Z9, Z13\n",
"2.5 Z0, Z2, Z3, Z6, Z10, Z11, Z13\n",
"2.5 Z0, Z5, Z6, Z9, Z13\n",
"-2.5 Z0, Z5, Z6, Z11, Z13\n",
"2.5 Z0, Z4, Z5, Z6, Z8, Z9, Z13\n",
"-2.5 Z0, Z4, Z5, Z6, Z10, Z11, Z13\n",
"-2.5 Z0, Z6, Z9, Z11, Z13\n",
"-7.5 Z0, Z6, Z8, Z10, Z13\n",
"-2.5 Z0, Z6, Z8, Z9, Z10, Z11, Z13\n",
"2.5 Z0, Z3, Z5, Z8, Z13\n",
"-2.5 Z0, Z3, Z7, Z8, Z13\n",
"-2.5 Z0, Z3, Z8, Z11, Z13\n",
"2.5 Z0, Z2, Z3, Z4, Z5, Z8, Z13\n",
"-2.5 Z0, Z2, Z3, Z6, Z7, Z8, Z13\n",
"-2.5 Z0, Z2, Z3, Z8, Z10, Z11, Z13\n",
"2.5 Z0, Z5, Z7, Z8, Z13\n",
"2.5 Z0, Z5, Z8, Z11, Z13\n",
"2.5 Z0, Z4, Z5, Z6, Z7, Z8, Z13\n",
"2.5 Z0, Z4, Z5, Z8, Z10, Z11, Z13\n",
"-2.5 Z0, Z7, Z8, Z11, Z13\n",
"-2.5 Z0, Z6, Z7, Z8, Z10, Z11, Z13\n",
"-2.5 Z0, Z3, Z5, Z10, Z13\n",
"2.5 Z0, Z3, Z7, Z10, Z13\n",
"-2.5 Z0, Z3, Z9, Z10, Z13\n",
"-2.5 Z0, Z2, Z3, Z4, Z5, Z10, Z13\n",
"2.5 Z0, Z2, Z3, Z6, Z7, Z10, Z13\n",
"-2.5 Z0, Z2, Z3, Z8, Z9, Z10, Z13\n",
"-2.5 Z0, Z5, Z7, Z10, Z13\n",
"2.5 Z0, Z5, Z9, Z10, Z13\n",
"-2.5 Z0, Z4, Z5, Z6, Z7, Z10, Z13\n",
"2.5 Z0, Z4, Z5, Z8, Z9, Z10, Z13\n",
"-2.5 Z0, Z7, Z9, Z10, Z13\n",
"-2.5 Z0, Z6, Z7, Z8, Z9, Z10, Z13\n",
"-2.5 Z0, Z1, Z2, Z3, Z5, Z7, Z13\n",
"2.5 Z0, Z1, Z2, Z3, Z5, Z9, Z13\n",
"-2.5 Z0, Z1, Z2, Z3, Z5, Z11, Z13\n",
"-2.5 Z0, Z1, Z2, Z3, Z4, Z6, Z13\n",
"2.5 Z0, Z1, Z2, Z3, Z4, Z8, Z13\n",
"-2.5 Z0, Z1, Z2, Z3, Z4, Z10, Z13\n",
"-7.5 Z0, Z1, Z2, Z3, Z4, Z5, Z6, Z7, Z13\n",
"7.5 Z0, Z1, Z2, Z3, Z4, Z5, Z8, Z9, Z13\n",
"-7.5 Z0, Z1, Z2, Z3, Z4, Z5, Z10, Z11, Z13\n",
"-2.5 Z0, Z1, Z2, Z3, Z7, Z9, Z13\n",
"2.5 Z0, Z1, Z2, Z3, Z7, Z11, Z13\n",
"-2.5 Z0, Z1, Z2, Z3, Z6, Z8, Z13\n",
"2.5 Z0, Z1, Z2, Z3, Z6, Z10, Z13\n",
"-7.5 Z0, Z1, Z2, Z3, Z6, Z7, Z8, Z9, Z13\n",
"7.5 Z0, Z1, Z2, Z3, Z6, Z7, Z10, Z11, Z13\n",
"-2.5 Z0, Z1, Z2, Z3, Z9, Z11, Z13\n",
"-2.5 Z0, Z1, Z2, Z3, Z8, Z10, Z13\n",
"-7.5 Z0, Z1, Z2, Z3, Z8, Z9, Z10, Z11, Z13\n",
"-2.5 Z0, Z1, Z3, Z4, Z5, Z7, Z13\n",
"2.5 Z0, Z1, Z3, Z4, Z5, Z9, Z13\n",
"-2.5 Z0, Z1, Z3, Z4, Z5, Z11, Z13\n",
"-2.5 Z0, Z1, Z2, Z4, Z5, Z6, Z13\n",
"2.5 Z0, Z1, Z2, Z4, Z5, Z8, Z13\n",
"-2.5 Z0, Z1, Z2, Z4, Z5, Z10, Z13\n",
"2.5 Z0, Z1, Z4, Z5, Z7, Z9, Z13\n",
"-2.5 Z0, Z1, Z4, Z5, Z7, Z11, Z13\n",
"2.5 Z0, Z1, Z4, Z5, Z6, Z8, Z13\n",
"-2.5 Z0, Z1, Z4, Z5, Z6, Z10, Z13\n",
"7.5 Z0, Z1, Z4, Z5, Z6, Z7, Z8, Z9, Z13\n",
"-7.5 Z0, Z1, Z4, Z5, Z6, Z7, Z10, Z11, Z13\n",
"2.5 Z0, Z1, Z4, Z5, Z9, Z11, Z13\n",
"2.5 Z0, Z1, Z4, Z5, Z8, Z10, Z13\n",
"7.5 Z0, Z1, Z4, Z5, Z8, Z9, Z10, Z11, Z13\n",
"-2.5 Z0, Z1, Z3, Z5, Z6, Z7, Z13\n",
"-2.5 Z0, Z1, Z3, Z6, Z7, Z9, Z13\n",
"2.5 Z0, Z1, Z3, Z6, Z7, Z11, Z13\n",
"-2.5 Z0, Z1, Z2, Z4, Z6, Z7, Z13\n",
"-2.5 Z0, Z1, Z2, Z6, Z7, Z8, Z13\n",
"2.5 Z0, Z1, Z2, Z6, Z7, Z10, Z13\n",
"2.5 Z0, Z1, Z5, Z6, Z7, Z9, Z13\n",
"-2.5 Z0, Z1, Z5, Z6, Z7, Z11, Z13\n",
"2.5 Z0, Z1, Z4, Z6, Z7, Z8, Z13\n",
"-2.5 Z0, Z1, Z4, Z6, Z7, Z10, Z13\n",
"-2.5 Z0, Z1, Z6, Z7, Z9, Z11, Z13\n",
"-2.5 Z0, Z1, Z6, Z7, Z8, Z10, Z13\n",
"-7.5 Z0, Z1, Z6, Z7, Z8, Z9, Z10, Z11, Z13\n",
"2.5 Z0, Z1, Z3, Z5, Z8, Z9, Z13\n",
"-2.5 Z0, Z1, Z3, Z7, Z8, Z9, Z13\n",
"-2.5 Z0, Z1, Z3, Z8, Z9, Z11, Z13\n",
"2.5 Z0, Z1, Z2, Z4, Z8, Z9, Z13\n",
"-2.5 Z0, Z1, Z2, Z6, Z8, Z9, Z13\n",
"-2.5 Z0, Z1, Z2, Z8, Z9, Z10, Z13\n",
"2.5 Z0, Z1, Z5, Z7, Z8, Z9, Z13\n",
"2.5 Z0, Z1, Z5, Z8, Z9, Z11, Z13\n",
"2.5 Z0, Z1, Z4, Z6, Z8, Z9, Z13\n",
"2.5 Z0, Z1, Z4, Z8, Z9, Z10, Z13\n",
"-2.5 Z0, Z1, Z7, Z8, Z9, Z11, Z13\n",
"-2.5 Z0, Z1, Z6, Z8, Z9, Z10, Z13\n",
"-2.5 Z0, Z1, Z3, Z5, Z10, Z11, Z13\n",
"2.5 Z0, Z1, Z3, Z7, Z10, Z11, Z13\n",
"-2.5 Z0, Z1, Z3, Z9, Z10, Z11, Z13\n",
"-2.5 Z0, Z1, Z2, Z4, Z10, Z11, Z13\n",
"2.5 Z0, Z1, Z2, Z6, Z10, Z11, Z13\n",
"-2.5 Z0, Z1, Z2, Z8, Z10, Z11, Z13\n",
"-2.5 Z0, Z1, Z5, Z7, Z10, Z11, Z13\n",
"2.5 Z0, Z1, Z5, Z9, Z10, Z11, Z13\n",
"-2.5 Z0, Z1, Z4, Z6, Z10, Z11, Z13\n",
"2.5 Z0, Z1, Z4, Z8, Z10, Z11, Z13\n",
"-2.5 Z0, Z1, Z7, Z9, Z10, Z11, Z13\n",
"-2.5 Z0, Z1, Z6, Z8, Z10, Z11, Z13\n",
"5.0 Z2, Z3, Z5, Z6, Z13\n",
"5.0 Z2, Z3, Z5, Z8, Z13\n",
"2.5 Z2, Z3, Z5, Z10, Z13\n",
"5.0 Z2, Z5, Z6, Z7, Z13\n",
"5.0 Z2, Z5, Z8, Z9, Z13\n",
"2.5 Z2, Z5, Z10, Z11, Z13\n",
"5.0 Z3, Z4, Z5, Z6, Z13\n",
"5.0 Z3, Z4, Z5, Z8, Z13\n",
"2.5 Z3, Z4, Z5, Z10, Z13\n",
"5.0 Z3, Z4, Z6, Z7, Z13\n",
"5.0 Z3, Z4, Z8, Z9, Z13\n",
"2.5 Z3, Z4, Z10, Z11, Z13\n",
"-15.0 Z3, Z5, Z7, Z9, Z13\n",
"7.5 Z3, Z5, Z7, Z11, Z13\n",
"-5.0 Z3, Z5, Z6, Z8, Z13\n",
"2.5 Z3, Z5, Z6, Z10, Z13\n",
"-5.0 Z3, Z5, Z6, Z7, Z8, Z9, Z13\n",
"2.5 Z3, Z5, Z6, Z7, Z10, Z11, Z13\n",
"-7.5 Z3, Z5, Z9, Z11, Z13\n",
"-2.5 Z3, Z5, Z8, Z10, Z13\n",
"-2.5 Z3, Z5, Z8, Z9, Z10, Z11, Z13\n",
"5.0 Z2, Z3, Z4, Z7, Z13\n",
"5.0 Z2, Z3, Z7, Z8, Z13\n",
"-7.5 Z2, Z3, Z7, Z10, Z13\n",
"5.0 Z2, Z4, Z5, Z7, Z13\n",
"5.0 Z2, Z7, Z8, Z9, Z13\n",
"-7.5 Z2, Z7, Z10, Z11, Z13\n",
"-5.0 Z3, Z4, Z7, Z8, Z13\n",
"2.5 Z3, Z4, Z7, Z10, Z13\n",
"-5.0 Z3, Z4, Z5, Z7, Z8, Z9, Z13\n",
"2.5 Z3, Z4, Z5, Z7, Z10, Z11, Z13\n",
"5.0 Z3, Z6, Z7, Z8, Z13\n",
"-7.5 Z3, Z6, Z7, Z10, Z13\n",
"5.0 Z3, Z6, Z8, Z9, Z13\n",
"-7.5 Z3, Z6, Z10, Z11, Z13\n",
"7.5 Z3, Z7, Z9, Z11, Z13\n",
"2.5 Z3, Z7, Z8, Z10, Z13\n",
"2.5 Z3, Z7, Z8, Z9, Z10, Z11, Z13\n",
"5.0 Z2, Z3, Z4, Z9, Z13\n",
"5.0 Z2, Z3, Z6, Z9, Z13\n",
"2.5 Z2, Z3, Z9, Z10, Z13\n",
"5.0 Z2, Z4, Z5, Z9, Z13\n",
"5.0 Z2, Z6, Z7, Z9, Z13\n",
"2.5 Z2, Z9, Z10, Z11, Z13\n",
"-5.0 Z3, Z4, Z6, Z9, Z13\n",
"-2.5 Z3, Z4, Z9, Z10, Z13\n",
"-5.0 Z3, Z4, Z5, Z6, Z7, Z9, Z13\n",
"-2.5 Z3, Z4, Z5, Z9, Z10, Z11, Z13\n",
"2.5 Z3, Z6, Z9, Z10, Z13\n",
"2.5 Z3, Z6, Z7, Z9, Z10, Z11, Z13\n",
"2.5 Z3, Z8, Z9, Z10, Z13\n",
"2.5 Z3, Z8, Z10, Z11, Z13\n",
"2.5 Z2, Z3, Z4, Z11, Z13\n",
"-7.5 Z2, Z3, Z6, Z11, Z13\n",
"2.5 Z2, Z3, Z8, Z11, Z13\n",
"2.5 Z2, Z4, Z5, Z11, Z13\n",
"-7.5 Z2, Z6, Z7, Z11, Z13\n",
"2.5 Z2, Z8, Z9, Z11, Z13\n",
"2.5 Z3, Z4, Z6, Z11, Z13\n",
"-2.5 Z3, Z4, Z8, Z11, Z13\n",
"2.5 Z3, Z4, Z5, Z6, Z7, Z11, Z13\n",
"-2.5 Z3, Z4, Z5, Z8, Z9, Z11, Z13\n",
"2.5 Z3, Z6, Z8, Z11, Z13\n",
"2.5 Z3, Z6, Z7, Z8, Z9, Z11, Z13\n",
"-5.0 Z2, Z4, Z7, Z9, Z13\n",
"2.5 Z2, Z4, Z7, Z11, Z13\n",
"-15.0 Z2, Z4, Z6, Z8, Z13\n",
"7.5 Z2, Z4, Z6, Z10, Z13\n",
"-5.0 Z2, Z4, Z6, Z7, Z8, Z9, Z13\n",
"2.5 Z2, Z4, Z6, Z7, Z10, Z11, Z13\n",
"-2.5 Z2, Z4, Z9, Z11, Z13\n",
"-7.5 Z2, Z4, Z8, Z10, Z13\n",
"-2.5 Z2, Z4, Z8, Z9, Z10, Z11, Z13\n",
"-5.0 Z2, Z5, Z6, Z9, Z13\n",
"2.5 Z2, Z5, Z6, Z11, Z13\n",
"-5.0 Z2, Z4, Z5, Z6, Z8, Z9, Z13\n",
"2.5 Z2, Z4, Z5, Z6, Z10, Z11, Z13\n",
"2.5 Z2, Z6, Z9, Z11, Z13\n",
"7.5 Z2, Z6, Z8, Z10, Z13\n",
"2.5 Z2, Z6, Z8, Z9, Z10, Z11, Z13\n",
"-5.0 Z2, Z5, Z7, Z8, Z13\n",
"-2.5 Z2, Z5, Z8, Z11, Z13\n",
"-5.0 Z2, Z4, Z5, Z6, Z7, Z8, Z13\n",
"-2.5 Z2, Z4, Z5, Z8, Z10, Z11, Z13\n",
"2.5 Z2, Z7, Z8, Z11, Z13\n",
"2.5 Z2, Z6, Z7, Z8, Z10, Z11, Z13\n",
"2.5 Z2, Z5, Z7, Z10, Z13\n",
"-2.5 Z2, Z5, Z9, Z10, Z13\n",
"2.5 Z2, Z4, Z5, Z6, Z7, Z10, Z13\n",
"-2.5 Z2, Z4, Z5, Z8, Z9, Z10, Z13\n",
"2.5 Z2, Z7, Z9, Z10, Z13\n",
"2.5 Z2, Z6, Z7, Z8, Z9, Z10, Z13\n",
"-5.0 Z2, Z3, Z4, Z5, Z7, Z9, Z13\n",
"2.5 Z2, Z3, Z4, Z5, Z7, Z11, Z13\n",
"-5.0 Z2, Z3, Z4, Z5, Z6, Z8, Z13\n",
"2.5 Z2, Z3, Z4, Z5, Z6, Z10, Z13\n",
"-15.0 Z2, Z3, Z4, Z5, Z6, Z7, Z8, Z9, Z13\n",
"7.5 Z2, Z3, Z4, Z5, Z6, Z7, Z10, Z11, Z13\n",
"-2.5 Z2, Z3, Z4, Z5, Z9, Z11, Z13\n",
"-2.5 Z2, Z3, Z4, Z5, Z8, Z10, Z13\n",
"-7.5 Z2, Z3, Z4, Z5, Z8, Z9, Z10, Z11, Z13\n",
"-5.0 Z2, Z3, Z5, Z6, Z7, Z9, Z13\n",
"2.5 Z2, Z3, Z5, Z6, Z7, Z11, Z13\n",
"-5.0 Z2, Z3, Z4, Z6, Z7, Z8, Z13\n",
"2.5 Z2, Z3, Z4, Z6, Z7, Z10, Z13\n",
"2.5 Z2, Z3, Z6, Z7, Z9, Z11, Z13\n",
"2.5 Z2, Z3, Z6, Z7, Z8, Z10, Z13\n",
"7.5 Z2, Z3, Z6, Z7, Z8, Z9, Z10, Z11, Z13\n",
"-5.0 Z2, Z3, Z5, Z7, Z8, Z9, Z13\n",
"-2.5 Z2, Z3, Z5, Z8, Z9, Z11, Z13\n",
"-5.0 Z2, Z3, Z4, Z6, Z8, Z9, Z13\n",
"-2.5 Z2, Z3, Z4, Z8, Z9, Z10, Z13\n",
"2.5 Z2, Z3, Z7, Z8, Z9, Z11, Z13\n",
"2.5 Z2, Z3, Z6, Z8, Z9, Z10, Z13\n",
"2.5 Z2, Z3, Z5, Z7, Z10, Z11, Z13\n",
"-2.5 Z2, Z3, Z5, Z9, Z10, Z11, Z13\n",
"2.5 Z2, Z3, Z4, Z6, Z10, Z11, Z13\n",
"-2.5 Z2, Z3, Z4, Z8, Z10, Z11, Z13\n",
"2.5 Z2, Z3, Z7, Z9, Z10, Z11, Z13\n",
"2.5 Z2, Z3, Z6, Z8, Z10, Z11, Z13\n",
"7.5 Z4, Z5, Z7, Z8, Z13\n",
"5.0 Z4, Z5, Z7, Z10, Z13\n",
"7.5 Z4, Z7, Z8, Z9, Z13\n",
"5.0 Z4, Z7, Z10, Z11, Z13\n",
"7.5 Z5, Z6, Z7, Z8, Z13\n",
"5.0 Z5, Z6, Z7, Z10, Z13\n",
"7.5 Z5, Z6, Z8, Z9, Z13\n",
"5.0 Z5, Z6, Z10, Z11, Z13\n",
"-15.0 Z5, Z7, Z9, Z11, Z13\n",
"-5.0 Z5, Z7, Z8, Z10, Z13\n",
"-5.0 Z5, Z7, Z8, Z9, Z10, Z11, Z13\n",
"7.5 Z4, Z5, Z6, Z9, Z13\n",
"5.0 Z4, Z5, Z9, Z10, Z13\n",
"7.5 Z4, Z6, Z7, Z9, Z13\n",
"5.0 Z4, Z9, Z10, Z11, Z13\n",
"-5.0 Z5, Z6, Z9, Z10, Z13\n",
"-5.0 Z5, Z6, Z7, Z9, Z10, Z11, Z13\n",
"5.0 Z5, Z8, Z9, Z10, Z13\n",
"5.0 Z5, Z8, Z10, Z11, Z13\n",
"5.0 Z4, Z5, Z6, Z11, Z13\n",
"5.0 Z4, Z5, Z8, Z11, Z13\n",
"5.0 Z4, Z6, Z7, Z11, Z13\n",
"5.0 Z4, Z8, Z9, Z11, Z13\n",
"-5.0 Z5, Z6, Z8, Z11, Z13\n",
"-5.0 Z5, Z6, Z7, Z8, Z9, Z11, Z13\n",
"-5.0 Z4, Z6, Z9, Z11, Z13\n",
"-15.0 Z4, Z6, Z8, Z10, Z13\n",
"-5.0 Z4, Z6, Z8, Z9, Z10, Z11, Z13\n",
"-5.0 Z4, Z7, Z8, Z11, Z13\n",
"-5.0 Z4, Z6, Z7, Z8, Z10, Z11, Z13\n",
"-5.0 Z4, Z7, Z9, Z10, Z13\n",
"-5.0 Z4, Z6, Z7, Z8, Z9, Z10, Z13\n",
"-5.0 Z4, Z5, Z6, Z7, Z9, Z11, Z13\n",
"-5.0 Z4, Z5, Z6, Z7, Z8, Z10, Z13\n",
"-15.0 Z4, Z5, Z6, Z7, Z8, Z9, Z10, Z11, Z13\n",
"-5.0 Z4, Z5, Z7, Z8, Z9, Z11, Z13\n",
"-5.0 Z4, Z5, Z6, Z8, Z9, Z10, Z13\n",
"-5.0 Z4, Z5, Z7, Z9, Z10, Z11, Z13\n",
"-5.0 Z4, Z5, Z6, Z8, Z10, Z11, Z13\n",
"5.0 Z6, Z7, Z9, Z10, Z13\n",
"5.0 Z6, Z9, Z10, Z11, Z13\n",
"5.0 Z7, Z8, Z9, Z10, Z13\n",
"5.0 Z7, Z8, Z10, Z11, Z13\n",
"5.0 Z6, Z7, Z8, Z11, Z13\n",
"5.0 Z6, Z8, Z9, Z11, Z13\n"
]
}
],
"outputs": [],
"source": [
"# 其中 lambda0 和 lambda1 是蛋白质哈密顿量中的两个参数,用于约束蛋白质的空间结构。\n",
"h = protein.get_protein_hamiltonian(lambda0=10.0, lambda1=10.0)\n",
"print(h)"
"h = protein.get_protein_hamiltonian(lambda0=10.0, lambda1=10.0)"
]
},
{
......@@ -1626,7 +175,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.15 (default, Nov 10 2022, 12:46:26) \n[Clang 14.0.6 ]"
"version": "3.7.15"
},
"orig_nbformat": 4,
"vscode": {
......
......@@ -69,1461 +69,10 @@
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"327.0085 I\n",
"-47.5 Z1, Z3\n",
"65.0 Z1, Z5\n",
"-50.0 Z1, Z7\n",
"52.5 Z1, Z9\n",
"-47.5 Z0, Z2\n",
"65.0 Z0, Z4\n",
"-50.0 Z0, Z6\n",
"52.5 Z0, Z8\n",
"-47.5 Z0, Z1, Z2, Z3\n",
"65.0 Z0, Z1, Z4, Z5\n",
"-50.0 Z0, Z1, Z6, Z7\n",
"52.5 Z0, Z1, Z8, Z9\n",
"-65.0 Z3, Z5\n",
"92.5 Z3, Z7\n",
"-60.0 Z3, Z9\n",
"-65.0 Z2, Z4\n",
"92.5 Z2, Z6\n",
"-60.0 Z2, Z8\n",
"-65.0 Z2, Z3, Z4, Z5\n",
"92.5 Z2, Z3, Z6, Z7\n",
"-60.0 Z2, Z3, Z8, Z9\n",
"-72.5 Z5, Z7\n",
"92.5 Z5, Z9\n",
"-72.5 Z4, Z6\n",
"92.5 Z4, Z8\n",
"-72.5 Z4, Z5, Z6, Z7\n",
"92.5 Z4, Z5, Z8, Z9\n",
"-65.0 Z7, Z9\n",
"-65.0 Z6, Z8\n",
"-65.0 Z6, Z7, Z8, Z9\n",
"-157.168 Z12\n",
"30.0 Z1, Z3, Z12\n",
"-40.0 Z1, Z5, Z12\n",
"30.0 Z1, Z7, Z12\n",
"-27.5 Z1, Z9, Z12\n",
"30.0 Z0, Z2, Z12\n",
"-40.0 Z0, Z4, Z12\n",
"30.0 Z0, Z6, Z12\n",
"-27.5 Z0, Z8, Z12\n",
"30.0 Z0, Z1, Z2, Z3, Z12\n",
"-40.0 Z0, Z1, Z4, Z5, Z12\n",
"30.0 Z0, Z1, Z6, Z7, Z12\n",
"-27.5 Z0, Z1, Z8, Z9, Z12\n",
"37.5 Z3, Z5, Z12\n",
"-52.5 Z3, Z7, Z12\n",
"30.0 Z3, Z9, Z12\n",
"37.5 Z2, Z4, Z12\n",
"-52.5 Z2, Z6, Z12\n",
"30.0 Z2, Z8, Z12\n",
"37.5 Z2, Z3, Z4, Z5, Z12\n",
"-52.5 Z2, Z3, Z6, Z7, Z12\n",
"30.0 Z2, Z3, Z8, Z9, Z12\n",
"37.5 Z5, Z7, Z12\n",
"-40.0 Z5, Z9, Z12\n",
"37.5 Z4, Z6, Z12\n",
"-40.0 Z4, Z8, Z12\n",
"37.5 Z4, Z5, Z6, Z7, Z12\n",
"-40.0 Z4, Z5, Z8, Z9, Z12\n",
"30.0 Z7, Z9, Z12\n",
"30.0 Z6, Z8, Z12\n",
"30.0 Z6, Z7, Z8, Z9, Z12\n",
"-12.5 Z2, Z3, Z5, Z6\n",
"-10.0 Z2, Z3, Z5, Z8\n",
"-12.5 Z2, Z5, Z6, Z7\n",
"-10.0 Z2, Z5, Z8, Z9\n",
"-12.5 Z3, Z4, Z5, Z6\n",
"-10.0 Z3, Z4, Z5, Z8\n",
"-12.5 Z3, Z4, Z6, Z7\n",
"-10.0 Z3, Z4, Z8, Z9\n",
"30.0 Z3, Z5, Z7, Z9\n",
"10.0 Z3, Z5, Z6, Z8\n",
"10.0 Z3, Z5, Z6, Z7, Z8, Z9\n",
"-12.5 Z2, Z3, Z4, Z7\n",
"-10.0 Z2, Z3, Z7, Z8\n",
"-12.5 Z2, Z4, Z5, Z7\n",
"-10.0 Z2, Z7, Z8, Z9\n",
"10.0 Z3, Z4, Z7, Z8\n",
"10.0 Z3, Z4, Z5, Z7, Z8, Z9\n",
"-10.0 Z3, Z6, Z7, Z8\n",
"-10.0 Z3, Z6, Z8, Z9\n",
"-10.0 Z2, Z3, Z4, Z9\n",
"-10.0 Z2, Z3, Z6, Z9\n",
"-10.0 Z2, Z4, Z5, Z9\n",
"-10.0 Z2, Z6, Z7, Z9\n",
"10.0 Z3, Z4, Z6, Z9\n",
"10.0 Z3, Z4, Z5, Z6, Z7, Z9\n",
"10.0 Z2, Z4, Z7, Z9\n",
"30.0 Z2, Z4, Z6, Z8\n",
"10.0 Z2, Z4, Z6, Z7, Z8, Z9\n",
"10.0 Z2, Z5, Z6, Z9\n",
"10.0 Z2, Z4, Z5, Z6, Z8, Z9\n",
"10.0 Z2, Z5, Z7, Z8\n",
"10.0 Z2, Z4, Z5, Z6, Z7, Z8\n",
"10.0 Z2, Z3, Z4, Z5, Z7, Z9\n",
"10.0 Z2, Z3, Z4, Z5, Z6, Z8\n",
"30.0 Z2, Z3, Z4, Z5, Z6, Z7, Z8, Z9\n",
"10.0 Z2, Z3, Z5, Z6, Z7, Z9\n",
"10.0 Z2, Z3, Z4, Z6, Z7, Z8\n",
"10.0 Z2, Z3, Z5, Z7, Z8, Z9\n",
"10.0 Z2, Z3, Z4, Z6, Z8, Z9\n",
"-12.5 Z4, Z5, Z7, Z8\n",
"-12.5 Z4, Z7, Z8, Z9\n",
"-12.5 Z5, Z6, Z7, Z8\n",
"-12.5 Z5, Z6, Z8, Z9\n",
"-12.5 Z4, Z5, Z6, Z9\n",
"-12.5 Z4, Z6, Z7, Z9\n",
"7.5 Z2, Z3, Z5, Z6, Z12\n",
"5.0 Z2, Z3, Z5, Z8, Z12\n",
"7.5 Z2, Z5, Z6, Z7, Z12\n",
"5.0 Z2, Z5, Z8, Z9, Z12\n",
"7.5 Z3, Z4, Z5, Z6, Z12\n",
"5.0 Z3, Z4, Z5, Z8, Z12\n",
"7.5 Z3, Z4, Z6, Z7, Z12\n",
"5.0 Z3, Z4, Z8, Z9, Z12\n",
"-15.0 Z3, Z5, Z7, Z9, Z12\n",
"-5.0 Z3, Z5, Z6, Z8, Z12\n",
"-5.0 Z3, Z5, Z6, Z7, Z8, Z9, Z12\n",
"7.5 Z2, Z3, Z4, Z7, Z12\n",
"5.0 Z2, Z3, Z7, Z8, Z12\n",
"7.5 Z2, Z4, Z5, Z7, Z12\n",
"5.0 Z2, Z7, Z8, Z9, Z12\n",
"-5.0 Z3, Z4, Z7, Z8, Z12\n",
"-5.0 Z3, Z4, Z5, Z7, Z8, Z9, Z12\n",
"5.0 Z3, Z6, Z7, Z8, Z12\n",
"5.0 Z3, Z6, Z8, Z9, Z12\n",
"5.0 Z2, Z3, Z4, Z9, Z12\n",
"5.0 Z2, Z3, Z6, Z9, Z12\n",
"5.0 Z2, Z4, Z5, Z9, Z12\n",
"5.0 Z2, Z6, Z7, Z9, Z12\n",
"-5.0 Z3, Z4, Z6, Z9, Z12\n",
"-5.0 Z3, Z4, Z5, Z6, Z7, Z9, Z12\n",
"-5.0 Z2, Z4, Z7, Z9, Z12\n",
"-15.0 Z2, Z4, Z6, Z8, Z12\n",
"-5.0 Z2, Z4, Z6, Z7, Z8, Z9, Z12\n",
"-5.0 Z2, Z5, Z6, Z9, Z12\n",
"-5.0 Z2, Z4, Z5, Z6, Z8, Z9, Z12\n",
"-5.0 Z2, Z5, Z7, Z8, Z12\n",
"-5.0 Z2, Z4, Z5, Z6, Z7, Z8, Z12\n",
"-5.0 Z2, Z3, Z4, Z5, Z7, Z9, Z12\n",
"-5.0 Z2, Z3, Z4, Z5, Z6, Z8, Z12\n",
"-15.0 Z2, Z3, Z4, Z5, Z6, Z7, Z8, Z9, Z12\n",
"-5.0 Z2, Z3, Z5, Z6, Z7, Z9, Z12\n",
"-5.0 Z2, Z3, Z4, Z6, Z7, Z8, Z12\n",
"-5.0 Z2, Z3, Z5, Z7, Z8, Z9, Z12\n",
"-5.0 Z2, Z3, Z4, Z6, Z8, Z9, Z12\n",
"5.0 Z4, Z5, Z7, Z8, Z12\n",
"5.0 Z4, Z7, Z8, Z9, Z12\n",
"5.0 Z5, Z6, Z7, Z8, Z12\n",
"5.0 Z5, Z6, Z8, Z9, Z12\n",
"5.0 Z4, Z5, Z6, Z9, Z12\n",
"5.0 Z4, Z6, Z7, Z9, Z12\n",
"-7.5 Z0, Z1, Z3, Z4\n",
"-7.5 Z0, Z1, Z3, Z6\n",
"-7.5 Z0, Z3, Z4, Z5\n",
"-7.5 Z0, Z3, Z6, Z7\n",
"-7.5 Z1, Z2, Z3, Z4\n",
"-7.5 Z1, Z2, Z3, Z6\n",
"-7.5 Z1, Z2, Z4, Z5\n",
"-7.5 Z1, Z2, Z6, Z7\n",
"22.5 Z1, Z3, Z5, Z7\n",
"7.5 Z1, Z3, Z4, Z6\n",
"7.5 Z1, Z3, Z4, Z5, Z6, Z7\n",
"-7.5 Z0, Z1, Z2, Z5\n",
"-7.5 Z0, Z1, Z5, Z6\n",
"-7.5 Z0, Z2, Z3, Z5\n",
"-7.5 Z0, Z5, Z6, Z7\n",
"7.5 Z1, Z2, Z5, Z6\n",
"7.5 Z1, Z2, Z3, Z5, Z6, Z7\n",
"-7.5 Z1, Z4, Z5, Z6\n",
"-7.5 Z1, Z4, Z6, Z7\n",
"-7.5 Z0, Z1, Z2, Z7\n",
"-7.5 Z0, Z1, Z4, Z7\n",
"-7.5 Z0, Z2, Z3, Z7\n",
"-7.5 Z0, Z4, Z5, Z7\n",
"7.5 Z1, Z2, Z4, Z7\n",
"7.5 Z1, Z2, Z3, Z4, Z5, Z7\n",
"7.5 Z0, Z2, Z5, Z7\n",
"22.5 Z0, Z2, Z4, Z6\n",
"7.5 Z0, Z2, Z4, Z5, Z6, Z7\n",
"7.5 Z0, Z3, Z4, Z7\n",
"7.5 Z0, Z2, Z3, Z4, Z6, Z7\n",
"7.5 Z0, Z3, Z5, Z6\n",
"7.5 Z0, Z2, Z3, Z4, Z5, Z6\n",
"7.5 Z0, Z1, Z2, Z3, Z5, Z7\n",
"7.5 Z0, Z1, Z2, Z3, Z4, Z6\n",
"22.5 Z0, Z1, Z2, Z3, Z4, Z5, Z6, Z7\n",
"7.5 Z0, Z1, Z3, Z4, Z5, Z7\n",
"7.5 Z0, Z1, Z2, Z4, Z5, Z6\n",
"7.5 Z0, Z1, Z3, Z5, Z6, Z7\n",
"7.5 Z0, Z1, Z2, Z4, Z6, Z7\n",
"5.0 Z0, Z1, Z3, Z4, Z12\n",
"5.0 Z0, Z1, Z3, Z6, Z12\n",
"5.0 Z0, Z3, Z4, Z5, Z12\n",
"5.0 Z0, Z3, Z6, Z7, Z12\n",
"5.0 Z1, Z2, Z3, Z4, Z12\n",
"5.0 Z1, Z2, Z3, Z6, Z12\n",
"5.0 Z1, Z2, Z4, Z5, Z12\n",
"5.0 Z1, Z2, Z6, Z7, Z12\n",
"-15.0 Z1, Z3, Z5, Z7, Z12\n",
"-5.0 Z1, Z3, Z4, Z6, Z12\n",
"-5.0 Z1, Z3, Z4, Z5, Z6, Z7, Z12\n",
"5.0 Z0, Z1, Z2, Z5, Z12\n",
"5.0 Z0, Z1, Z5, Z6, Z12\n",
"5.0 Z0, Z2, Z3, Z5, Z12\n",
"5.0 Z0, Z5, Z6, Z7, Z12\n",
"-5.0 Z1, Z2, Z5, Z6, Z12\n",
"-5.0 Z1, Z2, Z3, Z5, Z6, Z7, Z12\n",
"5.0 Z1, Z4, Z5, Z6, Z12\n",
"5.0 Z1, Z4, Z6, Z7, Z12\n",
"5.0 Z0, Z1, Z2, Z7, Z12\n",
"5.0 Z0, Z1, Z4, Z7, Z12\n",
"5.0 Z0, Z2, Z3, Z7, Z12\n",
"5.0 Z0, Z4, Z5, Z7, Z12\n",
"-5.0 Z1, Z2, Z4, Z7, Z12\n",
"-5.0 Z1, Z2, Z3, Z4, Z5, Z7, Z12\n",
"-5.0 Z0, Z2, Z5, Z7, Z12\n",
"-15.0 Z0, Z2, Z4, Z6, Z12\n",
"-5.0 Z0, Z2, Z4, Z5, Z6, Z7, Z12\n",
"-5.0 Z0, Z3, Z4, Z7, Z12\n",
"-5.0 Z0, Z2, Z3, Z4, Z6, Z7, Z12\n",
"-5.0 Z0, Z3, Z5, Z6, Z12\n",
"-5.0 Z0, Z2, Z3, Z4, Z5, Z6, Z12\n",
"-5.0 Z0, Z1, Z2, Z3, Z5, Z7, Z12\n",
"-5.0 Z0, Z1, Z2, Z3, Z4, Z6, Z12\n",
"-15.0 Z0, Z1, Z2, Z3, Z4, Z5, Z6, Z7, Z12\n",
"-5.0 Z0, Z1, Z3, Z4, Z5, Z7, Z12\n",
"-5.0 Z0, Z1, Z2, Z4, Z5, Z6, Z12\n",
"-5.0 Z0, Z1, Z3, Z5, Z6, Z7, Z12\n",
"-5.0 Z0, Z1, Z2, Z4, Z6, Z7, Z12\n",
"-40.0 Z1, Z11\n",
"-40.0 Z0, Z10\n",
"-40.0 Z0, Z1, Z10, Z11\n",
"52.5 Z3, Z11\n",
"52.5 Z2, Z10\n",
"52.5 Z2, Z3, Z10, Z11\n",
"-50.0 Z5, Z11\n",
"-50.0 Z4, Z10\n",
"-50.0 Z4, Z5, Z10, Z11\n",
"65.0 Z7, Z11\n",
"65.0 Z6, Z10\n",
"65.0 Z6, Z7, Z10, Z11\n",
"-47.5 Z9, Z11\n",
"-47.5 Z8, Z10\n",
"-47.5 Z8, Z9, Z10, Z11\n",
"-5.0 Z0, Z1, Z3, Z8\n",
"-5.0 Z0, Z1, Z3, Z10\n",
"-5.0 Z0, Z3, Z8, Z9\n",
"-5.0 Z0, Z3, Z10, Z11\n",
"-5.0 Z1, Z2, Z3, Z8\n",
"-5.0 Z1, Z2, Z3, Z10\n",
"-5.0 Z1, Z2, Z8, Z9\n",
"-5.0 Z1, Z2, Z10, Z11\n",
"-15.0 Z1, Z3, Z5, Z9\n",
"15.0 Z1, Z3, Z5, Z11\n",
"-5.0 Z1, Z3, Z4, Z8\n",
"5.0 Z1, Z3, Z4, Z10\n",
"-5.0 Z1, Z3, Z4, Z5, Z8, Z9\n",
"5.0 Z1, Z3, Z4, Z5, Z10, Z11\n",
"15.0 Z1, Z3, Z7, Z9\n",
"-15.0 Z1, Z3, Z7, Z11\n",
"5.0 Z1, Z3, Z6, Z8\n",
"-5.0 Z1, Z3, Z6, Z10\n",
"5.0 Z1, Z3, Z6, Z7, Z8, Z9\n",
"-5.0 Z1, Z3, Z6, Z7, Z10, Z11\n",
"15.0 Z1, Z3, Z9, Z11\n",
"5.0 Z1, Z3, Z8, Z10\n",
"5.0 Z1, Z3, Z8, Z9, Z10, Z11\n",
"15.0 Z0, Z1, Z5, Z8\n",
"-5.0 Z0, Z1, Z5, Z10\n",
"15.0 Z0, Z5, Z8, Z9\n",
"-5.0 Z0, Z5, Z10, Z11\n",
"-5.0 Z1, Z2, Z5, Z8\n",
"5.0 Z1, Z2, Z5, Z10\n",
"-5.0 Z1, Z2, Z3, Z5, Z8, Z9\n",
"5.0 Z1, Z2, Z3, Z5, Z10, Z11\n",
"15.0 Z1, Z4, Z5, Z8\n",
"-5.0 Z1, Z4, Z5, Z10\n",
"15.0 Z1, Z4, Z8, Z9\n",
"-5.0 Z1, Z4, Z10, Z11\n",
"-15.0 Z1, Z5, Z7, Z9\n",
"15.0 Z1, Z5, Z7, Z11\n",
"-5.0 Z1, Z5, Z6, Z8\n",
"5.0 Z1, Z5, Z6, Z10\n",
"-5.0 Z1, Z5, Z6, Z7, Z8, Z9\n",
"5.0 Z1, Z5, Z6, Z7, Z10, Z11\n",
"-15.0 Z1, Z5, Z9, Z11\n",
"-5.0 Z1, Z5, Z8, Z10\n",
"-5.0 Z1, Z5, Z8, Z9, Z10, Z11\n",
"-5.0 Z0, Z1, Z7, Z8\n",
"-5.0 Z0, Z1, Z7, Z10\n",
"-5.0 Z0, Z7, Z8, Z9\n",
"-5.0 Z0, Z7, Z10, Z11\n",
"5.0 Z1, Z2, Z7, Z8\n",
"-5.0 Z1, Z2, Z7, Z10\n",
"5.0 Z1, Z2, Z3, Z7, Z8, Z9\n",
"-5.0 Z1, Z2, Z3, Z7, Z10, Z11\n",
"-5.0 Z1, Z4, Z7, Z8\n",
"5.0 Z1, Z4, Z7, Z10\n",
"-5.0 Z1, Z4, Z5, Z7, Z8, Z9\n",
"5.0 Z1, Z4, Z5, Z7, Z10, Z11\n",
"-5.0 Z1, Z6, Z7, Z8\n",
"-5.0 Z1, Z6, Z7, Z10\n",
"-5.0 Z1, Z6, Z8, Z9\n",
"-5.0 Z1, Z6, Z10, Z11\n",
"15.0 Z1, Z7, Z9, Z11\n",
"5.0 Z1, Z7, Z8, Z10\n",
"5.0 Z1, Z7, Z8, Z9, Z10, Z11\n",
"-5.0 Z0, Z1, Z2, Z9\n",
"15.0 Z0, Z1, Z4, Z9\n",
"-5.0 Z0, Z1, Z6, Z9\n",
"-5.0 Z0, Z1, Z9, Z10\n",
"-5.0 Z0, Z2, Z3, Z9\n",
"15.0 Z0, Z4, Z5, Z9\n",
"-5.0 Z0, Z6, Z7, Z9\n",
"-5.0 Z0, Z9, Z10, Z11\n",
"-5.0 Z1, Z2, Z4, Z9\n",
"5.0 Z1, Z2, Z6, Z9\n",
"5.0 Z1, Z2, Z9, Z10\n",
"-5.0 Z1, Z2, Z3, Z4, Z5, Z9\n",
"5.0 Z1, Z2, Z3, Z6, Z7, Z9\n",
"5.0 Z1, Z2, Z3, Z9, Z10, Z11\n",
"-5.0 Z1, Z4, Z6, Z9\n",
"-5.0 Z1, Z4, Z9, Z10\n",
"-5.0 Z1, Z4, Z5, Z6, Z7, Z9\n",
"-5.0 Z1, Z4, Z5, Z9, Z10, Z11\n",
"5.0 Z1, Z6, Z9, Z10\n",
"5.0 Z1, Z6, Z7, Z9, Z10, Z11\n",
"-5.0 Z1, Z8, Z9, Z10\n",
"-5.0 Z1, Z8, Z10, Z11\n",
"-5.0 Z0, Z1, Z2, Z11\n",
"-5.0 Z0, Z1, Z4, Z11\n",
"-5.0 Z0, Z1, Z6, Z11\n",
"-5.0 Z0, Z1, Z8, Z11\n",
"-5.0 Z0, Z2, Z3, Z11\n",
"-5.0 Z0, Z4, Z5, Z11\n",
"-5.0 Z0, Z6, Z7, Z11\n",
"-5.0 Z0, Z8, Z9, Z11\n",
"5.0 Z1, Z2, Z4, Z11\n",
"-5.0 Z1, Z2, Z6, Z11\n",
"5.0 Z1, Z2, Z8, Z11\n",
"5.0 Z1, Z2, Z3, Z4, Z5, Z11\n",
"-5.0 Z1, Z2, Z3, Z6, Z7, Z11\n",
"5.0 Z1, Z2, Z3, Z8, Z9, Z11\n",
"5.0 Z1, Z4, Z6, Z11\n",
"-5.0 Z1, Z4, Z8, Z11\n",
"5.0 Z1, Z4, Z5, Z6, Z7, Z11\n",
"-5.0 Z1, Z4, Z5, Z8, Z9, Z11\n",
"5.0 Z1, Z6, Z8, Z11\n",
"5.0 Z1, Z6, Z7, Z8, Z9, Z11\n",
"-5.0 Z0, Z2, Z5, Z9\n",
"5.0 Z0, Z2, Z5, Z11\n",
"-15.0 Z0, Z2, Z4, Z8\n",
"15.0 Z0, Z2, Z4, Z10\n",
"-5.0 Z0, Z2, Z4, Z5, Z8, Z9\n",
"5.0 Z0, Z2, Z4, Z5, Z10, Z11\n",
"5.0 Z0, Z2, Z7, Z9\n",
"-5.0 Z0, Z2, Z7, Z11\n",
"15.0 Z0, Z2, Z6, Z8\n",
"-15.0 Z0, Z2, Z6, Z10\n",
"5.0 Z0, Z2, Z6, Z7, Z8, Z9\n",
"-5.0 Z0, Z2, Z6, Z7, Z10, Z11\n",
"5.0 Z0, Z2, Z9, Z11\n",
"15.0 Z0, Z2, Z8, Z10\n",
"5.0 Z0, Z2, Z8, Z9, Z10, Z11\n",
"-5.0 Z0, Z3, Z4, Z9\n",
"5.0 Z0, Z3, Z4, Z11\n",
"-5.0 Z0, Z2, Z3, Z4, Z8, Z9\n",
"5.0 Z0, Z2, Z3, Z4, Z10, Z11\n",
"-5.0 Z0, Z4, Z7, Z9\n",
"5.0 Z0, Z4, Z7, Z11\n",
"-15.0 Z0, Z4, Z6, Z8\n",
"15.0 Z0, Z4, Z6, Z10\n",
"-5.0 Z0, Z4, Z6, Z7, Z8, Z9\n",
"5.0 Z0, Z4, Z6, Z7, Z10, Z11\n",
"-5.0 Z0, Z4, Z9, Z11\n",
"-15.0 Z0, Z4, Z8, Z10\n",
"-5.0 Z0, Z4, Z8, Z9, Z10, Z11\n",
"5.0 Z0, Z3, Z6, Z9\n",
"-5.0 Z0, Z3, Z6, Z11\n",
"5.0 Z0, Z2, Z3, Z6, Z8, Z9\n",
"-5.0 Z0, Z2, Z3, Z6, Z10, Z11\n",
"-5.0 Z0, Z5, Z6, Z9\n",
"5.0 Z0, Z5, Z6, Z11\n",
"-5.0 Z0, Z4, Z5, Z6, Z8, Z9\n",
"5.0 Z0, Z4, Z5, Z6, Z10, Z11\n",
"5.0 Z0, Z6, Z9, Z11\n",
"15.0 Z0, Z6, Z8, Z10\n",
"5.0 Z0, Z6, Z8, Z9, Z10, Z11\n",
"-5.0 Z0, Z3, Z5, Z8\n",
"5.0 Z0, Z3, Z7, Z8\n",
"5.0 Z0, Z3, Z8, Z11\n",
"-5.0 Z0, Z2, Z3, Z4, Z5, Z8\n",
"5.0 Z0, Z2, Z3, Z6, Z7, Z8\n",
"5.0 Z0, Z2, Z3, Z8, Z10, Z11\n",
"-5.0 Z0, Z5, Z7, Z8\n",
"-5.0 Z0, Z5, Z8, Z11\n",
"-5.0 Z0, Z4, Z5, Z6, Z7, Z8\n",
"-5.0 Z0, Z4, Z5, Z8, Z10, Z11\n",
"5.0 Z0, Z7, Z8, Z11\n",
"5.0 Z0, Z6, Z7, Z8, Z10, Z11\n",
"5.0 Z0, Z3, Z5, Z10\n",
"-5.0 Z0, Z3, Z7, Z10\n",
"5.0 Z0, Z3, Z9, Z10\n",
"5.0 Z0, Z2, Z3, Z4, Z5, Z10\n",
"-5.0 Z0, Z2, Z3, Z6, Z7, Z10\n",
"5.0 Z0, Z2, Z3, Z8, Z9, Z10\n",
"5.0 Z0, Z5, Z7, Z10\n",
"-5.0 Z0, Z5, Z9, Z10\n",
"5.0 Z0, Z4, Z5, Z6, Z7, Z10\n",
"-5.0 Z0, Z4, Z5, Z8, Z9, Z10\n",
"5.0 Z0, Z7, Z9, Z10\n",
"5.0 Z0, Z6, Z7, Z8, Z9, Z10\n",
"-5.0 Z0, Z1, Z2, Z3, Z5, Z9\n",
"5.0 Z0, Z1, Z2, Z3, Z5, Z11\n",
"-5.0 Z0, Z1, Z2, Z3, Z4, Z8\n",
"5.0 Z0, Z1, Z2, Z3, Z4, Z10\n",
"-15.0 Z0, Z1, Z2, Z3, Z4, Z5, Z8, Z9\n",
"15.0 Z0, Z1, Z2, Z3, Z4, Z5, Z10, Z11\n",
"5.0 Z0, Z1, Z2, Z3, Z7, Z9\n",
"-5.0 Z0, Z1, Z2, Z3, Z7, Z11\n",
"5.0 Z0, Z1, Z2, Z3, Z6, Z8\n",
"-5.0 Z0, Z1, Z2, Z3, Z6, Z10\n",
"15.0 Z0, Z1, Z2, Z3, Z6, Z7, Z8, Z9\n",
"-15.0 Z0, Z1, Z2, Z3, Z6, Z7, Z10, Z11\n",
"5.0 Z0, Z1, Z2, Z3, Z9, Z11\n",
"5.0 Z0, Z1, Z2, Z3, Z8, Z10\n",
"15.0 Z0, Z1, Z2, Z3, Z8, Z9, Z10, Z11\n",
"-5.0 Z0, Z1, Z3, Z4, Z5, Z9\n",
"5.0 Z0, Z1, Z3, Z4, Z5, Z11\n",
"-5.0 Z0, Z1, Z2, Z4, Z5, Z8\n",
"5.0 Z0, Z1, Z2, Z4, Z5, Z10\n",
"-5.0 Z0, Z1, Z4, Z5, Z7, Z9\n",
"5.0 Z0, Z1, Z4, Z5, Z7, Z11\n",
"-5.0 Z0, Z1, Z4, Z5, Z6, Z8\n",
"5.0 Z0, Z1, Z4, Z5, Z6, Z10\n",
"-15.0 Z0, Z1, Z4, Z5, Z6, Z7, Z8, Z9\n",
"15.0 Z0, Z1, Z4, Z5, Z6, Z7, Z10, Z11\n",
"-5.0 Z0, Z1, Z4, Z5, Z9, Z11\n",
"-5.0 Z0, Z1, Z4, Z5, Z8, Z10\n",
"-15.0 Z0, Z1, Z4, Z5, Z8, Z9, Z10, Z11\n",
"5.0 Z0, Z1, Z3, Z6, Z7, Z9\n",
"-5.0 Z0, Z1, Z3, Z6, Z7, Z11\n",
"5.0 Z0, Z1, Z2, Z6, Z7, Z8\n",
"-5.0 Z0, Z1, Z2, Z6, Z7, Z10\n",
"-5.0 Z0, Z1, Z5, Z6, Z7, Z9\n",
"5.0 Z0, Z1, Z5, Z6, Z7, Z11\n",
"-5.0 Z0, Z1, Z4, Z6, Z7, Z8\n",
"5.0 Z0, Z1, Z4, Z6, Z7, Z10\n",
"5.0 Z0, Z1, Z6, Z7, Z9, Z11\n",
"5.0 Z0, Z1, Z6, Z7, Z8, Z10\n",
"15.0 Z0, Z1, Z6, Z7, Z8, Z9, Z10, Z11\n",
"-5.0 Z0, Z1, Z3, Z5, Z8, Z9\n",
"5.0 Z0, Z1, Z3, Z7, Z8, Z9\n",
"5.0 Z0, Z1, Z3, Z8, Z9, Z11\n",
"-5.0 Z0, Z1, Z2, Z4, Z8, Z9\n",
"5.0 Z0, Z1, Z2, Z6, Z8, Z9\n",
"5.0 Z0, Z1, Z2, Z8, Z9, Z10\n",
"-5.0 Z0, Z1, Z5, Z7, Z8, Z9\n",
"-5.0 Z0, Z1, Z5, Z8, Z9, Z11\n",
"-5.0 Z0, Z1, Z4, Z6, Z8, Z9\n",
"-5.0 Z0, Z1, Z4, Z8, Z9, Z10\n",
"5.0 Z0, Z1, Z7, Z8, Z9, Z11\n",
"5.0 Z0, Z1, Z6, Z8, Z9, Z10\n",
"5.0 Z0, Z1, Z3, Z5, Z10, Z11\n",
"-5.0 Z0, Z1, Z3, Z7, Z10, Z11\n",
"5.0 Z0, Z1, Z3, Z9, Z10, Z11\n",
"5.0 Z0, Z1, Z2, Z4, Z10, Z11\n",
"-5.0 Z0, Z1, Z2, Z6, Z10, Z11\n",
"5.0 Z0, Z1, Z2, Z8, Z10, Z11\n",
"5.0 Z0, Z1, Z5, Z7, Z10, Z11\n",
"-5.0 Z0, Z1, Z5, Z9, Z10, Z11\n",
"5.0 Z0, Z1, Z4, Z6, Z10, Z11\n",
"-5.0 Z0, Z1, Z4, Z8, Z10, Z11\n",
"5.0 Z0, Z1, Z7, Z9, Z10, Z11\n",
"5.0 Z0, Z1, Z6, Z8, Z10, Z11\n",
"-5.0 Z2, Z3, Z5, Z10\n",
"-5.0 Z2, Z5, Z10, Z11\n",
"-5.0 Z3, Z4, Z5, Z10\n",
"-5.0 Z3, Z4, Z10, Z11\n",
"-15.0 Z3, Z5, Z7, Z11\n",
"-5.0 Z3, Z5, Z6, Z10\n",
"-5.0 Z3, Z5, Z6, Z7, Z10, Z11\n",
"15.0 Z3, Z5, Z9, Z11\n",
"5.0 Z3, Z5, Z8, Z10\n",
"5.0 Z3, Z5, Z8, Z9, Z10, Z11\n",
"15.0 Z2, Z3, Z7, Z10\n",
"15.0 Z2, Z7, Z10, Z11\n",
"-5.0 Z3, Z4, Z7, Z10\n",
"-5.0 Z3, Z4, Z5, Z7, Z10, Z11\n",
"15.0 Z3, Z6, Z7, Z10\n",
"15.0 Z3, Z6, Z10, Z11\n",
"-15.0 Z3, Z7, Z9, Z11\n",
"-5.0 Z3, Z7, Z8, Z10\n",
"-5.0 Z3, Z7, Z8, Z9, Z10, Z11\n",
"-5.0 Z2, Z3, Z9, Z10\n",
"-5.0 Z2, Z9, Z10, Z11\n",
"5.0 Z3, Z4, Z9, Z10\n",
"5.0 Z3, Z4, Z5, Z9, Z10, Z11\n",
"-5.0 Z3, Z6, Z9, Z10\n",
"-5.0 Z3, Z6, Z7, Z9, Z10, Z11\n",
"-5.0 Z3, Z8, Z9, Z10\n",
"-5.0 Z3, Z8, Z10, Z11\n",
"-5.0 Z2, Z3, Z4, Z11\n",
"15.0 Z2, Z3, Z6, Z11\n",
"-5.0 Z2, Z3, Z8, Z11\n",
"-5.0 Z2, Z4, Z5, Z11\n",
"15.0 Z2, Z6, Z7, Z11\n",
"-5.0 Z2, Z8, Z9, Z11\n",
"-5.0 Z3, Z4, Z6, Z11\n",
"5.0 Z3, Z4, Z8, Z11\n",
"-5.0 Z3, Z4, Z5, Z6, Z7, Z11\n",
"5.0 Z3, Z4, Z5, Z8, Z9, Z11\n",
"-5.0 Z3, Z6, Z8, Z11\n",
"-5.0 Z3, Z6, Z7, Z8, Z9, Z11\n",
"-5.0 Z2, Z4, Z7, Z11\n",
"-15.0 Z2, Z4, Z6, Z10\n",
"-5.0 Z2, Z4, Z6, Z7, Z10, Z11\n",
"5.0 Z2, Z4, Z9, Z11\n",
"15.0 Z2, Z4, Z8, Z10\n",
"5.0 Z2, Z4, Z8, Z9, Z10, Z11\n",
"-5.0 Z2, Z5, Z6, Z11\n",
"-5.0 Z2, Z4, Z5, Z6, Z10, Z11\n",
"-5.0 Z2, Z6, Z9, Z11\n",
"-15.0 Z2, Z6, Z8, Z10\n",
"-5.0 Z2, Z6, Z8, Z9, Z10, Z11\n",
"5.0 Z2, Z5, Z8, Z11\n",
"5.0 Z2, Z4, Z5, Z8, Z10, Z11\n",
"-5.0 Z2, Z7, Z8, Z11\n",
"-5.0 Z2, Z6, Z7, Z8, Z10, Z11\n",
"-5.0 Z2, Z5, Z7, Z10\n",
"5.0 Z2, Z5, Z9, Z10\n",
"-5.0 Z2, Z4, Z5, Z6, Z7, Z10\n",
"5.0 Z2, Z4, Z5, Z8, Z9, Z10\n",
"-5.0 Z2, Z7, Z9, Z10\n",
"-5.0 Z2, Z6, Z7, Z8, Z9, Z10\n",
"-5.0 Z2, Z3, Z4, Z5, Z7, Z11\n",
"-5.0 Z2, Z3, Z4, Z5, Z6, Z10\n",
"-15.0 Z2, Z3, Z4, Z5, Z6, Z7, Z10, Z11\n",
"5.0 Z2, Z3, Z4, Z5, Z9, Z11\n",
"5.0 Z2, Z3, Z4, Z5, Z8, Z10\n",
"15.0 Z2, Z3, Z4, Z5, Z8, Z9, Z10, Z11\n",
"-5.0 Z2, Z3, Z5, Z6, Z7, Z11\n",
"-5.0 Z2, Z3, Z4, Z6, Z7, Z10\n",
"-5.0 Z2, Z3, Z6, Z7, Z9, Z11\n",
"-5.0 Z2, Z3, Z6, Z7, Z8, Z10\n",
"-15.0 Z2, Z3, Z6, Z7, Z8, Z9, Z10, Z11\n",
"5.0 Z2, Z3, Z5, Z8, Z9, Z11\n",
"5.0 Z2, Z3, Z4, Z8, Z9, Z10\n",
"-5.0 Z2, Z3, Z7, Z8, Z9, Z11\n",
"-5.0 Z2, Z3, Z6, Z8, Z9, Z10\n",
"-5.0 Z2, Z3, Z5, Z7, Z10, Z11\n",
"5.0 Z2, Z3, Z5, Z9, Z10, Z11\n",
"-5.0 Z2, Z3, Z4, Z6, Z10, Z11\n",
"5.0 Z2, Z3, Z4, Z8, Z10, Z11\n",
"-5.0 Z2, Z3, Z7, Z9, Z10, Z11\n",
"-5.0 Z2, Z3, Z6, Z8, Z10, Z11\n",
"-7.5 Z4, Z5, Z7, Z10\n",
"-7.5 Z4, Z7, Z10, Z11\n",
"-7.5 Z5, Z6, Z7, Z10\n",
"-7.5 Z5, Z6, Z10, Z11\n",
"22.5 Z5, Z7, Z9, Z11\n",
"7.5 Z5, Z7, Z8, Z10\n",
"7.5 Z5, Z7, Z8, Z9, Z10, Z11\n",
"-7.5 Z4, Z5, Z9, Z10\n",
"-7.5 Z4, Z9, Z10, Z11\n",
"7.5 Z5, Z6, Z9, Z10\n",
"7.5 Z5, Z6, Z7, Z9, Z10, Z11\n",
"-7.5 Z5, Z8, Z9, Z10\n",
"-7.5 Z5, Z8, Z10, Z11\n",
"-7.5 Z4, Z5, Z6, Z11\n",
"-7.5 Z4, Z5, Z8, Z11\n",
"-7.5 Z4, Z6, Z7, Z11\n",
"-7.5 Z4, Z8, Z9, Z11\n",
"7.5 Z5, Z6, Z8, Z11\n",
"7.5 Z5, Z6, Z7, Z8, Z9, Z11\n",
"7.5 Z4, Z6, Z9, Z11\n",
"22.5 Z4, Z6, Z8, Z10\n",
"7.5 Z4, Z6, Z8, Z9, Z10, Z11\n",
"7.5 Z4, Z7, Z8, Z11\n",
"7.5 Z4, Z6, Z7, Z8, Z10, Z11\n",
"7.5 Z4, Z7, Z9, Z10\n",
"7.5 Z4, Z6, Z7, Z8, Z9, Z10\n",
"7.5 Z4, Z5, Z6, Z7, Z9, Z11\n",
"7.5 Z4, Z5, Z6, Z7, Z8, Z10\n",
"22.5 Z4, Z5, Z6, Z7, Z8, Z9, Z10, Z11\n",
"7.5 Z4, Z5, Z7, Z8, Z9, Z11\n",
"7.5 Z4, Z5, Z6, Z8, Z9, Z10\n",
"7.5 Z4, Z5, Z7, Z9, Z10, Z11\n",
"7.5 Z4, Z5, Z6, Z8, Z10, Z11\n",
"-7.5 Z6, Z7, Z9, Z10\n",
"-7.5 Z6, Z9, Z10, Z11\n",
"-7.5 Z7, Z8, Z9, Z10\n",
"-7.5 Z7, Z8, Z10, Z11\n",
"-7.5 Z6, Z7, Z8, Z11\n",
"-7.5 Z6, Z8, Z9, Z11\n",
"20.0 Z1, Z11, Z12\n",
"20.0 Z0, Z10, Z12\n",
"20.0 Z0, Z1, Z10, Z11, Z12\n",
"-25.0 Z3, Z11, Z12\n",
"-25.0 Z2, Z10, Z12\n",
"-25.0 Z2, Z3, Z10, Z11, Z12\n",
"20.0 Z5, Z11, Z12\n",
"20.0 Z4, Z10, Z12\n",
"20.0 Z4, Z5, Z10, Z11, Z12\n",
"-25.0 Z7, Z11, Z12\n",
"-25.0 Z6, Z10, Z12\n",
"-25.0 Z6, Z7, Z10, Z11, Z12\n",
"20.0 Z9, Z11, Z12\n",
"20.0 Z8, Z10, Z12\n",
"20.0 Z8, Z9, Z10, Z11, Z12\n",
"2.5 Z0, Z1, Z3, Z8, Z12\n",
"2.5 Z0, Z1, Z3, Z10, Z12\n",
"2.5 Z0, Z3, Z8, Z9, Z12\n",
"2.5 Z0, Z3, Z10, Z11, Z12\n",
"2.5 Z1, Z2, Z3, Z8, Z12\n",
"2.5 Z1, Z2, Z3, Z10, Z12\n",
"2.5 Z1, Z2, Z8, Z9, Z12\n",
"2.5 Z1, Z2, Z10, Z11, Z12\n",
"7.5 Z1, Z3, Z5, Z9, Z12\n",
"-7.5 Z1, Z3, Z5, Z11, Z12\n",
"2.5 Z1, Z3, Z4, Z8, Z12\n",
"-2.5 Z1, Z3, Z4, Z10, Z12\n",
"2.5 Z1, Z3, Z4, Z5, Z8, Z9, Z12\n",
"-2.5 Z1, Z3, Z4, Z5, Z10, Z11, Z12\n",
"-7.5 Z1, Z3, Z7, Z9, Z12\n",
"7.5 Z1, Z3, Z7, Z11, Z12\n",
"-2.5 Z1, Z3, Z6, Z8, Z12\n",
"2.5 Z1, Z3, Z6, Z10, Z12\n",
"-2.5 Z1, Z3, Z6, Z7, Z8, Z9, Z12\n",
"2.5 Z1, Z3, Z6, Z7, Z10, Z11, Z12\n",
"-7.5 Z1, Z3, Z9, Z11, Z12\n",
"-2.5 Z1, Z3, Z8, Z10, Z12\n",
"-2.5 Z1, Z3, Z8, Z9, Z10, Z11, Z12\n",
"-7.5 Z0, Z1, Z5, Z8, Z12\n",
"2.5 Z0, Z1, Z5, Z10, Z12\n",
"-7.5 Z0, Z5, Z8, Z9, Z12\n",
"2.5 Z0, Z5, Z10, Z11, Z12\n",
"2.5 Z1, Z2, Z5, Z8, Z12\n",
"-2.5 Z1, Z2, Z5, Z10, Z12\n",
"2.5 Z1, Z2, Z3, Z5, Z8, Z9, Z12\n",
"-2.5 Z1, Z2, Z3, Z5, Z10, Z11, Z12\n",
"-7.5 Z1, Z4, Z5, Z8, Z12\n",
"2.5 Z1, Z4, Z5, Z10, Z12\n",
"-7.5 Z1, Z4, Z8, Z9, Z12\n",
"2.5 Z1, Z4, Z10, Z11, Z12\n",
"7.5 Z1, Z5, Z7, Z9, Z12\n",
"-7.5 Z1, Z5, Z7, Z11, Z12\n",
"2.5 Z1, Z5, Z6, Z8, Z12\n",
"-2.5 Z1, Z5, Z6, Z10, Z12\n",
"2.5 Z1, Z5, Z6, Z7, Z8, Z9, Z12\n",
"-2.5 Z1, Z5, Z6, Z7, Z10, Z11, Z12\n",
"7.5 Z1, Z5, Z9, Z11, Z12\n",
"2.5 Z1, Z5, Z8, Z10, Z12\n",
"2.5 Z1, Z5, Z8, Z9, Z10, Z11, Z12\n",
"2.5 Z0, Z1, Z7, Z8, Z12\n",
"2.5 Z0, Z1, Z7, Z10, Z12\n",
"2.5 Z0, Z7, Z8, Z9, Z12\n",
"2.5 Z0, Z7, Z10, Z11, Z12\n",
"-2.5 Z1, Z2, Z7, Z8, Z12\n",
"2.5 Z1, Z2, Z7, Z10, Z12\n",
"-2.5 Z1, Z2, Z3, Z7, Z8, Z9, Z12\n",
"2.5 Z1, Z2, Z3, Z7, Z10, Z11, Z12\n",
"2.5 Z1, Z4, Z7, Z8, Z12\n",
"-2.5 Z1, Z4, Z7, Z10, Z12\n",
"2.5 Z1, Z4, Z5, Z7, Z8, Z9, Z12\n",
"-2.5 Z1, Z4, Z5, Z7, Z10, Z11, Z12\n",
"2.5 Z1, Z6, Z7, Z8, Z12\n",
"2.5 Z1, Z6, Z7, Z10, Z12\n",
"2.5 Z1, Z6, Z8, Z9, Z12\n",
"2.5 Z1, Z6, Z10, Z11, Z12\n",
"-7.5 Z1, Z7, Z9, Z11, Z12\n",
"-2.5 Z1, Z7, Z8, Z10, Z12\n",
"-2.5 Z1, Z7, Z8, Z9, Z10, Z11, Z12\n",
"2.5 Z0, Z1, Z2, Z9, Z12\n",
"-7.5 Z0, Z1, Z4, Z9, Z12\n",
"2.5 Z0, Z1, Z6, Z9, Z12\n",
"2.5 Z0, Z1, Z9, Z10, Z12\n",
"2.5 Z0, Z2, Z3, Z9, Z12\n",
"-7.5 Z0, Z4, Z5, Z9, Z12\n",
"2.5 Z0, Z6, Z7, Z9, Z12\n",
"2.5 Z0, Z9, Z10, Z11, Z12\n",
"2.5 Z1, Z2, Z4, Z9, Z12\n",
"-2.5 Z1, Z2, Z6, Z9, Z12\n",
"-2.5 Z1, Z2, Z9, Z10, Z12\n",
"2.5 Z1, Z2, Z3, Z4, Z5, Z9, Z12\n",
"-2.5 Z1, Z2, Z3, Z6, Z7, Z9, Z12\n",
"-2.5 Z1, Z2, Z3, Z9, Z10, Z11, Z12\n",
"2.5 Z1, Z4, Z6, Z9, Z12\n",
"2.5 Z1, Z4, Z9, Z10, Z12\n",
"2.5 Z1, Z4, Z5, Z6, Z7, Z9, Z12\n",
"2.5 Z1, Z4, Z5, Z9, Z10, Z11, Z12\n",
"-2.5 Z1, Z6, Z9, Z10, Z12\n",
"-2.5 Z1, Z6, Z7, Z9, Z10, Z11, Z12\n",
"2.5 Z1, Z8, Z9, Z10, Z12\n",
"2.5 Z1, Z8, Z10, Z11, Z12\n",
"2.5 Z0, Z1, Z2, Z11, Z12\n",
"2.5 Z0, Z1, Z4, Z11, Z12\n",
"2.5 Z0, Z1, Z6, Z11, Z12\n",
"2.5 Z0, Z1, Z8, Z11, Z12\n",
"2.5 Z0, Z2, Z3, Z11, Z12\n",
"2.5 Z0, Z4, Z5, Z11, Z12\n",
"2.5 Z0, Z6, Z7, Z11, Z12\n",
"2.5 Z0, Z8, Z9, Z11, Z12\n",
"-2.5 Z1, Z2, Z4, Z11, Z12\n",
"2.5 Z1, Z2, Z6, Z11, Z12\n",
"-2.5 Z1, Z2, Z8, Z11, Z12\n",
"-2.5 Z1, Z2, Z3, Z4, Z5, Z11, Z12\n",
"2.5 Z1, Z2, Z3, Z6, Z7, Z11, Z12\n",
"-2.5 Z1, Z2, Z3, Z8, Z9, Z11, Z12\n",
"-2.5 Z1, Z4, Z6, Z11, Z12\n",
"2.5 Z1, Z4, Z8, Z11, Z12\n",
"-2.5 Z1, Z4, Z5, Z6, Z7, Z11, Z12\n",
"2.5 Z1, Z4, Z5, Z8, Z9, Z11, Z12\n",
"-2.5 Z1, Z6, Z8, Z11, Z12\n",
"-2.5 Z1, Z6, Z7, Z8, Z9, Z11, Z12\n",
"2.5 Z0, Z2, Z5, Z9, Z12\n",
"-2.5 Z0, Z2, Z5, Z11, Z12\n",
"7.5 Z0, Z2, Z4, Z8, Z12\n",
"-7.5 Z0, Z2, Z4, Z10, Z12\n",
"2.5 Z0, Z2, Z4, Z5, Z8, Z9, Z12\n",
"-2.5 Z0, Z2, Z4, Z5, Z10, Z11, Z12\n",
"-2.5 Z0, Z2, Z7, Z9, Z12\n",
"2.5 Z0, Z2, Z7, Z11, Z12\n",
"-7.5 Z0, Z2, Z6, Z8, Z12\n",
"7.5 Z0, Z2, Z6, Z10, Z12\n",
"-2.5 Z0, Z2, Z6, Z7, Z8, Z9, Z12\n",
"2.5 Z0, Z2, Z6, Z7, Z10, Z11, Z12\n",
"-2.5 Z0, Z2, Z9, Z11, Z12\n",
"-7.5 Z0, Z2, Z8, Z10, Z12\n",
"-2.5 Z0, Z2, Z8, Z9, Z10, Z11, Z12\n",
"2.5 Z0, Z3, Z4, Z9, Z12\n",
"-2.5 Z0, Z3, Z4, Z11, Z12\n",
"2.5 Z0, Z2, Z3, Z4, Z8, Z9, Z12\n",
"-2.5 Z0, Z2, Z3, Z4, Z10, Z11, Z12\n",
"2.5 Z0, Z4, Z7, Z9, Z12\n",
"-2.5 Z0, Z4, Z7, Z11, Z12\n",
"7.5 Z0, Z4, Z6, Z8, Z12\n",
"-7.5 Z0, Z4, Z6, Z10, Z12\n",
"2.5 Z0, Z4, Z6, Z7, Z8, Z9, Z12\n",
"-2.5 Z0, Z4, Z6, Z7, Z10, Z11, Z12\n",
"2.5 Z0, Z4, Z9, Z11, Z12\n",
"7.5 Z0, Z4, Z8, Z10, Z12\n",
"2.5 Z0, Z4, Z8, Z9, Z10, Z11, Z12\n",
"-2.5 Z0, Z3, Z6, Z9, Z12\n",
"2.5 Z0, Z3, Z6, Z11, Z12\n",
"-2.5 Z0, Z2, Z3, Z6, Z8, Z9, Z12\n",
"2.5 Z0, Z2, Z3, Z6, Z10, Z11, Z12\n",
"2.5 Z0, Z5, Z6, Z9, Z12\n",
"-2.5 Z0, Z5, Z6, Z11, Z12\n",
"2.5 Z0, Z4, Z5, Z6, Z8, Z9, Z12\n",
"-2.5 Z0, Z4, Z5, Z6, Z10, Z11, Z12\n",
"-2.5 Z0, Z6, Z9, Z11, Z12\n",
"-7.5 Z0, Z6, Z8, Z10, Z12\n",
"-2.5 Z0, Z6, Z8, Z9, Z10, Z11, Z12\n",
"2.5 Z0, Z3, Z5, Z8, Z12\n",
"-2.5 Z0, Z3, Z7, Z8, Z12\n",
"-2.5 Z0, Z3, Z8, Z11, Z12\n",
"2.5 Z0, Z2, Z3, Z4, Z5, Z8, Z12\n",
"-2.5 Z0, Z2, Z3, Z6, Z7, Z8, Z12\n",
"-2.5 Z0, Z2, Z3, Z8, Z10, Z11, Z12\n",
"2.5 Z0, Z5, Z7, Z8, Z12\n",
"2.5 Z0, Z5, Z8, Z11, Z12\n",
"2.5 Z0, Z4, Z5, Z6, Z7, Z8, Z12\n",
"2.5 Z0, Z4, Z5, Z8, Z10, Z11, Z12\n",
"-2.5 Z0, Z7, Z8, Z11, Z12\n",
"-2.5 Z0, Z6, Z7, Z8, Z10, Z11, Z12\n",
"-2.5 Z0, Z3, Z5, Z10, Z12\n",
"2.5 Z0, Z3, Z7, Z10, Z12\n",
"-2.5 Z0, Z3, Z9, Z10, Z12\n",
"-2.5 Z0, Z2, Z3, Z4, Z5, Z10, Z12\n",
"2.5 Z0, Z2, Z3, Z6, Z7, Z10, Z12\n",
"-2.5 Z0, Z2, Z3, Z8, Z9, Z10, Z12\n",
"-2.5 Z0, Z5, Z7, Z10, Z12\n",
"2.5 Z0, Z5, Z9, Z10, Z12\n",
"-2.5 Z0, Z4, Z5, Z6, Z7, Z10, Z12\n",
"2.5 Z0, Z4, Z5, Z8, Z9, Z10, Z12\n",
"-2.5 Z0, Z7, Z9, Z10, Z12\n",
"-2.5 Z0, Z6, Z7, Z8, Z9, Z10, Z12\n",
"2.5 Z0, Z1, Z2, Z3, Z5, Z9, Z12\n",
"-2.5 Z0, Z1, Z2, Z3, Z5, Z11, Z12\n",
"2.5 Z0, Z1, Z2, Z3, Z4, Z8, Z12\n",
"-2.5 Z0, Z1, Z2, Z3, Z4, Z10, Z12\n",
"7.5 Z0, Z1, Z2, Z3, Z4, Z5, Z8, Z9, Z12\n",
"-7.5 Z0, Z1, Z2, Z3, Z4, Z5, Z10, Z11, Z12\n",
"-2.5 Z0, Z1, Z2, Z3, Z7, Z9, Z12\n",
"2.5 Z0, Z1, Z2, Z3, Z7, Z11, Z12\n",
"-2.5 Z0, Z1, Z2, Z3, Z6, Z8, Z12\n",
"2.5 Z0, Z1, Z2, Z3, Z6, Z10, Z12\n",
"-7.5 Z0, Z1, Z2, Z3, Z6, Z7, Z8, Z9, Z12\n",
"7.5 Z0, Z1, Z2, Z3, Z6, Z7, Z10, Z11, Z12\n",
"-2.5 Z0, Z1, Z2, Z3, Z9, Z11, Z12\n",
"-2.5 Z0, Z1, Z2, Z3, Z8, Z10, Z12\n",
"-7.5 Z0, Z1, Z2, Z3, Z8, Z9, Z10, Z11, Z12\n",
"2.5 Z0, Z1, Z3, Z4, Z5, Z9, Z12\n",
"-2.5 Z0, Z1, Z3, Z4, Z5, Z11, Z12\n",
"2.5 Z0, Z1, Z2, Z4, Z5, Z8, Z12\n",
"-2.5 Z0, Z1, Z2, Z4, Z5, Z10, Z12\n",
"2.5 Z0, Z1, Z4, Z5, Z7, Z9, Z12\n",
"-2.5 Z0, Z1, Z4, Z5, Z7, Z11, Z12\n",
"2.5 Z0, Z1, Z4, Z5, Z6, Z8, Z12\n",
"-2.5 Z0, Z1, Z4, Z5, Z6, Z10, Z12\n",
"7.5 Z0, Z1, Z4, Z5, Z6, Z7, Z8, Z9, Z12\n",
"-7.5 Z0, Z1, Z4, Z5, Z6, Z7, Z10, Z11, Z12\n",
"2.5 Z0, Z1, Z4, Z5, Z9, Z11, Z12\n",
"2.5 Z0, Z1, Z4, Z5, Z8, Z10, Z12\n",
"7.5 Z0, Z1, Z4, Z5, Z8, Z9, Z10, Z11, Z12\n",
"-2.5 Z0, Z1, Z3, Z6, Z7, Z9, Z12\n",
"2.5 Z0, Z1, Z3, Z6, Z7, Z11, Z12\n",
"-2.5 Z0, Z1, Z2, Z6, Z7, Z8, Z12\n",
"2.5 Z0, Z1, Z2, Z6, Z7, Z10, Z12\n",
"2.5 Z0, Z1, Z5, Z6, Z7, Z9, Z12\n",
"-2.5 Z0, Z1, Z5, Z6, Z7, Z11, Z12\n",
"2.5 Z0, Z1, Z4, Z6, Z7, Z8, Z12\n",
"-2.5 Z0, Z1, Z4, Z6, Z7, Z10, Z12\n",
"-2.5 Z0, Z1, Z6, Z7, Z9, Z11, Z12\n",
"-2.5 Z0, Z1, Z6, Z7, Z8, Z10, Z12\n",
"-7.5 Z0, Z1, Z6, Z7, Z8, Z9, Z10, Z11, Z12\n",
"2.5 Z0, Z1, Z3, Z5, Z8, Z9, Z12\n",
"-2.5 Z0, Z1, Z3, Z7, Z8, Z9, Z12\n",
"-2.5 Z0, Z1, Z3, Z8, Z9, Z11, Z12\n",
"2.5 Z0, Z1, Z2, Z4, Z8, Z9, Z12\n",
"-2.5 Z0, Z1, Z2, Z6, Z8, Z9, Z12\n",
"-2.5 Z0, Z1, Z2, Z8, Z9, Z10, Z12\n",
"2.5 Z0, Z1, Z5, Z7, Z8, Z9, Z12\n",
"2.5 Z0, Z1, Z5, Z8, Z9, Z11, Z12\n",
"2.5 Z0, Z1, Z4, Z6, Z8, Z9, Z12\n",
"2.5 Z0, Z1, Z4, Z8, Z9, Z10, Z12\n",
"-2.5 Z0, Z1, Z7, Z8, Z9, Z11, Z12\n",
"-2.5 Z0, Z1, Z6, Z8, Z9, Z10, Z12\n",
"-2.5 Z0, Z1, Z3, Z5, Z10, Z11, Z12\n",
"2.5 Z0, Z1, Z3, Z7, Z10, Z11, Z12\n",
"-2.5 Z0, Z1, Z3, Z9, Z10, Z11, Z12\n",
"-2.5 Z0, Z1, Z2, Z4, Z10, Z11, Z12\n",
"2.5 Z0, Z1, Z2, Z6, Z10, Z11, Z12\n",
"-2.5 Z0, Z1, Z2, Z8, Z10, Z11, Z12\n",
"-2.5 Z0, Z1, Z5, Z7, Z10, Z11, Z12\n",
"2.5 Z0, Z1, Z5, Z9, Z10, Z11, Z12\n",
"-2.5 Z0, Z1, Z4, Z6, Z10, Z11, Z12\n",
"2.5 Z0, Z1, Z4, Z8, Z10, Z11, Z12\n",
"-2.5 Z0, Z1, Z7, Z9, Z10, Z11, Z12\n",
"-2.5 Z0, Z1, Z6, Z8, Z10, Z11, Z12\n",
"2.5 Z2, Z3, Z5, Z10, Z12\n",
"2.5 Z2, Z5, Z10, Z11, Z12\n",
"2.5 Z3, Z4, Z5, Z10, Z12\n",
"2.5 Z3, Z4, Z10, Z11, Z12\n",
"7.5 Z3, Z5, Z7, Z11, Z12\n",
"2.5 Z3, Z5, Z6, Z10, Z12\n",
"2.5 Z3, Z5, Z6, Z7, Z10, Z11, Z12\n",
"-7.5 Z3, Z5, Z9, Z11, Z12\n",
"-2.5 Z3, Z5, Z8, Z10, Z12\n",
"-2.5 Z3, Z5, Z8, Z9, Z10, Z11, Z12\n",
"-7.5 Z2, Z3, Z7, Z10, Z12\n",
"-7.5 Z2, Z7, Z10, Z11, Z12\n",
"2.5 Z3, Z4, Z7, Z10, Z12\n",
"2.5 Z3, Z4, Z5, Z7, Z10, Z11, Z12\n",
"-7.5 Z3, Z6, Z7, Z10, Z12\n",
"-7.5 Z3, Z6, Z10, Z11, Z12\n",
"7.5 Z3, Z7, Z9, Z11, Z12\n",
"2.5 Z3, Z7, Z8, Z10, Z12\n",
"2.5 Z3, Z7, Z8, Z9, Z10, Z11, Z12\n",
"2.5 Z2, Z3, Z9, Z10, Z12\n",
"2.5 Z2, Z9, Z10, Z11, Z12\n",
"-2.5 Z3, Z4, Z9, Z10, Z12\n",
"-2.5 Z3, Z4, Z5, Z9, Z10, Z11, Z12\n",
"2.5 Z3, Z6, Z9, Z10, Z12\n",
"2.5 Z3, Z6, Z7, Z9, Z10, Z11, Z12\n",
"2.5 Z3, Z8, Z9, Z10, Z12\n",
"2.5 Z3, Z8, Z10, Z11, Z12\n",
"2.5 Z2, Z3, Z4, Z11, Z12\n",
"-7.5 Z2, Z3, Z6, Z11, Z12\n",
"2.5 Z2, Z3, Z8, Z11, Z12\n",
"2.5 Z2, Z4, Z5, Z11, Z12\n",
"-7.5 Z2, Z6, Z7, Z11, Z12\n",
"2.5 Z2, Z8, Z9, Z11, Z12\n",
"2.5 Z3, Z4, Z6, Z11, Z12\n",
"-2.5 Z3, Z4, Z8, Z11, Z12\n",
"2.5 Z3, Z4, Z5, Z6, Z7, Z11, Z12\n",
"-2.5 Z3, Z4, Z5, Z8, Z9, Z11, Z12\n",
"2.5 Z3, Z6, Z8, Z11, Z12\n",
"2.5 Z3, Z6, Z7, Z8, Z9, Z11, Z12\n",
"2.5 Z2, Z4, Z7, Z11, Z12\n",
"7.5 Z2, Z4, Z6, Z10, Z12\n",
"2.5 Z2, Z4, Z6, Z7, Z10, Z11, Z12\n",
"-2.5 Z2, Z4, Z9, Z11, Z12\n",
"-7.5 Z2, Z4, Z8, Z10, Z12\n",
"-2.5 Z2, Z4, Z8, Z9, Z10, Z11, Z12\n",
"2.5 Z2, Z5, Z6, Z11, Z12\n",
"2.5 Z2, Z4, Z5, Z6, Z10, Z11, Z12\n",
"2.5 Z2, Z6, Z9, Z11, Z12\n",
"7.5 Z2, Z6, Z8, Z10, Z12\n",
"2.5 Z2, Z6, Z8, Z9, Z10, Z11, Z12\n",
"-2.5 Z2, Z5, Z8, Z11, Z12\n",
"-2.5 Z2, Z4, Z5, Z8, Z10, Z11, Z12\n",
"2.5 Z2, Z7, Z8, Z11, Z12\n",
"2.5 Z2, Z6, Z7, Z8, Z10, Z11, Z12\n",
"2.5 Z2, Z5, Z7, Z10, Z12\n",
"-2.5 Z2, Z5, Z9, Z10, Z12\n",
"2.5 Z2, Z4, Z5, Z6, Z7, Z10, Z12\n",
"-2.5 Z2, Z4, Z5, Z8, Z9, Z10, Z12\n",
"2.5 Z2, Z7, Z9, Z10, Z12\n",
"2.5 Z2, Z6, Z7, Z8, Z9, Z10, Z12\n",
"2.5 Z2, Z3, Z4, Z5, Z7, Z11, Z12\n",
"2.5 Z2, Z3, Z4, Z5, Z6, Z10, Z12\n",
"7.5 Z2, Z3, Z4, Z5, Z6, Z7, Z10, Z11, Z12\n",
"-2.5 Z2, Z3, Z4, Z5, Z9, Z11, Z12\n",
"-2.5 Z2, Z3, Z4, Z5, Z8, Z10, Z12\n",
"-7.5 Z2, Z3, Z4, Z5, Z8, Z9, Z10, Z11, Z12\n",
"2.5 Z2, Z3, Z5, Z6, Z7, Z11, Z12\n",
"2.5 Z2, Z3, Z4, Z6, Z7, Z10, Z12\n",
"2.5 Z2, Z3, Z6, Z7, Z9, Z11, Z12\n",
"2.5 Z2, Z3, Z6, Z7, Z8, Z10, Z12\n",
"7.5 Z2, Z3, Z6, Z7, Z8, Z9, Z10, Z11, Z12\n",
"-2.5 Z2, Z3, Z5, Z8, Z9, Z11, Z12\n",
"-2.5 Z2, Z3, Z4, Z8, Z9, Z10, Z12\n",
"2.5 Z2, Z3, Z7, Z8, Z9, Z11, Z12\n",
"2.5 Z2, Z3, Z6, Z8, Z9, Z10, Z12\n",
"2.5 Z2, Z3, Z5, Z7, Z10, Z11, Z12\n",
"-2.5 Z2, Z3, Z5, Z9, Z10, Z11, Z12\n",
"2.5 Z2, Z3, Z4, Z6, Z10, Z11, Z12\n",
"-2.5 Z2, Z3, Z4, Z8, Z10, Z11, Z12\n",
"2.5 Z2, Z3, Z7, Z9, Z10, Z11, Z12\n",
"2.5 Z2, Z3, Z6, Z8, Z10, Z11, Z12\n",
"2.5 Z4, Z5, Z7, Z10, Z12\n",
"2.5 Z4, Z7, Z10, Z11, Z12\n",
"2.5 Z5, Z6, Z7, Z10, Z12\n",
"2.5 Z5, Z6, Z10, Z11, Z12\n",
"-7.5 Z5, Z7, Z9, Z11, Z12\n",
"-2.5 Z5, Z7, Z8, Z10, Z12\n",
"-2.5 Z5, Z7, Z8, Z9, Z10, Z11, Z12\n",
"2.5 Z4, Z5, Z9, Z10, Z12\n",
"2.5 Z4, Z9, Z10, Z11, Z12\n",
"-2.5 Z5, Z6, Z9, Z10, Z12\n",
"-2.5 Z5, Z6, Z7, Z9, Z10, Z11, Z12\n",
"2.5 Z5, Z8, Z9, Z10, Z12\n",
"2.5 Z5, Z8, Z10, Z11, Z12\n",
"2.5 Z4, Z5, Z6, Z11, Z12\n",
"2.5 Z4, Z5, Z8, Z11, Z12\n",
"2.5 Z4, Z6, Z7, Z11, Z12\n",
"2.5 Z4, Z8, Z9, Z11, Z12\n",
"-2.5 Z5, Z6, Z8, Z11, Z12\n",
"-2.5 Z5, Z6, Z7, Z8, Z9, Z11, Z12\n",
"-2.5 Z4, Z6, Z9, Z11, Z12\n",
"-7.5 Z4, Z6, Z8, Z10, Z12\n",
"-2.5 Z4, Z6, Z8, Z9, Z10, Z11, Z12\n",
"-2.5 Z4, Z7, Z8, Z11, Z12\n",
"-2.5 Z4, Z6, Z7, Z8, Z10, Z11, Z12\n",
"-2.5 Z4, Z7, Z9, Z10, Z12\n",
"-2.5 Z4, Z6, Z7, Z8, Z9, Z10, Z12\n",
"-2.5 Z4, Z5, Z6, Z7, Z9, Z11, Z12\n",
"-2.5 Z4, Z5, Z6, Z7, Z8, Z10, Z12\n",
"-7.5 Z4, Z5, Z6, Z7, Z8, Z9, Z10, Z11, Z12\n",
"-2.5 Z4, Z5, Z7, Z8, Z9, Z11, Z12\n",
"-2.5 Z4, Z5, Z6, Z8, Z9, Z10, Z12\n",
"-2.5 Z4, Z5, Z7, Z9, Z10, Z11, Z12\n",
"-2.5 Z4, Z5, Z6, Z8, Z10, Z11, Z12\n",
"2.5 Z6, Z7, Z9, Z10, Z12\n",
"2.5 Z6, Z9, Z10, Z11, Z12\n",
"2.5 Z7, Z8, Z9, Z10, Z12\n",
"2.5 Z7, Z8, Z10, Z11, Z12\n",
"2.5 Z6, Z7, Z8, Z11, Z12\n",
"2.5 Z6, Z8, Z9, Z11, Z12\n",
"-157.34050000000002 Z13\n",
"30.0 Z3, Z5, Z13\n",
"-40.0 Z3, Z7, Z13\n",
"30.0 Z3, Z9, Z13\n",
"-27.5 Z3, Z11, Z13\n",
"30.0 Z2, Z4, Z13\n",
"-40.0 Z2, Z6, Z13\n",
"30.0 Z2, Z8, Z13\n",
"-27.5 Z2, Z10, Z13\n",
"30.0 Z2, Z3, Z4, Z5, Z13\n",
"-40.0 Z2, Z3, Z6, Z7, Z13\n",
"30.0 Z2, Z3, Z8, Z9, Z13\n",
"-27.5 Z2, Z3, Z10, Z11, Z13\n",
"37.5 Z5, Z7, Z13\n",
"-52.5 Z5, Z9, Z13\n",
"30.0 Z5, Z11, Z13\n",
"37.5 Z4, Z6, Z13\n",
"-52.5 Z4, Z8, Z13\n",
"30.0 Z4, Z10, Z13\n",
"37.5 Z4, Z5, Z6, Z7, Z13\n",
"-52.5 Z4, Z5, Z8, Z9, Z13\n",
"30.0 Z4, Z5, Z10, Z11, Z13\n",
"37.5 Z7, Z9, Z13\n",
"-40.0 Z7, Z11, Z13\n",
"37.5 Z6, Z8, Z13\n",
"-40.0 Z6, Z10, Z13\n",
"37.5 Z6, Z7, Z8, Z9, Z13\n",
"-40.0 Z6, Z7, Z10, Z11, Z13\n",
"30.0 Z9, Z11, Z13\n",
"30.0 Z8, Z10, Z13\n",
"30.0 Z8, Z9, Z10, Z11, Z13\n",
"20.0 Z1, Z3, Z13\n",
"-25.0 Z1, Z5, Z13\n",
"20.0 Z1, Z7, Z13\n",
"-25.0 Z1, Z9, Z13\n",
"20.0 Z1, Z11, Z13\n",
"20.0 Z0, Z2, Z13\n",
"-25.0 Z0, Z4, Z13\n",
"20.0 Z0, Z6, Z13\n",
"-25.0 Z0, Z8, Z13\n",
"20.0 Z0, Z10, Z13\n",
"20.0 Z0, Z1, Z2, Z3, Z13\n",
"-25.0 Z0, Z1, Z4, Z5, Z13\n",
"20.0 Z0, Z1, Z6, Z7, Z13\n",
"-25.0 Z0, Z1, Z8, Z9, Z13\n",
"20.0 Z0, Z1, Z10, Z11, Z13\n",
"2.5 Z0, Z1, Z3, Z4, Z13\n",
"2.5 Z0, Z1, Z3, Z6, Z13\n",
"2.5 Z0, Z1, Z3, Z8, Z13\n",
"2.5 Z0, Z1, Z3, Z10, Z13\n",
"2.5 Z0, Z3, Z4, Z5, Z13\n",
"2.5 Z0, Z3, Z6, Z7, Z13\n",
"2.5 Z0, Z3, Z8, Z9, Z13\n",
"2.5 Z0, Z3, Z10, Z11, Z13\n",
"2.5 Z1, Z2, Z3, Z4, Z13\n",
"2.5 Z1, Z2, Z3, Z6, Z13\n",
"2.5 Z1, Z2, Z3, Z8, Z13\n",
"2.5 Z1, Z2, Z3, Z10, Z13\n",
"2.5 Z1, Z2, Z4, Z5, Z13\n",
"2.5 Z1, Z2, Z6, Z7, Z13\n",
"2.5 Z1, Z2, Z8, Z9, Z13\n",
"2.5 Z1, Z2, Z10, Z11, Z13\n",
"-7.5 Z1, Z3, Z5, Z7, Z13\n",
"7.5 Z1, Z3, Z5, Z9, Z13\n",
"-7.5 Z1, Z3, Z5, Z11, Z13\n",
"-2.5 Z1, Z3, Z4, Z6, Z13\n",
"2.5 Z1, Z3, Z4, Z8, Z13\n",
"-2.5 Z1, Z3, Z4, Z10, Z13\n",
"-2.5 Z1, Z3, Z4, Z5, Z6, Z7, Z13\n",
"2.5 Z1, Z3, Z4, Z5, Z8, Z9, Z13\n",
"-2.5 Z1, Z3, Z4, Z5, Z10, Z11, Z13\n",
"-7.5 Z1, Z3, Z7, Z9, Z13\n",
"7.5 Z1, Z3, Z7, Z11, Z13\n",
"-2.5 Z1, Z3, Z6, Z8, Z13\n",
"2.5 Z1, Z3, Z6, Z10, Z13\n",
"-2.5 Z1, Z3, Z6, Z7, Z8, Z9, Z13\n",
"2.5 Z1, Z3, Z6, Z7, Z10, Z11, Z13\n",
"-7.5 Z1, Z3, Z9, Z11, Z13\n",
"-2.5 Z1, Z3, Z8, Z10, Z13\n",
"-2.5 Z1, Z3, Z8, Z9, Z10, Z11, Z13\n",
"2.5 Z0, Z1, Z2, Z5, Z13\n",
"2.5 Z0, Z1, Z5, Z6, Z13\n",
"-7.5 Z0, Z1, Z5, Z8, Z13\n",
"2.5 Z0, Z1, Z5, Z10, Z13\n",
"2.5 Z0, Z2, Z3, Z5, Z13\n",
"2.5 Z0, Z5, Z6, Z7, Z13\n",
"-7.5 Z0, Z5, Z8, Z9, Z13\n",
"2.5 Z0, Z5, Z10, Z11, Z13\n",
"-2.5 Z1, Z2, Z5, Z6, Z13\n",
"2.5 Z1, Z2, Z5, Z8, Z13\n",
"-2.5 Z1, Z2, Z5, Z10, Z13\n",
"-2.5 Z1, Z2, Z3, Z5, Z6, Z7, Z13\n",
"2.5 Z1, Z2, Z3, Z5, Z8, Z9, Z13\n",
"-2.5 Z1, Z2, Z3, Z5, Z10, Z11, Z13\n",
"2.5 Z1, Z4, Z5, Z6, Z13\n",
"-7.5 Z1, Z4, Z5, Z8, Z13\n",
"2.5 Z1, Z4, Z5, Z10, Z13\n",
"2.5 Z1, Z4, Z6, Z7, Z13\n",
"-7.5 Z1, Z4, Z8, Z9, Z13\n",
"2.5 Z1, Z4, Z10, Z11, Z13\n",
"7.5 Z1, Z5, Z7, Z9, Z13\n",
"-7.5 Z1, Z5, Z7, Z11, Z13\n",
"2.5 Z1, Z5, Z6, Z8, Z13\n",
"-2.5 Z1, Z5, Z6, Z10, Z13\n",
"2.5 Z1, Z5, Z6, Z7, Z8, Z9, Z13\n",
"-2.5 Z1, Z5, Z6, Z7, Z10, Z11, Z13\n",
"7.5 Z1, Z5, Z9, Z11, Z13\n",
"2.5 Z1, Z5, Z8, Z10, Z13\n",
"2.5 Z1, Z5, Z8, Z9, Z10, Z11, Z13\n",
"2.5 Z0, Z1, Z2, Z7, Z13\n",
"2.5 Z0, Z1, Z4, Z7, Z13\n",
"2.5 Z0, Z1, Z7, Z8, Z13\n",
"2.5 Z0, Z1, Z7, Z10, Z13\n",
"2.5 Z0, Z2, Z3, Z7, Z13\n",
"2.5 Z0, Z4, Z5, Z7, Z13\n",
"2.5 Z0, Z7, Z8, Z9, Z13\n",
"2.5 Z0, Z7, Z10, Z11, Z13\n",
"-2.5 Z1, Z2, Z4, Z7, Z13\n",
"-2.5 Z1, Z2, Z7, Z8, Z13\n",
"2.5 Z1, Z2, Z7, Z10, Z13\n",
"-2.5 Z1, Z2, Z3, Z4, Z5, Z7, Z13\n",
"-2.5 Z1, Z2, Z3, Z7, Z8, Z9, Z13\n",
"2.5 Z1, Z2, Z3, Z7, Z10, Z11, Z13\n",
"2.5 Z1, Z4, Z7, Z8, Z13\n",
"-2.5 Z1, Z4, Z7, Z10, Z13\n",
"2.5 Z1, Z4, Z5, Z7, Z8, Z9, Z13\n",
"-2.5 Z1, Z4, Z5, Z7, Z10, Z11, Z13\n",
"2.5 Z1, Z6, Z7, Z8, Z13\n",
"2.5 Z1, Z6, Z7, Z10, Z13\n",
"2.5 Z1, Z6, Z8, Z9, Z13\n",
"2.5 Z1, Z6, Z10, Z11, Z13\n",
"-7.5 Z1, Z7, Z9, Z11, Z13\n",
"-2.5 Z1, Z7, Z8, Z10, Z13\n",
"-2.5 Z1, Z7, Z8, Z9, Z10, Z11, Z13\n",
"2.5 Z0, Z1, Z2, Z9, Z13\n",
"-7.5 Z0, Z1, Z4, Z9, Z13\n",
"2.5 Z0, Z1, Z6, Z9, Z13\n",
"2.5 Z0, Z1, Z9, Z10, Z13\n",
"2.5 Z0, Z2, Z3, Z9, Z13\n",
"-7.5 Z0, Z4, Z5, Z9, Z13\n",
"2.5 Z0, Z6, Z7, Z9, Z13\n",
"2.5 Z0, Z9, Z10, Z11, Z13\n",
"2.5 Z1, Z2, Z4, Z9, Z13\n",
"-2.5 Z1, Z2, Z6, Z9, Z13\n",
"-2.5 Z1, Z2, Z9, Z10, Z13\n",
"2.5 Z1, Z2, Z3, Z4, Z5, Z9, Z13\n",
"-2.5 Z1, Z2, Z3, Z6, Z7, Z9, Z13\n",
"-2.5 Z1, Z2, Z3, Z9, Z10, Z11, Z13\n",
"2.5 Z1, Z4, Z6, Z9, Z13\n",
"2.5 Z1, Z4, Z9, Z10, Z13\n",
"2.5 Z1, Z4, Z5, Z6, Z7, Z9, Z13\n",
"2.5 Z1, Z4, Z5, Z9, Z10, Z11, Z13\n",
"-2.5 Z1, Z6, Z9, Z10, Z13\n",
"-2.5 Z1, Z6, Z7, Z9, Z10, Z11, Z13\n",
"2.5 Z1, Z8, Z9, Z10, Z13\n",
"2.5 Z1, Z8, Z10, Z11, Z13\n",
"2.5 Z0, Z1, Z2, Z11, Z13\n",
"2.5 Z0, Z1, Z4, Z11, Z13\n",
"2.5 Z0, Z1, Z6, Z11, Z13\n",
"2.5 Z0, Z1, Z8, Z11, Z13\n",
"2.5 Z0, Z2, Z3, Z11, Z13\n",
"2.5 Z0, Z4, Z5, Z11, Z13\n",
"2.5 Z0, Z6, Z7, Z11, Z13\n",
"2.5 Z0, Z8, Z9, Z11, Z13\n",
"-2.5 Z1, Z2, Z4, Z11, Z13\n",
"2.5 Z1, Z2, Z6, Z11, Z13\n",
"-2.5 Z1, Z2, Z8, Z11, Z13\n",
"-2.5 Z1, Z2, Z3, Z4, Z5, Z11, Z13\n",
"2.5 Z1, Z2, Z3, Z6, Z7, Z11, Z13\n",
"-2.5 Z1, Z2, Z3, Z8, Z9, Z11, Z13\n",
"-2.5 Z1, Z4, Z6, Z11, Z13\n",
"2.5 Z1, Z4, Z8, Z11, Z13\n",
"-2.5 Z1, Z4, Z5, Z6, Z7, Z11, Z13\n",
"2.5 Z1, Z4, Z5, Z8, Z9, Z11, Z13\n",
"-2.5 Z1, Z6, Z8, Z11, Z13\n",
"-2.5 Z1, Z6, Z7, Z8, Z9, Z11, Z13\n",
"-2.5 Z0, Z2, Z5, Z7, Z13\n",
"2.5 Z0, Z2, Z5, Z9, Z13\n",
"-2.5 Z0, Z2, Z5, Z11, Z13\n",
"-7.5 Z0, Z2, Z4, Z6, Z13\n",
"7.5 Z0, Z2, Z4, Z8, Z13\n",
"-7.5 Z0, Z2, Z4, Z10, Z13\n",
"-2.5 Z0, Z2, Z4, Z5, Z6, Z7, Z13\n",
"2.5 Z0, Z2, Z4, Z5, Z8, Z9, Z13\n",
"-2.5 Z0, Z2, Z4, Z5, Z10, Z11, Z13\n",
"-2.5 Z0, Z2, Z7, Z9, Z13\n",
"2.5 Z0, Z2, Z7, Z11, Z13\n",
"-7.5 Z0, Z2, Z6, Z8, Z13\n",
"7.5 Z0, Z2, Z6, Z10, Z13\n",
"-2.5 Z0, Z2, Z6, Z7, Z8, Z9, Z13\n",
"2.5 Z0, Z2, Z6, Z7, Z10, Z11, Z13\n",
"-2.5 Z0, Z2, Z9, Z11, Z13\n",
"-7.5 Z0, Z2, Z8, Z10, Z13\n",
"-2.5 Z0, Z2, Z8, Z9, Z10, Z11, Z13\n",
"-2.5 Z0, Z3, Z4, Z7, Z13\n",
"2.5 Z0, Z3, Z4, Z9, Z13\n",
"-2.5 Z0, Z3, Z4, Z11, Z13\n",
"-2.5 Z0, Z2, Z3, Z4, Z6, Z7, Z13\n",
"2.5 Z0, Z2, Z3, Z4, Z8, Z9, Z13\n",
"-2.5 Z0, Z2, Z3, Z4, Z10, Z11, Z13\n",
"2.5 Z0, Z4, Z7, Z9, Z13\n",
"-2.5 Z0, Z4, Z7, Z11, Z13\n",
"7.5 Z0, Z4, Z6, Z8, Z13\n",
"-7.5 Z0, Z4, Z6, Z10, Z13\n",
"2.5 Z0, Z4, Z6, Z7, Z8, Z9, Z13\n",
"-2.5 Z0, Z4, Z6, Z7, Z10, Z11, Z13\n",
"2.5 Z0, Z4, Z9, Z11, Z13\n",
"7.5 Z0, Z4, Z8, Z10, Z13\n",
"2.5 Z0, Z4, Z8, Z9, Z10, Z11, Z13\n",
"-2.5 Z0, Z3, Z5, Z6, Z13\n",
"-2.5 Z0, Z3, Z6, Z9, Z13\n",
"2.5 Z0, Z3, Z6, Z11, Z13\n",
"-2.5 Z0, Z2, Z3, Z4, Z5, Z6, Z13\n",
"-2.5 Z0, Z2, Z3, Z6, Z8, Z9, Z13\n",
"2.5 Z0, Z2, Z3, Z6, Z10, Z11, Z13\n",
"2.5 Z0, Z5, Z6, Z9, Z13\n",
"-2.5 Z0, Z5, Z6, Z11, Z13\n",
"2.5 Z0, Z4, Z5, Z6, Z8, Z9, Z13\n",
"-2.5 Z0, Z4, Z5, Z6, Z10, Z11, Z13\n",
"-2.5 Z0, Z6, Z9, Z11, Z13\n",
"-7.5 Z0, Z6, Z8, Z10, Z13\n",
"-2.5 Z0, Z6, Z8, Z9, Z10, Z11, Z13\n",
"2.5 Z0, Z3, Z5, Z8, Z13\n",
"-2.5 Z0, Z3, Z7, Z8, Z13\n",
"-2.5 Z0, Z3, Z8, Z11, Z13\n",
"2.5 Z0, Z2, Z3, Z4, Z5, Z8, Z13\n",
"-2.5 Z0, Z2, Z3, Z6, Z7, Z8, Z13\n",
"-2.5 Z0, Z2, Z3, Z8, Z10, Z11, Z13\n",
"2.5 Z0, Z5, Z7, Z8, Z13\n",
"2.5 Z0, Z5, Z8, Z11, Z13\n",
"2.5 Z0, Z4, Z5, Z6, Z7, Z8, Z13\n",
"2.5 Z0, Z4, Z5, Z8, Z10, Z11, Z13\n",
"-2.5 Z0, Z7, Z8, Z11, Z13\n",
"-2.5 Z0, Z6, Z7, Z8, Z10, Z11, Z13\n",
"-2.5 Z0, Z3, Z5, Z10, Z13\n",
"2.5 Z0, Z3, Z7, Z10, Z13\n",
"-2.5 Z0, Z3, Z9, Z10, Z13\n",
"-2.5 Z0, Z2, Z3, Z4, Z5, Z10, Z13\n",
"2.5 Z0, Z2, Z3, Z6, Z7, Z10, Z13\n",
"-2.5 Z0, Z2, Z3, Z8, Z9, Z10, Z13\n",
"-2.5 Z0, Z5, Z7, Z10, Z13\n",
"2.5 Z0, Z5, Z9, Z10, Z13\n",
"-2.5 Z0, Z4, Z5, Z6, Z7, Z10, Z13\n",
"2.5 Z0, Z4, Z5, Z8, Z9, Z10, Z13\n",
"-2.5 Z0, Z7, Z9, Z10, Z13\n",
"-2.5 Z0, Z6, Z7, Z8, Z9, Z10, Z13\n",
"-2.5 Z0, Z1, Z2, Z3, Z5, Z7, Z13\n",
"2.5 Z0, Z1, Z2, Z3, Z5, Z9, Z13\n",
"-2.5 Z0, Z1, Z2, Z3, Z5, Z11, Z13\n",
"-2.5 Z0, Z1, Z2, Z3, Z4, Z6, Z13\n",
"2.5 Z0, Z1, Z2, Z3, Z4, Z8, Z13\n",
"-2.5 Z0, Z1, Z2, Z3, Z4, Z10, Z13\n",
"-7.5 Z0, Z1, Z2, Z3, Z4, Z5, Z6, Z7, Z13\n",
"7.5 Z0, Z1, Z2, Z3, Z4, Z5, Z8, Z9, Z13\n",
"-7.5 Z0, Z1, Z2, Z3, Z4, Z5, Z10, Z11, Z13\n",
"-2.5 Z0, Z1, Z2, Z3, Z7, Z9, Z13\n",
"2.5 Z0, Z1, Z2, Z3, Z7, Z11, Z13\n",
"-2.5 Z0, Z1, Z2, Z3, Z6, Z8, Z13\n",
"2.5 Z0, Z1, Z2, Z3, Z6, Z10, Z13\n",
"-7.5 Z0, Z1, Z2, Z3, Z6, Z7, Z8, Z9, Z13\n",
"7.5 Z0, Z1, Z2, Z3, Z6, Z7, Z10, Z11, Z13\n",
"-2.5 Z0, Z1, Z2, Z3, Z9, Z11, Z13\n",
"-2.5 Z0, Z1, Z2, Z3, Z8, Z10, Z13\n",
"-7.5 Z0, Z1, Z2, Z3, Z8, Z9, Z10, Z11, Z13\n",
"-2.5 Z0, Z1, Z3, Z4, Z5, Z7, Z13\n",
"2.5 Z0, Z1, Z3, Z4, Z5, Z9, Z13\n",
"-2.5 Z0, Z1, Z3, Z4, Z5, Z11, Z13\n",
"-2.5 Z0, Z1, Z2, Z4, Z5, Z6, Z13\n",
"2.5 Z0, Z1, Z2, Z4, Z5, Z8, Z13\n",
"-2.5 Z0, Z1, Z2, Z4, Z5, Z10, Z13\n",
"2.5 Z0, Z1, Z4, Z5, Z7, Z9, Z13\n",
"-2.5 Z0, Z1, Z4, Z5, Z7, Z11, Z13\n",
"2.5 Z0, Z1, Z4, Z5, Z6, Z8, Z13\n",
"-2.5 Z0, Z1, Z4, Z5, Z6, Z10, Z13\n",
"7.5 Z0, Z1, Z4, Z5, Z6, Z7, Z8, Z9, Z13\n",
"-7.5 Z0, Z1, Z4, Z5, Z6, Z7, Z10, Z11, Z13\n",
"2.5 Z0, Z1, Z4, Z5, Z9, Z11, Z13\n",
"2.5 Z0, Z1, Z4, Z5, Z8, Z10, Z13\n",
"7.5 Z0, Z1, Z4, Z5, Z8, Z9, Z10, Z11, Z13\n",
"-2.5 Z0, Z1, Z3, Z5, Z6, Z7, Z13\n",
"-2.5 Z0, Z1, Z3, Z6, Z7, Z9, Z13\n",
"2.5 Z0, Z1, Z3, Z6, Z7, Z11, Z13\n",
"-2.5 Z0, Z1, Z2, Z4, Z6, Z7, Z13\n",
"-2.5 Z0, Z1, Z2, Z6, Z7, Z8, Z13\n",
"2.5 Z0, Z1, Z2, Z6, Z7, Z10, Z13\n",
"2.5 Z0, Z1, Z5, Z6, Z7, Z9, Z13\n",
"-2.5 Z0, Z1, Z5, Z6, Z7, Z11, Z13\n",
"2.5 Z0, Z1, Z4, Z6, Z7, Z8, Z13\n",
"-2.5 Z0, Z1, Z4, Z6, Z7, Z10, Z13\n",
"-2.5 Z0, Z1, Z6, Z7, Z9, Z11, Z13\n",
"-2.5 Z0, Z1, Z6, Z7, Z8, Z10, Z13\n",
"-7.5 Z0, Z1, Z6, Z7, Z8, Z9, Z10, Z11, Z13\n",
"2.5 Z0, Z1, Z3, Z5, Z8, Z9, Z13\n",
"-2.5 Z0, Z1, Z3, Z7, Z8, Z9, Z13\n",
"-2.5 Z0, Z1, Z3, Z8, Z9, Z11, Z13\n",
"2.5 Z0, Z1, Z2, Z4, Z8, Z9, Z13\n",
"-2.5 Z0, Z1, Z2, Z6, Z8, Z9, Z13\n",
"-2.5 Z0, Z1, Z2, Z8, Z9, Z10, Z13\n",
"2.5 Z0, Z1, Z5, Z7, Z8, Z9, Z13\n",
"2.5 Z0, Z1, Z5, Z8, Z9, Z11, Z13\n",
"2.5 Z0, Z1, Z4, Z6, Z8, Z9, Z13\n",
"2.5 Z0, Z1, Z4, Z8, Z9, Z10, Z13\n",
"-2.5 Z0, Z1, Z7, Z8, Z9, Z11, Z13\n",
"-2.5 Z0, Z1, Z6, Z8, Z9, Z10, Z13\n",
"-2.5 Z0, Z1, Z3, Z5, Z10, Z11, Z13\n",
"2.5 Z0, Z1, Z3, Z7, Z10, Z11, Z13\n",
"-2.5 Z0, Z1, Z3, Z9, Z10, Z11, Z13\n",
"-2.5 Z0, Z1, Z2, Z4, Z10, Z11, Z13\n",
"2.5 Z0, Z1, Z2, Z6, Z10, Z11, Z13\n",
"-2.5 Z0, Z1, Z2, Z8, Z10, Z11, Z13\n",
"-2.5 Z0, Z1, Z5, Z7, Z10, Z11, Z13\n",
"2.5 Z0, Z1, Z5, Z9, Z10, Z11, Z13\n",
"-2.5 Z0, Z1, Z4, Z6, Z10, Z11, Z13\n",
"2.5 Z0, Z1, Z4, Z8, Z10, Z11, Z13\n",
"-2.5 Z0, Z1, Z7, Z9, Z10, Z11, Z13\n",
"-2.5 Z0, Z1, Z6, Z8, Z10, Z11, Z13\n",
"5.0 Z2, Z3, Z5, Z6, Z13\n",
"5.0 Z2, Z3, Z5, Z8, Z13\n",
"2.5 Z2, Z3, Z5, Z10, Z13\n",
"5.0 Z2, Z5, Z6, Z7, Z13\n",
"5.0 Z2, Z5, Z8, Z9, Z13\n",
"2.5 Z2, Z5, Z10, Z11, Z13\n",
"5.0 Z3, Z4, Z5, Z6, Z13\n",
"5.0 Z3, Z4, Z5, Z8, Z13\n",
"2.5 Z3, Z4, Z5, Z10, Z13\n",
"5.0 Z3, Z4, Z6, Z7, Z13\n",
"5.0 Z3, Z4, Z8, Z9, Z13\n",
"2.5 Z3, Z4, Z10, Z11, Z13\n",
"-15.0 Z3, Z5, Z7, Z9, Z13\n",
"7.5 Z3, Z5, Z7, Z11, Z13\n",
"-5.0 Z3, Z5, Z6, Z8, Z13\n",
"2.5 Z3, Z5, Z6, Z10, Z13\n",
"-5.0 Z3, Z5, Z6, Z7, Z8, Z9, Z13\n",
"2.5 Z3, Z5, Z6, Z7, Z10, Z11, Z13\n",
"-7.5 Z3, Z5, Z9, Z11, Z13\n",
"-2.5 Z3, Z5, Z8, Z10, Z13\n",
"-2.5 Z3, Z5, Z8, Z9, Z10, Z11, Z13\n",
"5.0 Z2, Z3, Z4, Z7, Z13\n",
"5.0 Z2, Z3, Z7, Z8, Z13\n",
"-7.5 Z2, Z3, Z7, Z10, Z13\n",
"5.0 Z2, Z4, Z5, Z7, Z13\n",
"5.0 Z2, Z7, Z8, Z9, Z13\n",
"-7.5 Z2, Z7, Z10, Z11, Z13\n",
"-5.0 Z3, Z4, Z7, Z8, Z13\n",
"2.5 Z3, Z4, Z7, Z10, Z13\n",
"-5.0 Z3, Z4, Z5, Z7, Z8, Z9, Z13\n",
"2.5 Z3, Z4, Z5, Z7, Z10, Z11, Z13\n",
"5.0 Z3, Z6, Z7, Z8, Z13\n",
"-7.5 Z3, Z6, Z7, Z10, Z13\n",
"5.0 Z3, Z6, Z8, Z9, Z13\n",
"-7.5 Z3, Z6, Z10, Z11, Z13\n",
"7.5 Z3, Z7, Z9, Z11, Z13\n",
"2.5 Z3, Z7, Z8, Z10, Z13\n",
"2.5 Z3, Z7, Z8, Z9, Z10, Z11, Z13\n",
"5.0 Z2, Z3, Z4, Z9, Z13\n",
"5.0 Z2, Z3, Z6, Z9, Z13\n",
"2.5 Z2, Z3, Z9, Z10, Z13\n",
"5.0 Z2, Z4, Z5, Z9, Z13\n",
"5.0 Z2, Z6, Z7, Z9, Z13\n",
"2.5 Z2, Z9, Z10, Z11, Z13\n",
"-5.0 Z3, Z4, Z6, Z9, Z13\n",
"-2.5 Z3, Z4, Z9, Z10, Z13\n",
"-5.0 Z3, Z4, Z5, Z6, Z7, Z9, Z13\n",
"-2.5 Z3, Z4, Z5, Z9, Z10, Z11, Z13\n",
"2.5 Z3, Z6, Z9, Z10, Z13\n",
"2.5 Z3, Z6, Z7, Z9, Z10, Z11, Z13\n",
"2.5 Z3, Z8, Z9, Z10, Z13\n",
"2.5 Z3, Z8, Z10, Z11, Z13\n",
"2.5 Z2, Z3, Z4, Z11, Z13\n",
"-7.5 Z2, Z3, Z6, Z11, Z13\n",
"2.5 Z2, Z3, Z8, Z11, Z13\n",
"2.5 Z2, Z4, Z5, Z11, Z13\n",
"-7.5 Z2, Z6, Z7, Z11, Z13\n",
"2.5 Z2, Z8, Z9, Z11, Z13\n",
"2.5 Z3, Z4, Z6, Z11, Z13\n",
"-2.5 Z3, Z4, Z8, Z11, Z13\n",
"2.5 Z3, Z4, Z5, Z6, Z7, Z11, Z13\n",
"-2.5 Z3, Z4, Z5, Z8, Z9, Z11, Z13\n",
"2.5 Z3, Z6, Z8, Z11, Z13\n",
"2.5 Z3, Z6, Z7, Z8, Z9, Z11, Z13\n",
"-5.0 Z2, Z4, Z7, Z9, Z13\n",
"2.5 Z2, Z4, Z7, Z11, Z13\n",
"-15.0 Z2, Z4, Z6, Z8, Z13\n",
"7.5 Z2, Z4, Z6, Z10, Z13\n",
"-5.0 Z2, Z4, Z6, Z7, Z8, Z9, Z13\n",
"2.5 Z2, Z4, Z6, Z7, Z10, Z11, Z13\n",
"-2.5 Z2, Z4, Z9, Z11, Z13\n",
"-7.5 Z2, Z4, Z8, Z10, Z13\n",
"-2.5 Z2, Z4, Z8, Z9, Z10, Z11, Z13\n",
"-5.0 Z2, Z5, Z6, Z9, Z13\n",
"2.5 Z2, Z5, Z6, Z11, Z13\n",
"-5.0 Z2, Z4, Z5, Z6, Z8, Z9, Z13\n",
"2.5 Z2, Z4, Z5, Z6, Z10, Z11, Z13\n",
"2.5 Z2, Z6, Z9, Z11, Z13\n",
"7.5 Z2, Z6, Z8, Z10, Z13\n",
"2.5 Z2, Z6, Z8, Z9, Z10, Z11, Z13\n",
"-5.0 Z2, Z5, Z7, Z8, Z13\n",
"-2.5 Z2, Z5, Z8, Z11, Z13\n",
"-5.0 Z2, Z4, Z5, Z6, Z7, Z8, Z13\n",
"-2.5 Z2, Z4, Z5, Z8, Z10, Z11, Z13\n",
"2.5 Z2, Z7, Z8, Z11, Z13\n",
"2.5 Z2, Z6, Z7, Z8, Z10, Z11, Z13\n",
"2.5 Z2, Z5, Z7, Z10, Z13\n",
"-2.5 Z2, Z5, Z9, Z10, Z13\n",
"2.5 Z2, Z4, Z5, Z6, Z7, Z10, Z13\n",
"-2.5 Z2, Z4, Z5, Z8, Z9, Z10, Z13\n",
"2.5 Z2, Z7, Z9, Z10, Z13\n",
"2.5 Z2, Z6, Z7, Z8, Z9, Z10, Z13\n",
"-5.0 Z2, Z3, Z4, Z5, Z7, Z9, Z13\n",
"2.5 Z2, Z3, Z4, Z5, Z7, Z11, Z13\n",
"-5.0 Z2, Z3, Z4, Z5, Z6, Z8, Z13\n",
"2.5 Z2, Z3, Z4, Z5, Z6, Z10, Z13\n",
"-15.0 Z2, Z3, Z4, Z5, Z6, Z7, Z8, Z9, Z13\n",
"7.5 Z2, Z3, Z4, Z5, Z6, Z7, Z10, Z11, Z13\n",
"-2.5 Z2, Z3, Z4, Z5, Z9, Z11, Z13\n",
"-2.5 Z2, Z3, Z4, Z5, Z8, Z10, Z13\n",
"-7.5 Z2, Z3, Z4, Z5, Z8, Z9, Z10, Z11, Z13\n",
"-5.0 Z2, Z3, Z5, Z6, Z7, Z9, Z13\n",
"2.5 Z2, Z3, Z5, Z6, Z7, Z11, Z13\n",
"-5.0 Z2, Z3, Z4, Z6, Z7, Z8, Z13\n",
"2.5 Z2, Z3, Z4, Z6, Z7, Z10, Z13\n",
"2.5 Z2, Z3, Z6, Z7, Z9, Z11, Z13\n",
"2.5 Z2, Z3, Z6, Z7, Z8, Z10, Z13\n",
"7.5 Z2, Z3, Z6, Z7, Z8, Z9, Z10, Z11, Z13\n",
"-5.0 Z2, Z3, Z5, Z7, Z8, Z9, Z13\n",
"-2.5 Z2, Z3, Z5, Z8, Z9, Z11, Z13\n",
"-5.0 Z2, Z3, Z4, Z6, Z8, Z9, Z13\n",
"-2.5 Z2, Z3, Z4, Z8, Z9, Z10, Z13\n",
"2.5 Z2, Z3, Z7, Z8, Z9, Z11, Z13\n",
"2.5 Z2, Z3, Z6, Z8, Z9, Z10, Z13\n",
"2.5 Z2, Z3, Z5, Z7, Z10, Z11, Z13\n",
"-2.5 Z2, Z3, Z5, Z9, Z10, Z11, Z13\n",
"2.5 Z2, Z3, Z4, Z6, Z10, Z11, Z13\n",
"-2.5 Z2, Z3, Z4, Z8, Z10, Z11, Z13\n",
"2.5 Z2, Z3, Z7, Z9, Z10, Z11, Z13\n",
"2.5 Z2, Z3, Z6, Z8, Z10, Z11, Z13\n",
"7.5 Z4, Z5, Z7, Z8, Z13\n",
"5.0 Z4, Z5, Z7, Z10, Z13\n",
"7.5 Z4, Z7, Z8, Z9, Z13\n",
"5.0 Z4, Z7, Z10, Z11, Z13\n",
"7.5 Z5, Z6, Z7, Z8, Z13\n",
"5.0 Z5, Z6, Z7, Z10, Z13\n",
"7.5 Z5, Z6, Z8, Z9, Z13\n",
"5.0 Z5, Z6, Z10, Z11, Z13\n",
"-15.0 Z5, Z7, Z9, Z11, Z13\n",
"-5.0 Z5, Z7, Z8, Z10, Z13\n",
"-5.0 Z5, Z7, Z8, Z9, Z10, Z11, Z13\n",
"7.5 Z4, Z5, Z6, Z9, Z13\n",
"5.0 Z4, Z5, Z9, Z10, Z13\n",
"7.5 Z4, Z6, Z7, Z9, Z13\n",
"5.0 Z4, Z9, Z10, Z11, Z13\n",
"-5.0 Z5, Z6, Z9, Z10, Z13\n",
"-5.0 Z5, Z6, Z7, Z9, Z10, Z11, Z13\n",
"5.0 Z5, Z8, Z9, Z10, Z13\n",
"5.0 Z5, Z8, Z10, Z11, Z13\n",
"5.0 Z4, Z5, Z6, Z11, Z13\n",
"5.0 Z4, Z5, Z8, Z11, Z13\n",
"5.0 Z4, Z6, Z7, Z11, Z13\n",
"5.0 Z4, Z8, Z9, Z11, Z13\n",
"-5.0 Z5, Z6, Z8, Z11, Z13\n",
"-5.0 Z5, Z6, Z7, Z8, Z9, Z11, Z13\n",
"-5.0 Z4, Z6, Z9, Z11, Z13\n",
"-15.0 Z4, Z6, Z8, Z10, Z13\n",
"-5.0 Z4, Z6, Z8, Z9, Z10, Z11, Z13\n",
"-5.0 Z4, Z7, Z8, Z11, Z13\n",
"-5.0 Z4, Z6, Z7, Z8, Z10, Z11, Z13\n",
"-5.0 Z4, Z7, Z9, Z10, Z13\n",
"-5.0 Z4, Z6, Z7, Z8, Z9, Z10, Z13\n",
"-5.0 Z4, Z5, Z6, Z7, Z9, Z11, Z13\n",
"-5.0 Z4, Z5, Z6, Z7, Z8, Z10, Z13\n",
"-15.0 Z4, Z5, Z6, Z7, Z8, Z9, Z10, Z11, Z13\n",
"-5.0 Z4, Z5, Z7, Z8, Z9, Z11, Z13\n",
"-5.0 Z4, Z5, Z6, Z8, Z9, Z10, Z13\n",
"-5.0 Z4, Z5, Z7, Z9, Z10, Z11, Z13\n",
"-5.0 Z4, Z5, Z6, Z8, Z10, Z11, Z13\n",
"5.0 Z6, Z7, Z9, Z10, Z13\n",
"5.0 Z6, Z9, Z10, Z11, Z13\n",
"5.0 Z7, Z8, Z9, Z10, Z13\n",
"5.0 Z7, Z8, Z10, Z11, Z13\n",
"5.0 Z6, Z7, Z8, Z11, Z13\n",
"5.0 Z6, Z8, Z9, Z11, Z13\n"
]
}
],
"outputs": [],
"source": [
"# lambda0 and lambda1 are two parameters used in constraining the spatial structure of protein.\n",
"h = protein.get_protein_hamiltonian(lambda0=10.0, lambda1=10.0)\n",
"print(h)"
"h = protein.get_protein_hamiltonian(lambda0=10.0, lambda1=10.0)"
]
},
{
......@@ -1626,7 +175,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.15 (default, Nov 10 2022, 12:46:26) \n[Clang 14.0.6 ]"
"version": "3.7.15"
},
"orig_nbformat": 4,
"vscode": {
......
paddle\_quantum.biocomputing.biocomputing.algorithm
=======================================================
蛋白质折叠模型的VQE算法
.. py:function:: cvar_expectation(psi, h, alpha)
计算条件风险价值(CVaR)。
:param psi: 输入量子态。
:type psi: paddle_quantum.state.State
:param h: 哈密顿量。
:type h: paddle_quantum.Hamiltonian
:param alpha: 控制计算CVaR期望值中包括的basis数量的参数。
:return: 返回CVaR期望值。
:rtype: paddle.Tensor
.. py:class:: ProteinFoldingSolver(penalty_factors, alpha, optimizer, num_iterations, tol, save_every)
基类::py:class:`paddle_quantum.qchem.VQESolver`
求解蛋白质折叠模型的VQE求解器。
:param penalty_factors: 蛋白质哈密顿量中的正则化因子。
:type penalty_factors: List[float]
:param alpha: 控制计算CVaR期望值中包括的basis数量的参数。
:type alpha: float
:param optimizer: 量桨优化器。
:type optimizer: paddle.optimizer.Optimizer
:param num_iterations: VQE迭代次数。
:type num_iterations: int
:param tol: VQE算法收敛的判据。
:type tol: Optional[float]
:param save_every: 控制优化过程中每隔多少步记录优化结果。
:type save_every: Optional[int]
.. py:method:: solve(protein, ansatz, optimizer_kwargs)
求解函数。
:param protein: 输入的待优化蛋白质结构。
:type protein: paddle_quantum.biocomputing.Protein
:param ansatz: VQE中的参数化量子线路。
:type ansatz: paddle_quantum.ansatz.Circuit
:param optimizer_kwargs: 优化器配置参数。
:type optimizer_kwargs: Optional[Dict]
:return: 返回最终的损失函数值及其对应的计算基态。
:rtype: Tuple[float, str]
paddle\_quantum.biocomputing.data_loader
==============================================
数据加载模块。
.. py:function:: load_energy_matrix_file()
返回从Miyazawa-Jernigan potential文档中生成的能量矩阵。
:return: 能量矩阵,氨基酸序列。
:rtype: tuple[np.ndarray,List[str]]
.. py:function:: _parse_energy_matrix(matrix)
对加载的能量矩阵进行解析。
:param matrix: 能量矩阵
:type matrix: np.ndarray
:return: 解析后的能量矩阵。
:rtype: np.ndarray
\ No newline at end of file
paddle\_quantum.biocomputing.operator
==============================================
蛋白质哈密顿量中使用的算符集合。
.. py:function:: edge_direction_indicator(edge, affected_qubits, direction)
用于指示边的方向的算符。
:param edge: 蛋白质中氨基酸-氨基酸之间的边的编号。
:type edge: Tuple[int]
:param affected_qubits: 算符涉及到的量子比特序号。
:type affected_qubits: Optional[List[int]]
:param direction: 边的方向。
:type direction: Optional[int]
:return: 算符对应的符号,边方向指示算符。
:rtype: Tuple[float, Dict]
.. py:function:: contact_indicator(qindex)
蛋白质中指示两个氨基酸是否有相互作用的算符。
:param qindex: 算符影响的量子比特序号。
:type qindex: int
:return: 相互作用算符。
:rtype: openfermion.QubitOperator
.. py:function:: backwalk_indicator(e0_attrs, e1_attrs)
反映边重叠情况的算符。
:param e0_attrs: 给定边上的特征。
:type e0_attrs: Dict
:param e1_attrs: 相邻边上的特征。
:type e1_attrs: Dict
:return: 边重叠算符。
:rtype: openfermion.QubitOperator
\ No newline at end of file
paddle\_quantum.biocomputing.protein
==============================================
量桨中蛋白质结构构建工具。
.. py:function:: _check_valid_aa_seq(aa_seq)
判断一个给定的氨基酸序列标识是否合理。
:param aa_seq: 氨基酸序列。
:type aa_seq: str
:return: 返回一个氨基酸序列格式是否正确。
:rtype: bool
.. py:function:: _generate_valid_contact_pairs(num_aa)
根据输入的氨基酸数目给出可能发生相互作用的氨基酸对。
:param num_aa: 蛋白质中氨基酸数量。
:type num_aa: int
:return: 在给定情况下可能发生相互作用的氨基酸对的序号。
:rtype: List[Tuple[int]]
.. py:class:: Protein(aa_seqs, fixed_bond_directions, contact_pairs)
基类::py:class:`networkx.Graph`
量桨中用于构建蛋白质结构的类型。
:param aa_seqs: 蛋白质中氨基酸序列。
:type aa_seqs: str
:param fixed_bond_directions: 氨基酸之间确定方向的连接的序号。
:type fixed_bond_directions: Optional[Dict[Tuple,int]]
:param contact_pairs: 发生相互作用的氨基酸对的序号。
:type contact_pairs: Optional[List[Tuple[int]]]
.. py:property:: num_config_qubits()
蛋白质中用来表示结构的量子比特数。
.. py:property:: num_contact_qubits()
蛋白质中用来表示氨基酸之间相互作用的量子比特数。
.. py:property:: num_qubits()
蛋白质中的总量子比特数。
.. py:method:: distance_operator(p, q)
蛋白质中第p个和第q个氨基酸之间的距离算符。
:param p: 氨基酸序号。
:type p: int
:param q: 氨基酸序号。
:type q: int
:return: 氨基酸距离算符。
:rtype: openfermion.QubitOperator
.. py:method:: get_protein_hamiltonian(lambda0, lambda1, energy_multiplier)
蛋白质哈密顿量。
:param lambda0: 哈密顿量正则化因子。
:type lambda0: Optional[float]
:param lambda1: 哈密顿量正则化因子。
:type lambda1: Optional[float]
:param energy_multiplier: 能量尺度因子。
:type energy_multiplier: Optional[float]
:return: 蛋白质哈密顿量。
:rtype: paddle_quantum.Hamiltonian
\ No newline at end of file
paddle_quantum.biocomputing
=======================================
\ No newline at end of file
paddle\_quantum.biocomputing
=============================
生物计算模块。
.. rubric:: Submodules
.. toctree::
:maxdepth: 4
paddle_quantum.biocomputing.algorithm
paddle_quantum.biocomputing.data_loader
paddle_quantum.biocomputing.operators
paddle_quantum.biocomputing.protein
paddle_quantum.biocomputing.visualize
paddle\_quantum.biocomputing.visualize
==============================================
蛋白质可视化工具
.. py:function:: visualize_protein_structure(aa_seq, bond_directions, view_angles)
蛋白质结构可视化函数。
:param aa_seq: 氨基酸序列。
:type aa_seq: List[str]
:param bond_directions: 氨基酸之间成键的空间取向。
:type bond_directions: List[int]
:param view_angles: 输出图像的角度。
:type view_angles: Optional[List[float]]
\ No newline at end of file
......@@ -28,10 +28,7 @@ paddle\_quantum.data_analysis.vqr
:return: 返回计算的内积值(支持梯度分析)。
:rtype: paddle.Tensor
.. py:class:: QRegressionModel(data_file, model_name, x_feature,
y_feature, num_variable, init_params,
num_qubits, learning_rate,
iteration, language)
.. py:class:: QRegressionModel(data_file, model_name, x_feature, y_feature, num_variable, init_params, num_qubits, learning_rate, iteration, language)
基类::py:class: `object`
......@@ -90,8 +87,7 @@ paddle\_quantum.data_analysis.vqr
:param new_params: 输入的新参数值。
:type new_params: Union[paddle.Tensor, np.ndarray]
.. py:method:: fit(X, y, learning_rate, iteration,
saved_dir, print_score, model_name)
.. py:method:: fit(X, y, learning_rate, iteration, saved_dir, print_score, model_name)
输入训练集数据用来训练回归模型。
......
......@@ -15,7 +15,7 @@ paddle\_quantum.finance.pricing
:return: 一条用于量子振幅估计的量子电路
:rtype: Circuit
.. py:function:: qae_alg(oracle, : int)
.. py:function:: qae_alg(oracle, num_ancilla)
量子振幅估计算法。
......@@ -24,7 +24,9 @@ paddle\_quantum.finance.pricing
:param num_ancilla: 辅助比特使用数。
:type num_ancilla: int
:return: 包含如下元素的 tuple:
:return:
包含如下元素的 tuple:
- 用于量子振幅估计的量子电路。
- 振幅估计结果,即 :math:`|\sin(2\pi\theta)|`。
:rtype: Tuple[Circuit, paddle.Tensor]
......@@ -44,7 +46,8 @@ paddle\_quantum.finance.pricing
:param num_ancilla: 辅助比特使用数。默认为 ``6``。
:type num_ancilla: int
:return: 包含如下元素的 tuple:
:return:
包含如下元素的 tuple:
- 用于量子蒙特卡洛的量子电路。
- 期望值估计结果,即 :math:`\mathbb{E}[f(X)]`。
:rtype: Tuple[Circuit, paddle.Tensor]
......@@ -82,4 +85,3 @@ paddle\_quantum.finance.pricing
.. py:method:: plot()
画出在该方案中使用的量子电路。
\ No newline at end of file
......@@ -125,9 +125,9 @@ Fisher 信息的功能实现。
:type model_type: str
:param \*\*kwargs: 神经网络参数, 包含如下选项:
- size (list): 经典神经网络各层神经元的数量 \\
- num_qubits (int): 量子神经网络量子比特的数量 \\
- depth (int): 量子神经网络的深度 \\
- size (list): 经典神经网络各层神经元的数量
- num_qubits (int): 量子神经网络量子比特的数量
- depth (int): 量子神经网络的深度
- encoding (str): 量子神经网络中经典数据的编码方式,目前支持 ``IQP`` 和 ``re-uploading``
:type \*\*kwargs: Union[List[int], int, str]
......
......@@ -60,7 +60,9 @@ paddle\_quantum.hamiltonian
将 pauli_str 分解为系数、泡利字符串的简化形式以及它们分别作用的量子比特下标。
:return: 包含如下元素的 tuple:
:return:
包含如下元素的 tuple:
- coefficients: 元素为每一项的系数。
- pauli_words_r: 元素为每一项的泡利字符串的简化形式,例如 'Z0, Z1, X3' 这一项的泡利字符串为 'ZZX'。
- sites: 元素为每一项作用的量子比特下标,例如 'Z0, Z1, X3' 这一项的 site 为 [0, 1, 3]。
......@@ -70,7 +72,9 @@ paddle\_quantum.hamiltonian
将 pauli_str 分解为系数和泡利字符串。
:return: 包含如下元素的 tuple:
:return:
包含如下元素的 tuple:
- coefficients: 元素为每一项的系数。
- pauli_words: 元素为每一项的泡利字符串,例如 'Z0, Z1, X3' 这一项的泡利字符串为 'ZZIX'。
:rtype: Tuple[list]
......
paddle\_quantum.qchem.algorithm
=========================================
变分量子求解器
.. py:class:: VQESolver(optimizer, num_iterations, tol, save_every)
变分量子算法基类
:param optimizer: 优化器。
:type optimizer: paddle.optimizer.Optimizer
:param num_iterations: 优化迭代次数。
:type num_iterations: int
:param tol: 优化器收敛精度。
:type tol: float
:param save_every: 日志记录设置。
:type save_every: int
.. py:method:: solve
求解方法。
.. py:class:: GroundStateSolver(optimizer, num_iterations, tol, save_every)
基类::py:class:`VQESolver`
基态能量求解器。
:param optimizer: 优化器。
:type optimizer: paddle.optimize.Optimizer
:param num_iterations: 优化迭代次数。
:type num_iterations: int
:param tol: 优化器收敛精度。
:type tol: float
:param save_every: 日志记录设置。
:type save_every: int
.. py:method:: solve(mol, ansatz, init_state, **optimizer_kwargs)
运行VQE方法计算分子基态能量。
:param mol: 给定需要计算的分子类型。
:type mol: paddle_quantum.qchem.Molecule
:param ansatz: 变分量子线路。
:type ansatz: paddle_quantum.ansatz.Circuit
:param init_state: 给定的初态。
:type init_state: Optional[paddle_quantum.state.State]
:param optimizer_kwargs: 优化器配置参数。
:type optimizer_kwargs: Optional[Dict]
:return: 最终的损失函数值和优化后的量子态。
:rtype: Tuple[float, paddle.Tensor]
\ No newline at end of file
paddle\_quantum.qchem.ansatz
=================================
量子化学常用变分量子线路模版
.. py:class:: HardwareEfficient(num_qubits, depth, use_cz, angles, rot_type)
基类::py:class:`paddle_quantum.ansatz.Circuit`
Hardware Efficient量子线路模版。
:param num_qubits: 量子比特数。
:type num_qubits: int
:param depth: 量子线路深度(以重复单元数量计数)。
:type depth: int
:param use_cz: 是否使用CZ门作为两比特门。
:type use_cz: bool
:param angles: 线路中的可变分的角度。
:type angles: Optional[np.ndarray]
:param rot_type: 线路中旋转门类型。
:type rot_type: Optional[str]
.. py:property:: rot_type
旋转门类型。
.. py:property:: entangle_type
纠缠门类型。
.. py:class:: UCC(num_qubits, ucc_order, single_ex_amps, double_ex_amps, **trotter_kwargs)
基类::py:class:`paddle_quantum.ansatz.Circuit`
Unitary Coupled Cluster线路模版。
:param num_qubits: 量子比特数量。
:type num_qubits: int
:param ucc_order: 耦合簇阶数。
:type ucc_order: Optional[str]
:param single_ex_amps: 单粒子激发矩阵。
:type single_ex_amps: Optional[np.ndarray]
:param double_ex_amps: 双粒子激发张量。
:type double_ex_amps: Optional[np.ndarray]
:param \*\*trotter_kwargs: trotter分解方法配置参数。
:type \*\*trotter_kwargs: Dict
.. py:property:: onebody_tensor
单体算符张量。
.. py:property:: twobody_tensor
双体算符张量。
.. py:class:: HartreeFock(num_qubits, angles)
基类::py:class:`paddle_quantum.ansatz.Circuit`
哈特利-福克量子线路。
:param num_qubits: 量子比特数量。
:type num_qubits: int
:param angles: 吉文斯旋转角度。
:type angles: Optional[np.ndarray]
paddle\_quantum.qchem.density\_matrix
============================================
对量子态测量单体密度矩阵。
.. py:class:: OneBodyDensityMatrix()
基类: :py:class:`paddle.autograd.PyLayer`
用于测量给定量子态的单体密度矩阵。
.. py:function:: get_spinorb_onebody_dm(n_qubits, state)
获取给定量子态的单体密度矩阵,并以自旋轨道数标注量子比特。
:param n_qubits: 量子态所包含的量子比特数。
:type n_qubits: int
:param state: 给定量子态。
:type state: paddle.Tensor
:return: 自旋轨道数标注的单体密度矩阵。
:rtype: Tuple[paddle.Tensor]
\ No newline at end of file
paddle\_quantum.qchem.drivers
==================================
经典量子化学求解器。
.. py:class:: Driver
求解器基类。
.. py:method:: run_scf()
SCF计算方法
.. py:property:: num_modes()
希尔伯特空间模式数量。
.. py:property:: energy_nuc()
原子核之间相互作用能量。
.. py:property:: mo_coeff()
原子轨道与分子轨道之间的转换矩阵。
.. py:method:: load_molecule()
加载分子。
.. py:method:: get_onebody_tensor()
哈密顿量中的单体算符张量。
.. py:method:: get_twobody_tensor()
哈密顿量中的双体算符张量。
.. py:class:: PySCFDriver
基类::py:class:`Driver`
基于PySCF的经典求解器。
.. py:method:: load_molecule(atom, basis, multiplicity, charge, unit)
根据提供的信息构建量子化学分子类型。
:param atom: 分子中原子标记及坐标。
:type atom: List[Tuple[str,List[float]]]
:param basis: 量子化学基组。
:type basis: str
:param multiplicity: 分子的自旋多重度。
:type multiplicity: int
:param charge: 分子中的总电荷量。
:type charge: int
:param unit: 构建分子使用的长度单位。
:type unit: str
.. py:method:: run_scf()
SCF计算方法
.. py:property:: energy_nuc()
原子核之间相互作用能量。
.. py:property:: mo_coeff()
原子轨道与分子轨道之间的转换矩阵。
.. py:method:: get_onebody_tensor(integral_type)
:param integral_type: 单体积分类型。
:type integral_type: str
:return: 哈密顿量中的单体算符张量。
:rtype: np.ndarray
.. py:method:: get_twobody_tensor()
:return: 哈密顿量中的双体算符张量。
:rtype: np.ndarray
\ No newline at end of file
paddle\_quantum.qchem.fermionic\_state
=========================================
费米子波函数。
.. py:class:: WaveFunction(data, convention, backend, dtype, override)
基类::py:class:`paddle_quantum.state.State`
费米子波函数。
:param data: 费米子波函数在计算基下的展开系数。
:type data: Union[paddle.Tensor, np.ndarray]
:param convention: 计算基中自旋轨道排列方式,自旋轨道分开排列(`separated`) 或混合排列(`mixed`)。
:type convention: Optional[str]
:param backend: 后端使用的计算方式。
:type backend: Optional[paddle_quantum.backend.Backend]
:param dtype: 存储费米子波函数所用的数据类型,32位或64位。
:type dtype: str
:param override: 是否在copy时覆盖原有数据。
:type override: bool
.. py:method:: clone()
:return: 原费米子量子态的复制。
:rtype: WaveFunction
.. py:method:: swap(p, q)
交换两个费米子。
:param p: 被交换的费米子序号。
:type p: int
:param q: 被交换的费米子序号。
:type q: int
:return: 交换之后的费米子波函数。
:rtype: WaveFunction
.. py:method:: to_spin_mixed()
将自旋轨道的排列顺序变为“上下上下......”混合的形式。
:return: 原费米子波函数在新排列下的表示。
:rtype: WaveFunction
.. py:method:: to_spin_separated()
将自旋轨道的排列顺序变为“上上...下下下...”的分离形式。
:return: 原费米子波函数在新排列下的表示。
:rtype: WaveFunction
.. py:method:: slater_determinant_state(num_qubits, num_elec, mz, backend, dtype)
根据给定的量子比特数、电子数和磁量子数生成Slater行列式态。
:param num_qubits: 量子比特数量。
:type num_qubits: int
:param num_elec: 电子数。
:type num_elec: int
:param mz: 磁量子数。
:type mz: int
:param backend: 后端使用的计算方式。
:type backend: Optional[paddle_quantum.backend.Backend]
:param dtype: 数据类型,32位或64位。
:type dtype: str
:return: 存储Slater行列式的费米子波函数。
:rtype: WaveFunction
.. py:method:: zero_state(num_qubits, backend, dtype)
根据给定的量子比特数生成零态。
:param num_qubits: 量子比特数。
:type num_qubits: int
:param backend: 后端使用的计算方式。
:type backend: Optional[paddle_quantum.backend.Backend]
:param dtype: 存储数据类型,32位或64位。
:type dtype: Optional[str]
:return: 存储零态的费米子波函数。
:rtype: WaveFunction
.. py:method:: num_elec(shots)
多电子费米子波函数中包含的电子数。
:param shots: 测量次数。
:type shots: Optional[int]
:return: 电子数。
:rtype: int
.. py:method:: total_SpinZ(shots)
总自旋的z分量。
:param shots: 测量次数。
:type shots: Optional[int]
:return: 总自旋的z分量。
:rtype: float
.. py:method:: total_Spin2(shots)
总自旋的平方。
:param shots: 测量次数。
:type shots: Optional[int]
:return: 总自旋的平方
:rtype: float
\ No newline at end of file
paddle\_quantum.qchem.hardware\_efficient
================================================
Hardware Efficient 电路模板。
.. py:class:: HardwareEfficientModel(n_qubits, depth, theta=None)
基类: :py:class:`paddle_quantum.gate.base.Gate`
:param n_qubits: 量子态所包含的量子比特数。
:type n_qubits: int
:param depth: 量子电话深度,单层 Hardware Efficient 量子电路包含 [Ry, Rz, CNOT] 门。
:type depth: int
:param theta: 线路中 Ry, Rz 量子门的参数,默认值为 ``None``。
:type theta: paddle.Tensor, optional
paddle\_quantum.qchem.loss
=================================
量子化学中的损失函数。
.. py:class:: MolEnergyLoss(geometry, basis, multiplicity=1, charge=0)
基类::py:class:`paddle_quantum.loss.ExpecVal`
分子基态计算的损失函数。
:param geometry: 表示分子位置几何信息,例如 ``H 0.0 0.0 0.0; H 0.0 0.0 0.74``。
:type geometry: str
:param basis: 化学基选取,例如 ``sto-3g``。
:type basis: str
:param multiplicity: 自旋多重度, 默认值为 ``1``。
:type multiplicity: int, optional
:param charge: 分子电荷量, 默认值为 ``0``。
:type charge: int, optional
.. py:class:: RHFEnergyLoss(geometry, basis, multiplicity=1, charge=0)
基类: :py:class:`paddle_quantum.Operator`
Restricted Hartree Fock 计算的损失函数。
:param geometry: 表示分子位置几何信息,例如 ``H 0.0 0.0 0.0; H 0.0 0.0 0.74``。
:type geometry: str
:param basis: 化学基选取,例如 ``sto-3g``。
:type basis: str
:param multiplicity: 自旋多重度, 默认值为 ``1``。
:type multiplicity: int, optional
:param charge: 分子电荷量, 默认值为 ``0``。
:type charge: int, optional
:raises ModuleNotFoundError: Hartree Fock 方法需要安装 ``pyscf`` 包。安装请运行 ``pip install -U pyscf``。
\ No newline at end of file
paddle\_quantum.qchem.molecule
=========================================
量子化学中的分子类型。
.. py:class:: Molecule(geometry, basis, multiplicity, charge, mol_expr, use_angstrom, driver)
量子化学分子类型。
:param geometry: 分子中原子符号与原子位置坐标。
:type geometry: Optional[List[Tuple[str,list]]]
:param basis: 量子化学基组。
:type basis: Optional[str]
:param multiplicity: 分子的自旋多重度。
:type multiplicity: Optional[int]
:param charge: 分子中的总电荷数。
:type charge: Optional[int]
:param mol_expr: 分子表达式。
:type mol_expr: Optional[str]
:param use_angstrom: 是否用埃作为分子中的长度单位。
:type use_angstrom: bool
:param driver: 经典量子化学计算工具(计算分子积分)。
:type driver: paddle_quantum.qchem.Driver
.. py:method:: build()
利用经典量子化学工具完成相关计算。
.. py:property:: atom_charges()
分子中每个原子的核电荷数,例如,氢分子为 [1, 1]
.. py:property:: atom_coords()
分子中每个原子的位置坐标,返回一个 ``numpy ndarray`` 。
.. py:property:: unit()
分子中原子间距离的长度单位。
.. py:method:: get_mo_integral(integral_type)
计算分子积分。
:param integral_type: 分子积分的类型,如动能积分 "int1e_kin"。
:type integral_type: str
:return: 分子积分。
:rtype: numpy.ndarray
.. py:method:: get_molecular_hamiltonian()
分子的哈密顿量。
:return: 分子哈密顿量。
:rtype: paddle_quantum.Hamiltonian
\ No newline at end of file
paddle\_quantum.qchem.properties
=========================================
计算分子性质。
.. py:function:: energy(psi, mol, shots, use_shadow, **shadow_kwargs)
计算哈密顿量在给定量子态下的能量。
:param psi: 量子态。
:type psi: paddle_quantum.state.State
:param mol: 分子类型。
:type mol: paddle_quantum.qchem.Molecule
:param shots: 测量次数。
:type shots: Optional[int]
:param use_shadow: 是否使用经典影子方法。
:type use_shadow: Optional[bool]
:param \*\*shadow_kwargs: 经典影子方法的配置。
:type \*\*shadow_kwargs: Dict
:return: 哈密顿量的能量。
:rtype: float
.. py:function:: symmetric_rdm1e(psi, shots, use_shadow, **shadow_kwargs)
对称化的单电子约化密度矩阵。
:param psi: 量子态。
:type psi: paddle_quantum.state.State
:param shots: 测量次数。
:type shots: int
:param use_shadow: 是否使用经典影子方法。
:type use_shadow: bool
:param \*\*shadow_kwargs: 经典影子方法的配置。
:type \*\*shadow_kwargs: Dict
:return: 单电子密度矩阵。
:rtype: np.ndarray
.. py:function:: dipole_moment(psi, mol, shots, use_shadow, **shadow_kwargs)
利用给定的量子态计算分子偶极矩。
:param psi: 量子态。
:type psi: paddle_quantum.state.State
:param mol: 分子类型。
:type mol: paddle_quantum.qchem.Molecule
:param shots: 测量次数。
:type shots: int
:param use_shadow: 是否使用经典影子方法。
:type use_shadow: bool
:param \*\*shadow_kwargs: 经典影子方法的配置。
:type \*\*shadow_kwargs: Dict
:return: 分子偶极矩。
:rtype: np.ndarray
paddle\_quantum.qchem.qchem
==================================
量子化学中的功能函数。
.. py:function:: qubitOperator_to_Hamiltonian(spin_h,tol)
将openfermion形式转化为量桨的哈密顿量形式。
:param spin_h: openfermion形式的哈密顿量。
:type spin_h: openfermion.ops.operators.qubit_operator.QubitOperator
:param tol: 阈值
:type tol: float, optional
:return: 返回转换成量桨形式的哈密顿量
:rtype: Hamiltonian
.. py:function:: geometry(structure, file)
读取分子几何信息。
:param structure: 分子几何信息的字符串形式, 以 H2 分子为例 ``[['H', [-1.68666, 1.79811, 0.0]], ['H', [-1.12017, 1.37343, 0.0]]]``。
:type structure: string, optional
:param file: xyz 文件的路径。
:type file: str, optional
:raises AssertionError: 两个输入参数不可以同时为 ``None``。
:return: 分子的几何信息。
:rtype: str
.. py:function:: get_molecular_data(geometry, charge, multiplicity, basis, method, if_save, if_print, name, file_path)
计算分子的必要信息,包括单体积分(one-body integrations)和双体积分(two-body integrations,以及用选定的方法计算基态的能量。
:param geometry: 分子的几何信息。
:type geometry: str
:param charge: 分子电荷, 默认值为 ``0``。
:type charge: int, optional
:param multiplicity: 分子的多重度, 默认值为 ``1``。
:type multiplicity: int, optional
:param basis: 常用的基组是 ``sto-3g、6-31g`` 等, 默认的基组是 ``sto-3g``,更多的基组选择可以参考网站
https://psicode.org/psi4manual/master/basissets_byelement.html#apdx-basiselement。
:type basis: str, optional
:param method: 用于计算基态能量的方法, 包括 ``scf`` 和 ``fci``,默认的方法为 ``scf``。
:type method: str, optional
:param if_save: 是否需要将分子信息存储成 .hdf5 文件,默认为 ``True``。
:type if_save: bool, optional
:param if_print: 是否需要打印出选定方法 (method) 计算出的分子基态能量,默认为 ``True``。
:type if_print: bool, optional
:param name: 命名储存的文件, 默认为 ``""``。
:type name: str, optional
:param file_path: 文件的储存路径, 默认为 ``"."``。
:type file_path: str, optional
:return: 包含分子所有信息的类。
:rtype: MolecularData
.. py:function:: active_space(electrons, orbitals, multiplicity, active_electrons, active_orbitals)
对于给定的活跃电子和活跃轨道计算相应的活跃空间(active space)。
:param electrons: 电子数。
:type electrons: int
:param orbitals: 轨道数。
:type orbitals: int
:param multiplicity: 自旋多重度, 默认值为 ``1``。
:type multiplicity: int, optional
:param active_electrons: 活跃 (active) 电子数,默认情况为所有电子均为活跃电子。
:type active_electrons: int, optional
:param active_orbitals: 活跃 (active) 轨道数,默认情况为所有轨道均为活跃轨道。
:type active_orbitals: int, optional
:return: 核心轨道和活跃轨道的索引。
:rtype: tuple
.. py:function:: fermionic_hamiltonian(molecule, filename, multiplicity, active_electrons, active_orbitals)
计算给定分子的费米哈密顿量。
:param molecule: 包含分子所有信息的类。
:type molecule: MolecularData
:param filename: 分子的 .hdf5 文件的路径。
:type filename: str, optional
:param multiplicity: 自旋多重度, 默认值为 ``1``。
:type multiplicity: int, optional
:param active_electrons: 活跃 (active) 电子数,默认情况为所有电子均为活跃电子。
:type active_electrons: int, optional
:param active_orbitals: 活跃 (active) 轨道数,默认情况为所有轨道均为活跃轨道。
:type active_orbitals: int, optional
:return: openfermion 格式的哈密顿量。
:rtype: openfermion.ops.operators.qubit_operator.QubitOperator
.. py:function:: spin_hamiltonian(molecule, filename, multiplicity, mapping_method, active_electrons, active_orbitals)
生成 Paddle Quantum 格式的哈密顿量。
:param molecule: openfermion 格式的哈密顿量。
:type molecule: openfermion.ops.operators.qubit_operator.QubitOperator
:param filename: 分子的 .hdf5 文件的路径。
:type filename: str, optional
:param multiplicity: 自旋多重度, 默认值为 ``1``。
:type multiplicity: int, optional
:param mapping_method: 映射方法,这里默认为 ``jordan_wigner``,此外还提供 ``bravyi_kitaev`` 方法。
:type mapping_method: str, optional
:param active_electrons: 活跃 (active) 电子数,默认情况为所有电子均为活跃电子。
:type active_electrons: int, optional
:param active_orbitals: 活跃 (active) 轨道数默认情况为所有轨道均为活跃轨道。
:type active_orbitals: int, optional
:return: Paddle Quantum 格式的哈密顿量。
:rtype: Hamiltonian
\ No newline at end of file
paddle\_quantum.qchem.slater\_determinant
================================================
受限 Hartree Fock 下的 Slater 行列式电路模板。
.. py:class:: GivensRotationBlock(pindex, qindex, theta)
基类::py:class:`paddle_quantum.gate.Gate`
双量子门,用于实现给定旋转。
.. math::
\begin{align}
U(\theta)=e^{-i\frac{\theta}{2}(Y\otimes X-X\otimes Y)}
\end{align}
:param pindex: 第一个qubit的编号。
:type pindex: int
:param qindex: 第二个qubit的编号。
:type qindex: int
:param theta: 给定旋转角度。
:type theta: float
.. py:class:: RHFSlaterDeterminantModel(n_qubits, n_electrons, mo_coeff=None)
基类::py:class:`paddle_quantum.gate.Gate`
在 Restricted Hartree Fock 计算中使用的 Slater 方阵拟设。
:param n_qubits: 量子态所包含的量子比特数。
:type n_qubits: int
:param n_electrons: 分子中所包含的电子数。
:type n_electrons: int
:param mo_coeff: 初始化Slater 方阵态的参数, 默认值为 ``None``。
:type mo_coeff: Union[np.array, None], optional
\ No newline at end of file
paddle\_quantum.qchem.uccsd
==================================
UCCSD 电路模板。
.. py:class:: UCCSDModel(n_qubits, n_electrons, n_trotter_steps, single_excitation_amplitude=None, double_excitation_amplitude=None)
基类::py:class:`paddle_quantum.gate.Gate`
量子化学计算中的酉耦合簇拟设 (UCCSD)。
.. note::
UCCSD 模型一般需要建立非常深的量子电路。因此,对于 H2 元素序列之后的分子结构,训练 UCCSD 拟设需要更好的设备及大量的运算时间。
.. math::
\begin{align}
U(\theta)&=e^{\hat{T}-\hat{T}^{\dagger}}\\
\hat{T}&=\hat{T}_1+\hat{T}_2\\
\hat{T}_1&=\sum_{a\in{\text{virt}}}\sum_{i\in\text{occ}}t_{ai}\sum_{\sigma}\hat{c}^{\dagger}_{a\sigma}\hat{c}_{i\sigma}-h.c.\\
\hat{T}_2&=\frac{1}{2}\sum_{a,b\in\text{virt}}\sum_{i,j\in\text{occ}}t_{aibj}\sum_{\sigma\tau}\hat{c}^{\dagger}_{a\sigma}\hat{c}^{\dagger}_{b\tau}\hat{c}_{j\tau}\hat{c}_{i\sigma}-h.c.
\end{align}
:param n_qubits: 量子态所包含的量子比特数。
:type n_qubits: int
:param n_electrons: 分子中所包含的电子数。
:type n_electrons: int
:param n_trotter_steps: 建立UCCSD电路所需的特罗特分解步数。
:type n_trotter_steps: int
:param single_excitation_amplitude: :math:`\hat{T}_1` 定义中的 :math:`t_{ai}`, 默认值为 ``None``。
:type single_excitation_amplitude: Union[np.array, None], optional
:param double_excitation_amplitude: :math:`\hat{T}_2` 定义中的 :math:`t_{aibj}`, 默认值为 ``None``。
:type double_excitation_amplitude: Union[np.array, None], optional
paddle\_quantum.qchem.utils
=========================================
utility 函数。
.. py:function:: orb2spinorb(num_modes, single_ex_amps, double_ex_amps)
将分子轨道积分转变为自旋轨道积分。
:param num_modes: 希尔伯特空间的维度。
:type num_modes: int
:param single_ex_amps: 单粒子激发矩阵元。
:type single_ex_amps: np.ndarray
:param double_ex_amps: 双粒子激发张量。
:type double_ex_amps: np.ndarray
:return: 自旋轨道基下的分子单体双体积分。
:rtype: Tuple[np.ndarray]
......@@ -258,7 +258,6 @@ paddle\_quantum.qinfo
- 由施密特系数组成的一维数组,形状为 ``(k)``。
- 由子系统A的基 :math:`\lvert i_A\rangle` 组成的高维数组,形状为 ``(k, 2**m, 1)``。
- 由子系统B的基 :math:`\lvert i_B\rangle` 组成的高维数组,形状为 ``(k, 2**l, 1)``。
:rtype: Union[Tuple[paddle.Tensor, paddle.Tensor, paddle.Tensor], Tuple[np.ndarray, np.ndarray, np.ndarray]]
.. py:function:: image_to_density_matrix(image_filepath)
......
......@@ -48,7 +48,9 @@ QPP 线路变换和其他相关工具。更多细节参考论文 https://arxiv.o
:param initial_state: 输入量子态。
:type initial_state: Union[np.ndarray, paddle.Tensor, State]
:return: 包含如下元素的 tuple:
:return:
包含如下元素的 tuple:
- 一个 ``U`` 的本征相位;
- 其相位对应的,存在和 ``initial_state`` 内积不为零的本征态。
:rtype: Tuple[float, State]
......
......@@ -77,15 +77,6 @@ def cvar_expectation(psi: State, h: Hamiltonian, alpha: float) -> paddle.Tensor:
class ProteinFoldingSolver(VQESolver):
def __init__(
self,
penalty_factors: List[float],
alpha: float,
optimizer: Optimizer,
num_iterations: int,
tol: float = 1e-8,
save_every: int = 1,
) -> None:
r"""
Args:
penalty_factors: penalty factor ``[lambda0, lambda1]`` used in building the protein's Hamiltonian.
......@@ -95,17 +86,21 @@ class ProteinFoldingSolver(VQESolver):
tol: convergence criteria.
save_every : number of steps between two recorded VQE loss.
"""
def __init__(
self,
penalty_factors: List[float],
alpha: float,
optimizer: Optimizer,
num_iterations: int,
tol: float = 1e-8,
save_every: int = 1,
) -> None:
super().__init__(optimizer, num_iterations, tol, save_every)
self.lambda0 = penalty_factors[0]
self.lambda1 = penalty_factors[1]
self.alpha = alpha
def solve(
self,
protein: Protein,
ansatz: Circuit,
**optimizer_kwargs
) -> Tuple[float, str]:
def solve(self, protein: Protein, ansatz: Circuit, **optimizer_kwargs) -> Tuple[float, str]:
r"""Run VQE to calculate the structure of the protein that satisfies various constraints.
Args:
......
......@@ -47,7 +47,7 @@ rcParams = {
'optimizer': 'Adam', # optimizer in PaddlePaddle
'scheduler': 'StepDecay', # scheduler in PaddlePaddle: can be set to None.
'learning_rate': 0.2, # (initial) learning rate of the optimizer
'scheduler_args': 100, # arguments of the scheduler other than learning rate
'scheduler_args': {100}, # arguments (in list or tuple) of the scheduler other than learning rate
# settings for the training
'num_itr': 200, # number of iterations during the training
......@@ -160,7 +160,7 @@ class Model(object):
return []
if rcParams['print_style'] == 'exponential':
# print list is generated by poisson distribution
# print list is generated by exponential distribution
lamb = 4 * math.log(2) / num_itr
poisson = lambda x: lamb * math.exp(-lamb * x)
list_itr = list(range(1, num_itr))
......@@ -176,6 +176,11 @@ class Model(object):
return print_list
def __scheduler_step(self, scheduler_name: str) -> List:
r""" Generate the argument for the scheduler.step()
"""
return (lambda x: [x]) if scheduler_name == 'ReduceOnPlateau' else (lambda x: [])
def prepare(self, loss_fcn: Callable[[Union[State, Circuit, Sequential], Any], Any],
metric_fcn: Callable[[Union[Circuit, Sequential]], float] = None,
metric_name: str = None) -> None:
......@@ -210,7 +215,8 @@ class Model(object):
# setup the scheduler and optimizer
self.__sch = NullScheduler(learning_rate=rcParams['learning_rate']) if rcParams['scheduler'] is None else \
getattr(paddle.optimizer.lr, rcParams['scheduler'])(rcParams['learning_rate'], rcParams['scheduler_args'])
getattr(paddle.optimizer.lr, rcParams['scheduler'])(rcParams['learning_rate'], *rcParams['scheduler_args'])
self.__step = self.__scheduler_step(rcParams['scheduler'])
self.__opt = getattr(paddle.optimizer, rcParams["optimizer"])(learning_rate=self.__sch, parameters=self.parameters())
# take the setting of rcParams
......@@ -304,7 +310,7 @@ class Model(object):
self.__opt.minimize(loss)
self.__opt.clear_grad()
self.__sch.step()
self.__sch.step(*self.__step(loss))
# update loss
loss = loss.item()
......
......@@ -53,7 +53,10 @@ class ImageDataset(Dataset):
Raises:
ValueError: If the task is not training, validation, or test, raises the error.
"""
def __init__(self, file_path: str, num_samples: int, task: str, pca: PCA=None, scaler: StandardScaler=None, centering: MinMaxScaler=None):
def __init__(
self, file_path: str, num_samples: int, task: str, pca: PCA = None,
scaler: StandardScaler = None, centering: MinMaxScaler = None
):
super().__init__()
# load data
data, labels = [], []
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册