Skip to content
Snippets Groups Projects
plots_and_expressions.ipynb 142 KiB
Newer Older
       "<html>\\(\\displaystyle \\left(\\frac{\\kappa}{\\Omega} &lt; \\frac{q^{2}}{2 \\, r}, \\frac{\\kappa}{\\Omega} &lt; -\\frac{{\\left(\\psi - q\\right)}^{2}}{2 \\, {\\left(R - r\\right)}}\\right)\\)</html>"
       "$\\displaystyle \\left(\\frac{\\kappa}{\\Omega} < \\frac{q^{2}}{2 \\, r}, \\frac{\\kappa}{\\Omega} < -\\frac{{\\left(\\psi - q\\right)}^{2}}{2 \\, {\\left(R - r\\right)}}\\right)$"
       "(kappa/Omega < 1/2*q^2/r, kappa/Omega < -1/2*(psi - q)^2/(R - r))"
     "metadata": {},
     "output_type": "execute_result"
    "var(\"a_v b_q n Omega\") # Define symbols introduce for values of beta and q\n",
    "lcm_m_2n2 = Omega # more semantic variable name\n",
    "\n",
    "beta_value_expr = (beta == a_v/n)\n",
    "q_value_expr = (q == b_q/n)\n",
    "# placeholder for the specific values of k (start with 1):\n",
    "var(\"kappa\", domain=\"real\")\n",
    "\n",
    "assymptote_gap_condition1 = (kappa/lcm_m_2n2 < bgmlv2_d_upperbound_terms.hyperbolic)\n",
    "assymptote_gap_condition2 = (kappa/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{\\Omega q^{2}}{2 \\, \\kappa}, r &lt; \\frac{\\Omega {\\left(\\psi - q\\right)}^{2}}{2 \\, \\kappa} + R\\right)\\)</html>"
       "$\\displaystyle \\left(r < \\frac{\\Omega q^{2}}{2 \\, \\kappa}, r < \\frac{\\Omega {\\left(\\psi - q\\right)}^{2}}{2 \\, \\kappa} + R\\right)$"
       "(r < 1/2*Omega*q^2/kappa, r < 1/2*Omega*(psi - q)^2/kappa + R)"
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "r_upper_bound1 = (\n",
    "    assymptote_gap_condition1\n",
    ")\n",
    "\n",
    "assert r_upper_bound1.lhs() == r\n",
    "\n",
    "r_upper_bound2 = (\n",
    "    assymptote_gap_condition2\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} \\, \\Omega q^{2} , \\frac{1}{2} \\, \\Omega {\\left(\\psi - q\\right)}^{2} + R \\right)\\)</html>"
       "$\\displaystyle r < \\min\\left( \\frac{1}{2} \\, \\Omega q^{2} , \\frac{1}{2} \\, \\Omega {\\left(\\psi - q\\right)}^{2} + R \\right)$"
       "r < \\min\\left( \\frac{1}{2} \\, \\Omega q^{2} , \\frac{1}{2} \\, \\Omega {\\left(\\psi - q\\right)}^{2} + R \\right)"
     "output_type": "execute_result"
    "main_theorem1 = Object()\n",
    "main_theorem1.r_upper_bound1 = r_upper_bound1.subs(kappa == 1).rhs()\n",
    "main_theorem1.r_upper_bound2 = r_upper_bound2.subs(kappa == 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"
   "cell_type": "markdown",
   "id": "ddd87bcf",
   "metadata": {},
   "source": [
    "$\\renewcommand\\nu\\ell$\n",
    "Redefine \\nu to $\\nu$ in latex\n",
    "$\\let\\originalDelta\\Delta$\n",
    "$\\renewcommand\\Delta{\\originalDelta(v)}$\n",
    "Redefine \\Delta in latex to be $\\Delta$"
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<html>\\(\\displaystyle \\frac{\\Omega \\psi^{2} + 2 \\, R}{2 \\, \\Omega \\psi}\\)</html>"
       "$\\displaystyle \\frac{\\Omega \\psi^{2} + 2 \\, R}{2 \\, \\Omega \\psi}$"
       "1/2*(Omega*psi^2 + 2*R)/(Omega*psi)"
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
    "# 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} \\, \\Omega \\psi^{2} + \\frac{1}{2} \\, R + \\frac{R^{2}}{2 \\, \\Omega \\psi^{2}}\\)</html>"
       "$\\displaystyle \\frac{1}{8} \\, \\Omega \\psi^{2} + \\frac{1}{2} \\, R + \\frac{R^{2}}{2 \\, \\Omega \\psi^{2}}$"
       "1/8*Omega*psi^2 + 1/2*R + 1/2*R^2/(Omega*psi^2)"
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "main_theorem1.corollary_intermediate = (main_theorem1.r_upper_bound1\n",
    "    .expand()\n",
    "    .subs(q==q_sol)\n",
    "    .subs(kappa==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 \\Omega}{8 \\, m} + \\frac{R^{2} m}{2 \\, \\Delta \\Omega}\\)</html>"
       "$\\displaystyle \\frac{1}{2} \\, R + \\frac{\\Delta \\Omega}{8 \\, m} + \\frac{R^{2} m}{2 \\, \\Delta \\Omega}$"
       "1/2*R + 1/8*Delta*Omega/m + 1/2*R^2*m/(Delta*Omega)"
     "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(kappa==1)\n",
    "    .subs(ch1bv**2 == Delta/m)\n",
    "    .subs(1/ch1bv**2 == m/Delta)\n",
    ").expand()\n",
    "\n",
    "main_theorem1.corollary_r_bound"
   "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": {
   "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",
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}