{ "cells": [ { "cell_type": "code", "execution_count": 15, "id": "67535292", "metadata": {}, "outputs": [], "source": [ "from scipy.optimize import fsolve\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "from sympy import symbols, nsolve" ] }, { "cell_type": "markdown", "id": "abfb7a01", "metadata": {}, "source": [ "Compute momentum" ] }, { "cell_type": "code", "execution_count": 1, "id": "5a723df5", "metadata": { "scrolled": false }, "outputs": [ { "data": { "text/plain": [ "99.991" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "100*.891+1*10.891" ] }, { "cell_type": "markdown", "id": "b78f6ead", "metadata": {}, "source": [ "Compute Energy" ] }, { "cell_type": "code", "execution_count": 4, "id": "702ea63c", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "99.0009905" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "100*.891**2/2 + 1*10.891**2/2" ] }, { "cell_type": "code", "execution_count": 16, "id": "68770e55", "metadata": {}, "outputs": [], "source": [ "v1, v2 = symbols(\"v_1 v_2\")" ] }, { "cell_type": "code", "execution_count": 18, "id": "3126c7a1", "metadata": {}, "outputs": [], "source": [ "f1 = 100*v1 + v2 -100\n", "f2 = 100*v1**2/2 + v2**2/2 - 50" ] }, { "cell_type": "code", "execution_count": 19, "id": "c978c6c1", "metadata": {}, "outputs": [ { "ename": "ZeroDivisionError", "evalue": "matrix is numerically singular", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mZeroDivisionError\u001b[0m Traceback (most recent call last)", "Input \u001b[0;32mIn [19]\u001b[0m, in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[43mnsolve\u001b[49m\u001b[43m(\u001b[49m\u001b[43m(\u001b[49m\u001b[43mf1\u001b[49m\u001b[43m,\u001b[49m\u001b[43mf2\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m(\u001b[49m\u001b[43mv1\u001b[49m\u001b[43m,\u001b[49m\u001b[43mv2\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m1\u001b[39;49m\u001b[43m,\u001b[49m\u001b[38;5;241;43m1\u001b[39;49m\u001b[43m)\u001b[49m\u001b[43m)\u001b[49m\n", "File \u001b[0;32m~/venvs/jupyter-notebook/lib/python3.8/site-packages/sympy/utilities/decorator.py:88\u001b[0m, in \u001b[0;36mconserve_mpmath_dps..func_wrapper\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 86\u001b[0m dps \u001b[38;5;241m=\u001b[39m mpmath\u001b[38;5;241m.\u001b[39mmp\u001b[38;5;241m.\u001b[39mdps\n\u001b[1;32m 87\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m---> 88\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 89\u001b[0m \u001b[38;5;28;01mfinally\u001b[39;00m:\n\u001b[1;32m 90\u001b[0m mpmath\u001b[38;5;241m.\u001b[39mmp\u001b[38;5;241m.\u001b[39mdps \u001b[38;5;241m=\u001b[39m dps\n", "File \u001b[0;32m~/venvs/jupyter-notebook/lib/python3.8/site-packages/sympy/solvers/solvers.py:2958\u001b[0m, in \u001b[0;36mnsolve\u001b[0;34m(dict, *args, **kwargs)\u001b[0m\n\u001b[1;32m 2956\u001b[0m J \u001b[38;5;241m=\u001b[39m lambdify(fargs, J, modules)\n\u001b[1;32m 2957\u001b[0m \u001b[38;5;66;03m# solve the system numerically\u001b[39;00m\n\u001b[0;32m-> 2958\u001b[0m x \u001b[38;5;241m=\u001b[39m \u001b[43mfindroot\u001b[49m\u001b[43m(\u001b[49m\u001b[43mf\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mx0\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mJ\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mJ\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 2959\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m as_dict:\n\u001b[1;32m 2960\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m [\u001b[38;5;28mdict\u001b[39m(\u001b[38;5;28mzip\u001b[39m(fargs, [sympify(xi) \u001b[38;5;28;01mfor\u001b[39;00m xi \u001b[38;5;129;01min\u001b[39;00m x]))]\n", "File \u001b[0;32m~/venvs/jupyter-notebook/lib/python3.8/site-packages/mpmath/calculus/optimization.py:969\u001b[0m, in \u001b[0;36mfindroot\u001b[0;34m(ctx, f, x0, solver, tol, verbose, verify, **kwargs)\u001b[0m\n\u001b[1;32m 967\u001b[0m maxsteps \u001b[38;5;241m=\u001b[39m iterations\u001b[38;5;241m.\u001b[39mmaxsteps\n\u001b[1;32m 968\u001b[0m i \u001b[38;5;241m=\u001b[39m \u001b[38;5;241m0\u001b[39m\n\u001b[0;32m--> 969\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m x, error \u001b[38;5;129;01min\u001b[39;00m iterations:\n\u001b[1;32m 970\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m verbose:\n\u001b[1;32m 971\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mx: \u001b[39m\u001b[38;5;124m'\u001b[39m, x)\n", "File \u001b[0;32m~/venvs/jupyter-notebook/lib/python3.8/site-packages/mpmath/calculus/optimization.py:660\u001b[0m, in \u001b[0;36mMDNewton.__iter__\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 658\u001b[0m fxn \u001b[38;5;241m=\u001b[39m \u001b[38;5;241m-\u001b[39mfx\n\u001b[1;32m 659\u001b[0m Jx \u001b[38;5;241m=\u001b[39m J(\u001b[38;5;241m*\u001b[39mx0)\n\u001b[0;32m--> 660\u001b[0m s \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mctx\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mlu_solve\u001b[49m\u001b[43m(\u001b[49m\u001b[43mJx\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mfxn\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 661\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mverbose:\n\u001b[1;32m 662\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mJx:\u001b[39m\u001b[38;5;124m'\u001b[39m)\n", "File \u001b[0;32m~/venvs/jupyter-notebook/lib/python3.8/site-packages/mpmath/matrices/linalg.py:226\u001b[0m, in \u001b[0;36mLinearAlgebraMethods.lu_solve\u001b[0;34m(ctx, A, b, **kwargs)\u001b[0m\n\u001b[1;32m 223\u001b[0m x \u001b[38;5;241m=\u001b[39m ctx\u001b[38;5;241m.\u001b[39mlu_solve(A, b)\n\u001b[1;32m 224\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 225\u001b[0m \u001b[38;5;66;03m# LU factorization\u001b[39;00m\n\u001b[0;32m--> 226\u001b[0m A, p \u001b[38;5;241m=\u001b[39m \u001b[43mctx\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mLU_decomp\u001b[49m\u001b[43m(\u001b[49m\u001b[43mA\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 227\u001b[0m b \u001b[38;5;241m=\u001b[39m ctx\u001b[38;5;241m.\u001b[39mL_solve(A, b, p)\n\u001b[1;32m 228\u001b[0m x \u001b[38;5;241m=\u001b[39m ctx\u001b[38;5;241m.\u001b[39mU_solve(A, b)\n", "File \u001b[0;32m~/venvs/jupyter-notebook/lib/python3.8/site-packages/mpmath/matrices/linalg.py:151\u001b[0m, in \u001b[0;36mLinearAlgebraMethods.LU_decomp\u001b[0;34m(ctx, A, overwrite, use_cache)\u001b[0m\n\u001b[1;32m 149\u001b[0m A[i,k] \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m=\u001b[39m A[i,j]\u001b[38;5;241m*\u001b[39mA[j,k]\n\u001b[1;32m 150\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m ctx\u001b[38;5;241m.\u001b[39mabsmin(A[n \u001b[38;5;241m-\u001b[39m \u001b[38;5;241m1\u001b[39m,n \u001b[38;5;241m-\u001b[39m \u001b[38;5;241m1\u001b[39m]) \u001b[38;5;241m<\u001b[39m\u001b[38;5;241m=\u001b[39m tol:\n\u001b[0;32m--> 151\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mZeroDivisionError\u001b[39;00m(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mmatrix is numerically singular\u001b[39m\u001b[38;5;124m'\u001b[39m)\n\u001b[1;32m 152\u001b[0m \u001b[38;5;66;03m# cache decomposition\u001b[39;00m\n\u001b[1;32m 153\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m overwrite \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(orig, ctx\u001b[38;5;241m.\u001b[39mmatrix):\n", "\u001b[0;31mZeroDivisionError\u001b[0m: matrix is numerically singular" ] } ], "source": [ "nsolve((f1,f2), (v1,v2), (1,1))" ] }, { "cell_type": "code", "execution_count": 23, "id": "9ac3c9dd", "metadata": {}, "outputs": [], "source": [ "def f1(v):\n", " return (100-v)/100\n", "\n", "def f2(v):\n", " return np.sqrt((50 - v**2/2)/50)\n", " \n", " \n", "\n", "def equations(args):\n", " v1, v2 = args\n", " f1 = 100*v1+v2-100\n", " f2 = 100*v1**2/2+v2**2/2-50\n", " return (f1, f2)" ] }, { "cell_type": "code", "execution_count": 24, "id": "2fbef0c7", "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "array([ 1.00000000e+00, -1.12175438e-14])" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "fsolve(equations,(1,1))" ] }, { "cell_type": "code", "execution_count": 26, "id": "6d023778", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots()\n", "\n", "ax.set_title(\"xx\")\n", "ax.grid()\n", "\n", "v1 = np.linspace(0, 10, 1000)\n", "\n", "\n", "ax.plot(v1,f1(v1))\n", "ax.plot(v1, f2(v1))" ] }, { "cell_type": "code", "execution_count": null, "id": "7e002839", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "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.8.10" } }, "nbformat": 4, "nbformat_minor": 5 }