312 lines
6.4 KiB
Plaintext
312 lines
6.4 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 16,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"import sympy as sm\n",
|
|
"a, b, th, gama, x, t, y, z = sm.symbols(\"a, b, theta, gamma, x, t, y, z\")"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 17,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"(a, b, theta, gamma, x, t, y, z)"
|
|
]
|
|
},
|
|
"execution_count": 17,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"a, b, th, gama, x, t, y, z\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 18,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"f"
|
|
]
|
|
},
|
|
"execution_count": 18,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"f = sm.Function('f')\n",
|
|
"f"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 19,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/latex": [
|
|
"$\\displaystyle \\sin{\\left(f{\\left(t \\right)} \\right)} - \\frac{\\tan{\\left(\\frac{a}{b} \\right)}}{\\log{\\left(\\gamma \\right)}}$"
|
|
],
|
|
"text/plain": [
|
|
"sin(f(t)) - tan(a/b)/log(gamma)"
|
|
]
|
|
},
|
|
"execution_count": 19,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"expr3 = sm.sin(f(t)) - sm.tan(a/b)/sm.log(gama)\n",
|
|
"expr3"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 20,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/latex": [
|
|
"$\\displaystyle \\frac{2 a \\left(\\tan^{2}{\\left(\\frac{a}{b} \\right)} + 1\\right) \\tan{\\left(\\frac{a}{b} \\right)}}{b^{3} \\log{\\left(\\gamma \\right)}} + \\frac{\\tan^{2}{\\left(\\frac{a}{b} \\right)} + 1}{b^{2} \\log{\\left(\\gamma \\right)}}$"
|
|
],
|
|
"text/plain": [
|
|
"2*a*(tan(a/b)**2 + 1)*tan(a/b)/(b**3*log(gamma)) + (tan(a/b)**2 + 1)/(b**2*log(gamma))"
|
|
]
|
|
},
|
|
"execution_count": 20,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"part1 = sm.diff(expr3, a)\n",
|
|
"part2 = sm.diff(part1, b)\n",
|
|
"part2"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"### Matrices & Linear Algebra"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 21,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/latex": [
|
|
"$\\displaystyle \\left[\\begin{matrix}1 & 2\\\\3 & 4\\end{matrix}\\right]$"
|
|
],
|
|
"text/plain": [
|
|
"Matrix([\n",
|
|
"[1, 2],\n",
|
|
"[3, 4]])"
|
|
]
|
|
},
|
|
"execution_count": 21,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"mat1 = sm.Matrix([[1, 2],[3, 4]])\n",
|
|
"mat1"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"### Linear systems"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 22,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"lin_expr_1 = a * x +b**2*y + sm.sin(gama) *z"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 23,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/latex": [
|
|
"$\\displaystyle x \\sin{\\left(f{\\left(t \\right)} \\right)} + z \\log{\\left(f{\\left(t \\right)} \\right)}$"
|
|
],
|
|
"text/plain": [
|
|
"x*sin(f(t)) + z*log(f(t))"
|
|
]
|
|
},
|
|
"execution_count": 23,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"lin_expr_2 = sm.sin(f(t)) *x + sm.log(f(t)) * z\n",
|
|
"lin_expr_2"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 24,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/latex": [
|
|
"$\\displaystyle a x + b^{2} y + z \\sin{\\left(\\gamma \\right)} = 0$"
|
|
],
|
|
"text/plain": [
|
|
"Eq(a*x + b**2*y + z*sin(gamma), 0)"
|
|
]
|
|
},
|
|
"execution_count": 24,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"sm.Eq(lin_expr_1, 0)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 25,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/latex": [
|
|
"$\\displaystyle x \\sin{\\left(f{\\left(t \\right)} \\right)} + z \\log{\\left(f{\\left(t \\right)} \\right)} = 0$"
|
|
],
|
|
"text/plain": [
|
|
"Eq(x*sin(f(t)) + z*log(f(t)), 0)"
|
|
]
|
|
},
|
|
"execution_count": 25,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"sm.Eq(lin_expr_2, 0)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 26,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"[{x: -b**2*y*log(f(t))/(a*log(f(t)) - sin(gamma)*sin(f(t))),\n",
|
|
" z: b**2*y*sin(f(t))/(a*log(f(t)) - sin(gamma)*sin(f(t)))}]"
|
|
]
|
|
},
|
|
"execution_count": 26,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"res = sm.solve([lin_expr_1, lin_expr_2], x, z, dict = True)\n",
|
|
"res"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 27,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"{x: -b**2*y*log(f(t))/(a*log(f(t)) - sin(gamma)*sin(f(t))),\n",
|
|
" z: b**2*y*sin(f(t))/(a*log(f(t)) - sin(gamma)*sin(f(t)))}"
|
|
]
|
|
},
|
|
"execution_count": 27,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"res_dict = res[0]\n",
|
|
"res_dict"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 28,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/latex": [
|
|
"$\\displaystyle x = - \\frac{b^{2} y \\log{\\left(f{\\left(t \\right)} \\right)}}{a \\log{\\left(f{\\left(t \\right)} \\right)} - \\sin{\\left(\\gamma \\right)} \\sin{\\left(f{\\left(t \\right)} \\right)}}$"
|
|
],
|
|
"text/plain": [
|
|
"Eq(x, -b**2*y*log(f(t))/(a*log(f(t)) - sin(gamma)*sin(f(t))))"
|
|
]
|
|
},
|
|
"execution_count": 28,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"sm.Eq(x, res_dict[x])"
|
|
]
|
|
}
|
|
],
|
|
"metadata": {
|
|
"kernelspec": {
|
|
"display_name": "blade",
|
|
"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.10.16"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 2
|
|
}
|