Skip to content
Snippets Groups Projects
plots_and_expressions.ipynb 139 KiB
Newer Older
   "id": "553bba31",
   "metadata": {},
   "outputs": [
    {
     "ename": "NameError",
     "evalue": "name 'bgmlv2_d_upperbound_exp_term' is not defined",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mNameError\u001b[0m                                 Traceback (most recent call last)",
      "Cell \u001b[0;32mIn[29], line 8\u001b[0m\n\u001b[1;32m      4\u001b[0m \u001b[38;5;66;03m# RENDERED TO LATEX: positive_radius_condition.subs([q_value_expr,beta_value_expr]).factor()\u001b[39;00m\n\u001b[1;32m      5\u001b[0m \u001b[38;5;66;03m# placeholder for the specific values of k (start with 1):\u001b[39;00m\n\u001b[1;32m      6\u001b[0m var(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mkappa\u001b[39m\u001b[38;5;124m\"\u001b[39m, domain\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mreal\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[0;32m----> 8\u001b[0m assymptote_gap_condition1 \u001b[38;5;241m=\u001b[39m (kappa\u001b[38;5;241m/\u001b[39m(Integer(\u001b[38;5;241m2\u001b[39m)\u001b[38;5;241m*\u001b[39mn\u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mInteger(\u001b[38;5;241m2\u001b[39m)) \u001b[38;5;241m<\u001b[39m \u001b[43mbgmlv2_d_upperbound_exp_term\u001b[49m)\n\u001b[1;32m      9\u001b[0m assymptote_gap_condition2 \u001b[38;5;241m=\u001b[39m (kappa\u001b[38;5;241m/\u001b[39m(Integer(\u001b[38;5;241m2\u001b[39m)\u001b[38;5;241m*\u001b[39mn\u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mInteger(\u001b[38;5;241m2\u001b[39m)) \u001b[38;5;241m<\u001b[39m bgmlv3_d_upperbound_exp_term_alt2)\n\u001b[1;32m     11\u001b[0m r_upper_bound1 \u001b[38;5;241m=\u001b[39m (\n\u001b[1;32m     12\u001b[0m     assymptote_gap_condition1\n\u001b[1;32m     13\u001b[0m     \u001b[38;5;241m*\u001b[39m r \u001b[38;5;241m*\u001b[39m Integer(\u001b[38;5;241m2\u001b[39m)\u001b[38;5;241m*\u001b[39mn\u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mInteger(\u001b[38;5;241m2\u001b[39m) \u001b[38;5;241m/\u001b[39m kappa\n\u001b[1;32m     14\u001b[0m )\n",
      "\u001b[0;31mNameError\u001b[0m: name 'bgmlv2_d_upperbound_exp_term' is not defined"
     ]
    }
   ],
   "source": [
    "var(\"a_v b_q n\") # Define symbols introduce for values of beta and q\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/(2*n^2) < bgmlv2_d_upperbound_exp_term)\n",
    "assymptote_gap_condition2 = (kappa/(2*n^2) < bgmlv3_d_upperbound_exp_term_alt2)\n",
    "\n",
    "r_upper_bound1 = (\n",
    "    assymptote_gap_condition1\n",
    "    * r * 2*n^2 / kappa\n",
    ")\n",
    "\n",
    "assert r_upper_bound1.lhs() == r\n",
    "\n",
    "r_upper_bound2 = (\n",
    "    assymptote_gap_condition2\n",
    "    * (r-R) * 2*n^2 / kappa + R\n",
    ")\n",
    "\n",
    "assert r_upper_bound2.lhs() == r"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "990a2840",
   "metadata": {},
   "source": [
    "r_upper_bound1.subs(kappa==1).rhs()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "5a3c7037",
   "metadata": {},
   "source": [
    "r_upper_bound2.subs(kappa==1).rhs()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "82add957",
   "metadata": {},
   "outputs": [],
   "source": [
    "var(\"epsilon\")\n",
    "var(\"chbv\") # symbol to represent \\chern_1^{\\beta}(v)\n",
    "\n",
    "# Tightness conditions:\n",
    "\n",
    "bounds_too_tight_condition1 = (\n",
    "    bgmlv2_d_upperbound_exp_term\n",
    "    < epsilon\n",
    ")\n",
    "\n",
    "bounds_too_tight_condition2 = (\n",
    "    bgmlv3_d_upperbound_exp_term_alt.subs(chbv==0)\n",
    "    < epsilon\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "d33e3459",
   "metadata": {},
   "source": [
    "bgmlv2_d_upperbound_exp_term"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "3728c192",
   "metadata": {},
   "source": [
    "bgmlv3_d_upperbound_exp_term_alt2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "90149eb2",
   "metadata": {},
   "outputs": [],
   "source": [
    "var(\"Delta nu\", domain=\"real\")\n",
    "# Delta to represent bogomolov(v)\n",
    "\n",
    "q_sol = solve(\n",
    "    r_upper_bound1.subs(kappa==1).rhs()\n",
    "    == r_upper_bound2.subs(kappa==1).rhs()\n",
    "    , q\n",
    ")[0].rhs()\n",
    "\n",
    "r_upper_bound_all_q = (r_upper_bound1.rhs()\n",
    "    .expand()\n",
    "    .subs(q==q_sol)\n",
    "    .subs(kappa==1)\n",
    "    .subs(psi**2 == Delta/nu^2)\n",
    "    .subs(1/psi**2 == nu^2/Delta)\n",
    ")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "818e07fc",
   "metadata": {},
   "source": [
    "$\\let\\originalDelta\\Delta$\n",
    "$\\renewcommand\\Delta{\\originalDelta(v)}$\n",
    "Redefine \\Delta in latex to be $\\Delta$"
   ]
  },
   "execution_count": null,
   "id": "8b0b0bf4",
   "metadata": {},
   "source": [
    "r_upper_bound_all_q.expand()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "53bd2a9c",
   "metadata": {},
   "source": [
    "r_upper_bound1.subs(kappa==1).rhs()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "cfa6e1af",
   "metadata": {},
   "source": [
    "r_upper_bound2.subs(kappa==1).rhs()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "801a348a",
   "metadata": {},
   "source": [
    "q_sol.expand()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "d4bf7486",
   "metadata": {},
   "source": [
    "r_upper_bound_all_q.expand().subs([nu==1,Delta==psi^2])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "896d26dd",
   "metadata": {},
   "source": [
    "c_in_terms_of_q.subs([q_value_expr,beta_value_expr])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "51f22f7d",
   "metadata": {},
   "outputs": [],
   "source": [
    "rhs_numerator = (positive_radius_condition\n",
    "    .rhs()\n",
    "    .subs([q_value_expr,beta_value_expr])\n",
    "    .factor()\n",
    "    .numerator()\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "8148f5cd",
   "metadata": {},
   "source": [
    "(positive_radius_condition\n",
    "     .subs([q_value_expr,beta_value_expr])\n",
    "     .factor())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "af5315c8",
   "metadata": {},
   "source": [
    "var(\"delta\", domain=\"real\") # placeholder symbol to be replaced by k_{q,i}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "e3e75309",
   "metadata": {},
   "source": [
    "r_upper_bound1.rhs()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "203b216b",
   "metadata": {},
   "source": [
    "r_upper_bound2.rhs()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "SageMath 9.8",
   "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
}