Skip to content

Instantly share code, notes, and snippets.

@vladimir-vg
Last active December 17, 2021 14:48
Show Gist options
  • Save vladimir-vg/e30435f45c5e2f268ec40d4eb5978eda to your computer and use it in GitHub Desktop.
Save vladimir-vg/e30435f45c5e2f268ec40d4eb5978eda to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"name": "М. Артин, Алгебра, Глава1: 2.9 (a)",
"provenance": [],
"collapsed_sections": []
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
},
"language_info": {
"name": "python"
}
},
"cells": [
{
"cell_type": "markdown",
"source": [
"Для телеграм блога: https://t.me/VladimirsLoveForMath\n",
"\n",
"Задача звучит так:\n",
"\n",
"![Screenshot from 2021-12-16 16-07-23.png](data:image/png;base64,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0vDNN9/gjTfe4OvvRERERER0WWJD/TLgdrvR2NiIBx54AJMmTYp0OHjjjTdQW1vrNb2trc009FpjY6Pj7+5LSkpUb/QyrcWLF8PtdmPUqFEAgBEjRoQ7dCIiIiIioohjQ506xapVq0z/r127Fj/4wQ9Uj/Kywzm7TumWLl2K8vJyNb67Na2amprOCJmIiIiIiCgqsKEeIZ999hlOnz5tO+/ZZ5+1nb5gwQL1t12na0VFRervRx55BH/6058AAL179zYtL4dsW79+PXJyckzz6urqVFwFBQWO8b/99tsAoBrTAExDqq1cuRIJCQkq/VmzZuE///M/1fyxY8eqvw3DUMvl5OSgsLAQ//7v/25KS9/3rVu3qlj1NAzDCOg370RERERERNGMDfUIGTNmDM6fPw+gvSGanp4OoH3oserqarVcZmYmAMDj8Zh6Ya+oqFDDoQ0YMAAxMTH461//CsMwMGDAAPTu3Rv5+fkAgB49emD16tVq3djYWCQnJ2Pfvn2oqKiAy+VS86655hpTXK+++qpX7Onp6fjyyy8BtL++/q//+q9qnhAC+fn5GD9+PJqamlBRUYELFy6grKwMd955p1pu8ODBaGlpUTFWVFSgoqICPXr0wObNmzFu3Di1bH5+PkpKSlBUVISSkhL88z//MwoLC1Xce/bswdy5cwF4f/tORERERER0qTGEECLSQRARERERERFRO36jTkRERERERBRF2FAnIiIiIiIiiiJsqBMRERERERFFETbUiYiIiIiIiKIIG+pEREREREREUYQNdSIiIiIiIqIowoY6ERERERERURRhQ52IiIiIiIgoirChTkRERERERBRF2FAnIiIiIiIiiiJsqBMRERERERFFETbUiYiIiIiIiKIIG+pEREREREREUYQNdSIiIiIiIqIowoY6ERERERERURRhQ52IiIiIiIgoirChTkRERERERBRF2FAnIiIiIiIiiiJsqBMRERERERFFETbUiYiIiIiIiKIIG+pEREREREREUYQNdSIiIiIiIqIowoY6ERERERERURRhQ52IiIiIiIgoirChTkRERERERBRF2FAnCoNdu3ZFOgSTlpYWlJeXRzoMIiIioohgPajz8Nh2DTbUo0BRURG6d++OxsbGkNYfM2YMPB5PmKNql5qaCo/HA8MwvD533XUXPB6P+lyJ5LG48cYbIx2Ksnbt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cWNI2/F4PKoX3gULFqC4uBgAUFpailmzZuGRRx7B+++/r5bdvXs3YmNj1fry9zOHDx9GeXm5Ke1QY/LF+tuy+Ph42+WssRQVFeHNN98MezyRJPddCIGLFy8C+O74NDc3d/h8VFRUoGfPnvi///s/jBgxwutYZ2VlISEhAY2NjSgoKFAdHubl5Tl2jJiRkYHU1FTs2bMHANCjR2DFY319vfr9v9N+paam2q5rHTEgISEBAFRel3r16hVQLFJLSwt69+5t2/nS0qVLUVhYCAA4d+5cUOnq5GgVTvv8ox/9SE07deqU7bLhJoQw/f/ggw/i448/DiktvfyRWlpaAAD/+Z//abtOfn4+Vq5cicbGRtv5cXFxttPtfoNcWFiIVatW4cSJEz7XdbJs2TLVv4kdvUwNRE5OTlhGKAHaj+327dvVvgVq8ODBIW9z5syZpr4mhBAoKyvDz3/+czzxxBNYvHhxUOl5PB7T/zLtwsJCUz80BQUFpt9Ebt26VY344sQwDNx2223Yvn07unfvHlRcsgyxxpWfn2+aHhMTY7u+vFadxnLOzs5GRUWFWk734osv2q5TVVUFADh9+rRjefG9733Pdt1QWMtVt9tt26O/tbzIyckJqFNNvZ4BdF353Lt3b9P/dmWC7FenqqrKdH3l5eUhLy/PK3/48uGHH8IwDOzZswepqamqTifJPPDjH//Ya119pIi2tjb1d8+ePQPefmeQo5v87ne/s51fXV2NjIwMtLa2es2zxh5oHcFKPx4dIfttqK2tDapO5VTviCRrvUw/1kuXLjWVqXbXrS8VFRWmfBzNHZ/aYUM9Cj377LN49tln8eqrr+Khhx5yHMohEmJiYnD//fdj6NChXbpd2ZER8N3wOP/93/+tCtU1a9agurradt26urouidGJ7FhPV11djddffx3PPPMM8vPzkZycHJngOtH48ePx0UcfeU2vrq42dQwUrLKyMjz44IM4f/48rrnmGuTk5OChhx7CtGnTTMvJhtbKlStVQ33v3r3461//alouJycHc+fOxQsvvIDPPvsMhmGguLgY9913H66++uqA4youLvZ7w+gKsofrnj17dvoNeMmSJVGxz7q3334br776KrZv344HH3zQq3LbEX/6058AAHfeeWfY0rRKTEzE008/jV/96lf49ttvYRgGHnvsMfzsZz8LePipzMxMnDhx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F1984bhdu8/NN99sWr66ulrNW7Rokdd+zJgxw+v4EBERERGRf2yok0/33nuvbUM9Pz/f1FDX2TWSpZSUFAFAZGdnm6Zv3LjRNi0hhLj55pu9GqLHjx8X8fHxtml98cUXjjHI6XV1dV7z8vPzxbBhwxzXyc/PV9OcGuqnT58WSUlJtnFVVlY6HhfdSy+9ZGqo28UycOBAcfr0aa/pTufJLo7KykrT9JUrV6p07r33XjVd5gG72OVDGqdjTUREREREweOr7+TTM88843N+QkIC3nvvPdO0Hj16APA9Jnp8fLztdNn7uy43NxcA0NDQoIZeS05ORnNzs20aP/jBD3zG7OTMmTM4dOgQPB6P6ROM3r1744c//CEA4Ny5c6Z5zc3NSEhI8JvGnDlzALQf27feess0LzMzEwBw0003oXfv3mp6dXW1bVpxcXHq+Pnzb//2bwCAtLQ0008dNmzYgLS0NNt19M7/Wltb1d+nT59GTExMQNslIiIiIiKzHpEOgC4/d911FyoqKnwuU1ZW1kXRBO6FF14AANTX15umy0bwgAEDAkpn27ZtMAwD7777rmn6tGnTHIeMC9amTZsCWq6oqMj0/4oVK/Diiy+GJQbAPGb9E088gZKSEgDAgw8+iHnz5oVtO0REREREVxJ+o05RZdWqVRHdfnZ2NtLT020/Q4cODTid/Px8AEBiYiIA4L333lPfhne1PXv2YN68eTAMAz179sSkSZPCmr58+LBy5UrTNmWjnYiIiIiIgsOGOkWVP//5z5EOISxkI7WxsRFVVVVYu3at6dvnrlJQUIA777wTTU1NEEKgoKAA9913X9i3Ix9CpKen45133kFycnLYt0FEREREdKXgq+9EGl+v7BcVFeGJJ54IOK3evXujpaUFEyZMAICwvfYejJUrVyI7O7vTf2rQp08fAMDu3bsxdepUbNy4sVO3R0RERER0OeM36kT/37333gsAmDp1qte8goIC/P3vfw8qPb1xPHPmzI4FF+Wsv5l3envA7tgSEREREZEZG+rkk3yFe9asWbbz5avdupqaGr/p5uTkBByD7FV++fLlpukulwuA97fgemdwS5cuNc0rLi4G0L5fS5cuRXl5uZone1t/5513YBgGli5dqj4rV65U8wOl72NeXl7A6+kxWcl9W7t2rWm67AjPbl39fLz33nvqG/4JEyaYjs/69esB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rTNynvTOBrkL5ZMCRERERER0eWJHnbyKiIjA8ePH9f+zs7MBwDDiuby7vn//fsN36+rq0LdvXwDWg7Z1Jjs7GxkZGcjIyDB0wrdv3257F728vNzjB4N77rkHALBy5UrD8ltvvRWA5x35tLQ0HDhwwGOAPPMPF75IS0uDpmkoLCz0+7tERERERHR5YkedbKWkpGD+/Pm4+uqrUVxcjPnz52Pv3r2GR+KBjne+t23bhltuuQWapmHx4sUoLi7GL37xCzz44IMQQhi2nzx5smEftbW1hvXyEft//vOf2LVrF1wuFxoaGtC/f39MnToVc+fORVlZmb59UlKS/vddd91lmD6usLAQ+/btAwB89tlnqKio0Ndt374deXl5+POf/wxN01BcXIzFixfjxhtvRENDg0fn+q677tL/vvPOO/XH/Z1Op35nvrm5GQ8//LC+XXJyMgDoc9ETERERERF1RhPmXhQRERERERERhQzvqBMRERERERGFEXbUiYiIiIiIiMIIO+pEREREREREYYQddSIiIiIiIqIwwo46ERERERERURhhR52IiIiIiIgojLCjTkRERERERBRG2FEnIiIiIiIiCiPsqBMRERERERGFEXbUiYiIiIiIiMIIO+pEREREREREYYQddSIiIiIiIqIwwo46ERERERERURhhR52IiIiIiIgojLCjTkRERERERBRG2FEnIiIiIiIiCiPsqBMRERERERGFEXbUiYiIiIiIiMIIO+pEREREREREYYQddSIiIiIiIqIwwo46ERERERERURhhR52IiIiIiIgojLCjTkRERERERBRG/h8U07mR8uP2wAAAAABJRU5ErkJggg==)"
],
"metadata": {
"id": "Xgrg9ThF8eq-"
}
},
{
"cell_type": "markdown",
"source": [
"Часть (b) лёгкая, а вот (a) интересная."
],
"metadata": {
"id": "WoIaonZX8v60"
}
},
{
"cell_type": "markdown",
"source": [
"По-русски: есть система линейных уравнений $AX=B$, где $A$ это матрица, а $X$ и $B$ -- столбцы. Все элементы в $A$ и $B$ -- действительные числа. Докажите что если система имеет больше чем одно решение, то она имеет бесконечное число решений.\n",
"\n",
"Чтобы доказать что решений бесконечно много мы можем построить какую-нибудь функцию $f(X_1, X_2, p)$ что будет возвращать новое решение для каждого $p\\in \\mathbb{R}$. Уравнение $A\\cdot f(X_1, X_2, p) = B$ должно выполняться."
],
"metadata": {
"id": "yff8bFcQ80EX"
}
},
{
"cell_type": "markdown",
"source": [
"# Решение\n",
"\n",
"Хорошо, значит существуют хотя бы два решения, $X_1$ и $X_2$:\n",
"\n",
"$\\left\\{\n",
"\\begin{matrix}\n",
"A X_1 = B \\\\\n",
"A X_2 = B\n",
"\\end{matrix}\n",
"\\right.$\n",
"\n",
"Если сложить два уравнения можно получить новое решение:\n",
"\n",
"$A X_1 + AX_2 = 2B$\n",
"\n",
"$A\\left(\\frac{1}{2}X_1 + \\frac{1}{2}X_2\\right) = B$\n",
"\n",
"Мы нашли третье решение, скомбинировав два известных: $X_3 = \\frac{1}{2}X_1 + \\frac{1}{2}X_2$.\n",
"\n",
"Попробуем сложить уравнения дважды:\n",
"\n",
"$A X_1 + A X_1 + AX_2 + AX_2 = 4B$\n",
"\n",
"$A (2X_1 + 2X_2) = 4B$\n",
"\n",
"$A (\\frac{1}{2} X_1 + \\frac{1}{2} X_2) = B$\n",
"\n",
"Хм, мы выполнили другую операцию, но получили повторили ровно то же решение. Надо сформулировать $f$ таким образом, чтобы мы не повторяли одни и теже решения. Чтобы их точно было бесконечное количество.\n",
"\n",
"Можно ли как-то обобщить то что мы только что сделали, чтобы построить $f$ и с её помощью генерировать бесконечное количество решений?\n",
"\n",
"То что мы только что сделали напоминает операции над строками в матрице. Мы можем выразить эту операцию получения $X_3$ через умножение матрицы. Матрица матриц? Почему бы и нет.\n",
"\n",
"$\\begin{bmatrix}\n",
"A & 0 \\\\\n",
"0 & A\n",
"\\end{bmatrix} \\begin{bmatrix}\n",
"X_1 \\\\\n",
"X_2\n",
"\\end{bmatrix} = \\begin{bmatrix}\n",
"B \\\\\n",
"B\n",
"\\end{bmatrix}$\n",
"\n",
"Мы можем добавить третью строку, где будем хранить новое решение:\n",
"\n",
"$\\begin{bmatrix}\n",
"A & 0 & 0 \\\\\n",
"0 & A & 0 \\\\\n",
"0 & 0 & 0\n",
"\\end{bmatrix} \\begin{bmatrix}\n",
"X_1 \\\\\n",
"X_2 \\\\\n",
"0\n",
"\\end{bmatrix} = \\begin{bmatrix}\n",
"B \\\\\n",
"B \\\\\n",
"0\n",
"\\end{bmatrix}$\n",
"\n",
"Выражаем, сложение уравнений в общем виде. Когда мы складывали два уравнения, у нас было $n_1 = 1$, $n_2 = 1$:\n",
"\n",
"$\\begin{bmatrix}\n",
"1 & 0 & 0 \\\\\n",
"0 & 1 & 0 \\\\\n",
"n_1 & n_2 & 0\n",
"\\end{bmatrix} \\begin{bmatrix}\n",
"A & 0 & 0 \\\\\n",
"0 & A & 0 \\\\\n",
"0 & 0 & 0\n",
"\\end{bmatrix} \\begin{bmatrix}\n",
"X_1 \\\\\n",
"X_2 \\\\\n",
"0\n",
"\\end{bmatrix} = \\begin{bmatrix}\n",
"1 & 0 & 0 \\\\\n",
"0 & 1 & 0 \\\\\n",
"n_1 & n_2 & 0\n",
"\\end{bmatrix} \\begin{bmatrix}\n",
"B \\\\\n",
"B \\\\\n",
"0\n",
"\\end{bmatrix}$\n",
"\n",
"$\\begin{bmatrix}\n",
"A & 0 & 0 \\\\\n",
"0 & A & 0 \\\\\n",
"n_1 A & n_2 A & 0\n",
"\\end{bmatrix} \\begin{bmatrix}\n",
"X_1 \\\\\n",
"X_2 \\\\\n",
"0\n",
"\\end{bmatrix} = \\begin{bmatrix}\n",
"B \\\\\n",
"B \\\\\n",
"(n_1 + n_2) B\n",
"\\end{bmatrix}$\n",
"\n",
"Третья строка выглядит почти правильно. Нам нужно чтобы чтобы справа было $B$, тогда третья строка примет вид $A X_i = B$. Надо поделить на $(n_1 + n_2)$, полагая что $n_1 \\neq -n_2$:\n",
"\n",
"$\\begin{bmatrix}\n",
"1 & 0 & 0 \\\\\n",
"0 & 1 & 0 \\\\\n",
"0 & 0 & \\frac{1}{n_1 + n_2}\n",
"\\end{bmatrix} \\begin{bmatrix}\n",
"A & 0 & 0 \\\\\n",
"0 & A & 0 \\\\\n",
"n_1 A & n_2 A & 0\n",
"\\end{bmatrix} \\begin{bmatrix}\n",
"X_1 \\\\\n",
"X_2 \\\\\n",
"0\n",
"\\end{bmatrix} = \\begin{bmatrix}\n",
"1 & 0 & 0 \\\\\n",
"0 & 1 & 0 \\\\\n",
"0 & 0 & \\frac{1}{n_1 + n_2}\n",
"\\end{bmatrix} \\begin{bmatrix}\n",
"B \\\\\n",
"B \\\\\n",
"(n_1 + n_2) B\n",
"\\end{bmatrix}$\n",
"\n",
"$\\begin{bmatrix}\n",
"A & 0 & 0 \\\\\n",
"0 & A & 0 \\\\\n",
"\\frac{n_1}{n_1 + n_2} A & \\frac{n_2}{n_1 + n_2} A & 0\n",
"\\end{bmatrix} \\begin{bmatrix}\n",
"X_1 \\\\\n",
"X_2 \\\\\n",
"0\n",
"\\end{bmatrix} = \\begin{bmatrix}\n",
"B \\\\\n",
"B \\\\\n",
"B\n",
"\\end{bmatrix}$\n",
"\n",
"Если мы возьмём только третью строку этой системы, она выглядит так:\n",
"\n",
"$\\frac{n_1}{n_1 + n_2} A X_1 + \\frac{n_2}{n_1 + n_2} A X_2 = B$\n",
"\n",
"$A \\left( \\frac{n_1}{n_1 + n_2} X_1 + \\frac{n_2}{n_1 + n_2} X_2\\right) = B$\n",
"\n",
"Мы получили общее правило для генерации решений:\n",
"\n",
"$f(X_1, X_2, n_1, n_2) = \\frac{n_1}{n_1 + n_2} X_1 + \\frac{n_2}{n_1 + n_2} X_2$\n"
],
"metadata": {
"id": "tUYmOQUo8-04"
}
},
{
"cell_type": "markdown",
"source": [
"Если оставить в таком виде, то у нас могут возникнуть повторения, например при $n_1=n_2$. Надо подобрать такую замену переменных, чтобы повторений не было.\n",
"\n",
"Возьмём $b = n_1 + n_2$, тогда $a = \\frac{n_1}{b}$ и $b-ab = n_2$. Тогда функция принимает вид:\n",
"\n",
"$f(X_1, X_2, a, b) = a X_1 + \\frac{b-ab}{b} X_2$.\n",
"\n",
"$f(X_1, X_2, a) = a X_1 + (1-a) X_2$.\n",
"\n",
"Класс, мы упростили функцию до одного параметра, который причём может принимать любые значения на $\\mathbb{R}$.\n",
"\n",
"Красиво."
],
"metadata": {
"id": "uX7FR_G2FXfV"
}
},
{
"cell_type": "markdown",
"source": [
"# Решение Захара Ягудина\n",
"\n",
"Я показал задачу своему другу Захару, он сразу предложил сделать рекуррентное выражение:\n",
"\n",
"$f(1) = X_1$\n",
"\n",
"$f(2) = X_2$\n",
"\n",
"$f(n) = \\frac{f(n-2) + f(n-1)}{2}$\n",
"\n",
"Так для каждого натурального $n$ мы получим новое решение на основе первых двух. Например:\n",
"\n",
"$f(3) = \\frac{f(1) + f(2)}{2} = \\frac{1}{2}\\left(X_1 + X_2\\right)$\n",
"\n",
"$f(4) = \\frac{f(2) + f(3)}{2} = \\frac{1}{2}\\left(X_2 + \\frac{1}{2}\\left(X_1 + X_2\\right)\\right) = \\frac{1}{4} X_1 + \\frac{3}{4} X_2$\n",
"\n",
"Выглядит весьма элегантно."
],
"metadata": {
"id": "Ec5jMHBo_ub_"
}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment