Skip to content
Snippets Groups Projects
plots_and_expressions.ipynb 145 KiB
Newer Older
    "assymptote_gap_condition2 = (k/lcm_m_2n2 < bgmlv3_d_upperbound_terms.hyperbolic)\n",
    "assymptote_gap_condition1, assymptote_gap_condition2"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ce8bc94f",
   "metadata": {},
   "source": [
    "Rearrange these two conditions into bounds for $r$:"
   ]
  },
  {
   "cell_type": "code",
   "id": "553bba31",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<html>\\(\\displaystyle \\left(r &lt; \\frac{{\\operatorname{lcm}(m,2n^2)} q^{2}}{2 \\, {k_{v,q}}}, r &lt; \\frac{{\\left({\\operatorname{ch}_1^{\\beta}(v)} - q\\right)}^{2} {\\operatorname{lcm}(m,2n^2)}}{2 \\, {k_{v,q}}} + R\\right)\\)</html>"
       "$\\displaystyle \\left(r < \\frac{{\\operatorname{lcm}(m,2n^2)} q^{2}}{2 \\, {k_{v,q}}}, r < \\frac{{\\left({\\operatorname{ch}_1^{\\beta}(v)} - q\\right)}^{2} {\\operatorname{lcm}(m,2n^2)}}{2 \\, {k_{v,q}}} + R\\right)$"
       "(r < 1/2*lcm_m_2n2*q^2/k, r < 1/2*(ch1bv - q)^2*lcm_m_2n2/k + R)"
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "r_upper_bound1 = (\n",
    "    assymptote_gap_condition1\n",
    "    * r * lcm_m_2n2 / k\n",
    ")\n",
    "\n",
    "assert r_upper_bound1.lhs() == r\n",
    "\n",
    "r_upper_bound2 = (\n",
    "    assymptote_gap_condition2\n",
    "    * (r-R) * lcm_m_2n2 / k + R\n",
    "assert r_upper_bound2.lhs() == r\n",
    "\n",
    "(r_upper_bound1, r_upper_bound2)"
   "cell_type": "markdown",
   "id": "7f4476b5",
   "metadata": {},
   "source": [
   "cell_type": "markdown",
   "id": "f6f4b131",
   "metadata": {},
   "source": [
    "The first main theorem is about these two upper bounds on $r$ needing to be satisfied for $\\kappa = 1$ (weakest form)"
       "<html>\\(\\displaystyle r &lt; \\min\\left( \\frac{1}{2} \\, {\\operatorname{lcm}(m,2n^2)} q^{2} , \\frac{1}{2} \\, {\\left({\\operatorname{ch}_1^{\\beta}(v)} - q\\right)}^{2} {\\operatorname{lcm}(m,2n^2)} + R \\right)\\)</html>"
       "$\\displaystyle r < \\min\\left( \\frac{1}{2} \\, {\\operatorname{lcm}(m,2n^2)} q^{2} , \\frac{1}{2} \\, {\\left({\\operatorname{ch}_1^{\\beta}(v)} - q\\right)}^{2} {\\operatorname{lcm}(m,2n^2)} + R \\right)$"
       "r < \\min\\left( \\frac{1}{2} \\, {\\operatorname{lcm}(m,2n^2)} q^{2} , \\frac{1}{2} \\, {\\left({\\operatorname{ch}_1^{\\beta}(v)} - q\\right)}^{2} {\\operatorname{lcm}(m,2n^2)} + R \\right)"
     "output_type": "execute_result"
    "main_theorem1 = Object()\n",
    "main_theorem1.r_upper_bound1 = r_upper_bound1.subs(k == 1).rhs()\n",
    "main_theorem1.r_upper_bound2 = r_upper_bound2.subs(k == 1).rhs()\n",
    "r\"r < \\min\\left(\" + latex(main_theorem1.r_upper_bound1) + \",\" + latex(main_theorem1.r_upper_bound2) + r\"\\right)\""
   "cell_type": "markdown",
   "id": "8bf4b71c",
   "metadata": {},
   "source": [
    "### Main Theorem 1 Corollary"
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<html>\\(\\displaystyle \\frac{{\\operatorname{ch}_1^{\\beta}(v)}^{2} {\\operatorname{lcm}(m,2n^2)} + 2 \\, R}{2 \\, {\\operatorname{ch}_1^{\\beta}(v)} {\\operatorname{lcm}(m,2n^2)}}\\)</html>"
       "$\\displaystyle \\frac{{\\operatorname{ch}_1^{\\beta}(v)}^{2} {\\operatorname{lcm}(m,2n^2)} + 2 \\, R}{2 \\, {\\operatorname{ch}_1^{\\beta}(v)} {\\operatorname{lcm}(m,2n^2)}}$"
       "1/2*(ch1bv^2*lcm_m_2n2 + 2*R)/(ch1bv*lcm_m_2n2)"
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
    "var(\"m\", domain=\"real\")\n",
    "var(\"bgmlv_v\", domain=\"real\", latex_name=r\"\\Delta(v)\")\n",
    "var(\"l\", latex_name=r\"\\ell\")\n",
    "# Delta to represent bogomolov(v)\n",
    "    main_theorem1.r_upper_bound1\n",
    "    == main_theorem1.r_upper_bound2\n",
    "    , q\n",
    ")[0].rhs()\n",
    "\n",
   "id": "c89865ff",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<html>\\(\\displaystyle \\frac{1}{8} \\, {\\operatorname{ch}_1^{\\beta}(v)}^{2} {\\operatorname{lcm}(m,2n^2)} + \\frac{1}{2} \\, R + \\frac{R^{2}}{2 \\, {\\operatorname{ch}_1^{\\beta}(v)}^{2} {\\operatorname{lcm}(m,2n^2)}}\\)</html>"
       "$\\displaystyle \\frac{1}{8} \\, {\\operatorname{ch}_1^{\\beta}(v)}^{2} {\\operatorname{lcm}(m,2n^2)} + \\frac{1}{2} \\, R + \\frac{R^{2}}{2 \\, {\\operatorname{ch}_1^{\\beta}(v)}^{2} {\\operatorname{lcm}(m,2n^2)}}$"
       "1/8*ch1bv^2*lcm_m_2n2 + 1/2*R + 1/2*R^2/(ch1bv^2*lcm_m_2n2)"
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "main_theorem1.corollary_intermediate = (main_theorem1.r_upper_bound1\n",
    "    .expand()\n",
    "    .subs(q==q_sol)\n",
    "    .subs(k==1)\n",
    ").expand()\n",
    "\n",
    "main_theorem1.corollary_intermediate"
   ]
  },
  {
   "cell_type": "code",
   "id": "9a56a088",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<html>\\(\\displaystyle \\frac{1}{2} \\, R + \\frac{{\\Delta(v)} {\\operatorname{lcm}(m,2n^2)}}{8 \\, m} + \\frac{R^{2} m}{2 \\, {\\Delta(v)} {\\operatorname{lcm}(m,2n^2)}}\\)</html>"
       "$\\displaystyle \\frac{1}{2} \\, R + \\frac{{\\Delta(v)} {\\operatorname{lcm}(m,2n^2)}}{8 \\, m} + \\frac{R^{2} m}{2 \\, {\\Delta(v)} {\\operatorname{lcm}(m,2n^2)}}$"
       "1/2*R + 1/8*bgmlv_v*lcm_m_2n2/m + 1/2*R^2*m/(bgmlv_v*lcm_m_2n2)"
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "main_theorem1.corollary_r_bound = (main_theorem1.r_upper_bound1\n",
    "    .expand()\n",
    "    .subs(q==q_sol)\n",
    "    .subs(k==1)\n",
    "    .subs(ch1bv**2 == bgmlv_v/m)\n",
    "    .subs(1/ch1bv**2 == m/bgmlv_v)\n",
    ").expand()\n",
    "\n",
    "main_theorem1.corollary_r_bound"
  {
   "cell_type": "markdown",
   "id": "aa54317e",
   "metadata": {},
   "source": [
    "# Stronger Theorem Bound"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "id": "ec739837",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<html>\\(\\displaystyle r &lt; \\min\\left( \\frac{{\\operatorname{lcm}(m,2n^2)} q^{2}}{2 \\, {k_{v,q}}} , \\frac{{\\left({\\operatorname{ch}_1^{\\beta}(v)} - q\\right)}^{2} {\\operatorname{lcm}(m,2n^2)}}{2 \\, {k_{v,q}}} + R \\right)\\)</html>"
       "$\\displaystyle r < \\min\\left( \\frac{{\\operatorname{lcm}(m,2n^2)} q^{2}}{2 \\, {k_{v,q}}} , \\frac{{\\left({\\operatorname{ch}_1^{\\beta}(v)} - q\\right)}^{2} {\\operatorname{lcm}(m,2n^2)}}{2 \\, {k_{v,q}}} + R \\right)$"
       "r < \\min\\left( \\frac{{\\operatorname{lcm}(m,2n^2)} q^{2}}{2 \\, {k_{v,q}}} , \\frac{{\\left({\\operatorname{ch}_1^{\\beta}(v)} - q\\right)}^{2} {\\operatorname{lcm}(m,2n^2)}}{2 \\, {k_{v,q}}} + R \\right)"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "main_theorem2 = Object()\n",
    "main_theorem2.r_upper_bound1 = r_upper_bound1.rhs()\n",
    "main_theorem2.r_upper_bound2 = r_upper_bound2.rhs()\n",
    "\n",
    "r\"r < \\min\\left(\" + latex(main_theorem2.r_upper_bound1) + \",\" + latex(main_theorem2.r_upper_bound2) + r\"\\right)\""
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2fc47641",
   "metadata": {},
   "source": [
    "# Stronger Theorem Corollary Bound"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "51a6942e",
   "metadata": {},
   "source": [
    "Specialize to $m=1$ or $2$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "id": "78893533",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<html>\\(\\displaystyle r &lt; \\min\\left( \\frac{n^{2} q^{2}}{{k_{v,q}}} , \\frac{{\\left({\\operatorname{ch}_1^{\\beta}(v)} - q\\right)}^{2} n^{2}}{{k_{v,q}}} + R \\right)\\)</html>"
       "$\\displaystyle r < \\min\\left( \\frac{n^{2} q^{2}}{{k_{v,q}}} , \\frac{{\\left({\\operatorname{ch}_1^{\\beta}(v)} - q\\right)}^{2} n^{2}}{{k_{v,q}}} + R \\right)$"
       "r < \\min\\left( \\frac{n^{2} q^{2}}{{k_{v,q}}} , \\frac{{\\left({\\operatorname{ch}_1^{\\beta}(v)} - q\\right)}^{2} n^{2}}{{k_{v,q}}} + R \\right)"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "main_theorem2_corollary = Object()\n",
    "main_theorem2_corollary.r_upper_bound1 = main_theorem2.r_upper_bound1.subs(lcm_m_2n2 == 2*n^2)\n",
    "main_theorem2_corollary.r_upper_bound2 = main_theorem2.r_upper_bound2.subs(lcm_m_2n2 == 2*n^2)\n",
    "\n",
    "r\"r < \\min\\left(\" + latex(main_theorem2_corollary.r_upper_bound1) + \",\" + latex(main_theorem2_corollary.r_upper_bound2) + r\"\\right)\""
   ]
  },
   "metadata": {},
   "source": [
   "id": "896d26dd",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<html>\\(\\displaystyle c = \\frac{a_{v} r}{n} + \\frac{b_{q}}{n}\\)</html>"
      ],
      "text/latex": [
       "$\\displaystyle c = \\frac{a_{v} r}{n} + \\frac{b_{q}}{n}$"
      ],
      "text/plain": [
       "c == a_v*r/n + b_q/n"
      ]
     },
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "c_in_terms_of_q.subs([q_value_expr,beta_value_expr])"
   ]
  },
  {
   "cell_type": "code",
   "id": "51f22f7d",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<html>\\(\\displaystyle {\\left(a_{v} r + 2 \\, b_{q}\\right)} a_{v}\\)</html>"
      ],
      "text/latex": [
       "$\\displaystyle {\\left(a_{v} r + 2 \\, b_{q}\\right)} a_{v}$"
      ],
      "text/plain": [
       "(a_v*r + 2*b_q)*a_v"
      ]
     },
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
    "rhs_numerator = (positive_radius_condition_with_q\n",
    "    .rhs()\n",
    "    .subs([q_value_expr,beta_value_expr])\n",
    "    .factor()\n",
    "    .numerator()\n",
   "id": "8148f5cd",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<html>\\(\\displaystyle d > \\frac{{\\left(a_{v} r + 2 \\, b_{q}\\right)} a_{v}}{2 \\, n^{2}}\\)</html>"
      ],
      "text/latex": [
       "$\\displaystyle d > \\frac{{\\left(a_{v} r + 2 \\, b_{q}\\right)} a_{v}}{2 \\, n^{2}}$"
      ],
      "text/plain": [
       "d > 1/2*(a_v*r + 2*b_q)*a_v/n^2"
      ]
     },
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
    "(positive_radius_condition_with_q\n",
    "     .subs([q_value_expr,beta_value_expr])\n",
    "     .factor())"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "SageMath 9.7",
   "language": "sage",
   "name": "sagemath"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.8"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}