{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Análisis de redes mediante Análisis Nodal Modificado\n", " \n", "\n", "#### Por Mariano Llamedo Soria" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Resumen \n", "En este documento se presentan ...\n", "\n", "* Funciones de análisis de cuadripolos: [smna](https://pytc2.readthedocs.io/en/latest/autoapi/pytc2/cuadripolos/index.html#pytc2.cuadripolos.smna)\n", "* De presentación algebraica: [print_latex](https://pytc2.readthedocs.io/en/latest/autoapi/pytc2/general/index.html#pytc2.general.print_latex), [a_equal_b_latex_s](https://pytc2.readthedocs.io/en/latest/autoapi/pytc2/general/index.html#pytc2.general.a_equal_b_latex_s), [print_subtitle](https://pytc2.readthedocs.io/en/latest/autoapi/pytc2/general/index.html#pytc2.general.print_subtitle)\n", "* De manipulación de sistemas lineales: [tf2sos_analog](https://pytc2.readthedocs.io/en/latest/autoapi/pytc2/sistemas_lineales/index.html#pytc2.sistemas_lineales.tf2sos_analog), [parametrize_sos](https://pytc2.readthedocs.io/en/latest/autoapi/pytc2/sistemas_lineales/index.html#pytc2.sistemas_lineales.parametrize_sos)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Introducción\n", "\n", "Documento en elaboración. Algunas referencias para este tema:\n", "\n", "* Cap. 17 [Vlach, Jiri - Linear Circuit Theory_ Matrices in Computer Applications-Apple Academic Press (2014)](https://drive.google.com/file/d/1-H73vpb3ZST5bsALNvPFGv8a5E3l-R1R/view?usp=drive_link)\n", "* [Erik Cheever. SCAM: Symbolic Circuit Analysis in MatLab\n", ". Swarthmore University](https://lpsa.swarthmore.edu/Systems/Electrical/mna/MNA1.html)\n", "* [Tony a.k.a *Tiburonboy*. Symbolic Modified Nodal Analysis using Python](https://tiburonboy.github.io/Symbolic-Modified-Nodal-Analysis-using-Python/)\n" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "### GIC bicuad\n", "\n", "A partir de una red de referencia:\n", "\n", "\"GIC\n", "\n", "se dibuja y parametriza en LTspice:\n", "\n", "\"GIC\n", "\n", "y luego este archivo será lo que se toma como entrada a las funciones de análisis nodal modificado.\n" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Utilizando netlist: ./schematics/GIC bicuad.net\n" ] }, { "data": { "text/markdown": [ "#### Ecuación MNA" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/latex": [ "$\\displaystyle \\left[\\begin{matrix}v_{va} \\left(a c_{0} s + c_{0} s \\left(1 - a\\right) + \\frac{1}{r} + \\frac{b + eps}{q r} + \\frac{- b + eps + 1}{q r}\\right) + v_{vi} \\left(- a c_{0} s - \\frac{b + eps}{q r}\\right) - \\frac{v_{vb}}{r}\\\\I_{V1} + v_{va} \\left(- a c_{0} s - \\frac{b + eps}{q r}\\right) + v_{vi} \\left(a c_{0} s + \\frac{c + eps}{r} + \\frac{b + eps}{q r}\\right) - \\frac{v_{vd} \\left(c + eps\\right)}{r}\\\\I_{OXu2} - c_{0} s v_{vc} + v_{vb} \\left(c_{0} s + \\frac{1}{r}\\right) - \\frac{v_{va}}{r}\\\\- c_{0} s v_{vb} + v_{vc} \\left(c_{0} s + \\frac{1}{r}\\right) - \\frac{v_{vo}}{r}\\\\I_{OXu1} - \\frac{v_{vc}}{r} - \\frac{v_{vd}}{r} + \\frac{2 v_{vo}}{r}\\\\v_{vd} \\left(\\frac{c + eps}{r} + \\frac{- c + eps + 1}{r} + \\frac{1}{r}\\right) - \\frac{v_{vi} \\left(c + eps\\right)}{r} - \\frac{v_{vo}}{r}\\\\v_{vi}\\\\v_{va} - v_{vc} - \\frac{v_{vo}}{aop}\\\\- v_{vc} + v_{vd} - \\frac{v_{vb}}{aop}\\end{matrix}\\right] = \\left[\\begin{matrix}0\\\\0\\\\0\\\\0\\\\0\\\\0\\\\V_{1}\\\\0\\\\0\\end{matrix}\\right]$" ], "text/plain": [ "Eq(Matrix([\n", "[v_va*(a*c0*s + c0*s*(1 - a) + 1/r + (b + eps)/(q*r) + (-b + eps + 1)/(q*r)) + v_vi*(-a*c0*s - (b + eps)/(q*r)) - v_vb/r],\n", "[ I_V1 + v_va*(-a*c0*s - (b + eps)/(q*r)) + v_vi*(a*c0*s + (c + eps)/r + (b + eps)/(q*r)) - v_vd*(c + eps)/r],\n", "[ I_OXu2 - c0*s*v_vc + v_vb*(c0*s + 1/r) - v_va/r],\n", "[ -c0*s*v_vb + v_vc*(c0*s + 1/r) - v_vo/r],\n", "[ I_OXu1 - v_vc/r - v_vd/r + 2*v_vo/r],\n", "[ v_vd*((c + eps)/r + (-c + eps + 1)/r + 1/r) - v_vi*(c + eps)/r - v_vo/r],\n", "[ v_vi],\n", "[ v_va - v_vc - v_vo/aop],\n", "[ -v_vc + v_vd - v_vb/aop]]), Matrix([\n", "[ 0],\n", "[ 0],\n", "[ 0],\n", "[ 0],\n", "[ 0],\n", "[ 0],\n", "[V1],\n", "[ 0],\n", "[ 0]]))" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "\"\"\"\n", "Referencias:\n", "------------\n", "Cap. 5. Schaumann Rolf. Design of Analog Filters.\n", "Cap. 17. Vlach, Jiri - Linear Circuit Theory Matrices in Computer Applications (2014)\n", "\n", "\"\"\"\n", "\n", "import sympy as sp\n", "from pytc2.sistemas_lineales import parametrize_sos\n", "from pytc2.general import s, print_latex, print_subtitle, a_equal_b_latex_s\n", "\n", "from pytc2.cuadripolos import smna\n", "from IPython.display import display, Markdown\n", "\n", "fileName_asc = './schematics/GIC bicuad.asc'\n", "\n", "# symbolic MNA\n", "equ_smna, extra_results = smna(fileName_asc, \n", " bAplicarValoresComponentes = True, \n", " bAplicarParametros = False)\n", "\n", "print_subtitle('Ecuación MNA')\n", "\n", "display(equ_smna)" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/markdown": [ "#### Ecuación MNA" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/latex": [ "$\\displaystyle \\left[\\begin{matrix}v_{va} \\left(a c_{0} s + \\frac{b}{q r} + c_{0} s \\left(1 - a\\right) + \\frac{1}{r} + \\frac{1 - b}{q r}\\right) + v_{vi} \\left(- a c_{0} s - \\frac{b}{q r}\\right) - \\frac{v_{vb}}{r}\\\\I_{V1} - \\frac{c v_{vd}}{r} + v_{va} \\left(- a c_{0} s - \\frac{b}{q r}\\right) + v_{vi} \\left(a c_{0} s + \\frac{b}{q r} + \\frac{c}{r}\\right)\\\\I_{OXu2} - c_{0} s v_{vc} + v_{vb} \\left(c_{0} s + \\frac{1}{r}\\right) - \\frac{v_{va}}{r}\\\\- c_{0} s v_{vb} + v_{vc} \\left(c_{0} s + \\frac{1}{r}\\right) - \\frac{v_{vo}}{r}\\\\I_{OXu1} - \\frac{v_{vc}}{r} - \\frac{v_{vd}}{r} + \\frac{2 v_{vo}}{r}\\\\- \\frac{c v_{vi}}{r} + v_{vd} \\left(\\frac{c}{r} + \\frac{1 - c}{r} + \\frac{1}{r}\\right) - \\frac{v_{vo}}{r}\\\\v_{vi}\\\\v_{va} - v_{vc}\\\\- v_{vc} + v_{vd}\\end{matrix}\\right] = \\left[\\begin{matrix}0\\\\0\\\\0\\\\0\\\\0\\\\0\\\\V_{1}\\\\0\\\\0\\end{matrix}\\right]$" ], "text/plain": [ "Eq(Matrix([\n", "[v_va*(a*c0*s + b/(q*r) + c0*s*(1 - a) + 1/r + (1 - b)/(q*r)) + v_vi*(-a*c0*s - b/(q*r)) - v_vb/r],\n", "[ I_V1 - c*v_vd/r + v_va*(-a*c0*s - b/(q*r)) + v_vi*(a*c0*s + b/(q*r) + c/r)],\n", "[ I_OXu2 - c0*s*v_vc + v_vb*(c0*s + 1/r) - v_va/r],\n", "[ -c0*s*v_vb + v_vc*(c0*s + 1/r) - v_vo/r],\n", "[ I_OXu1 - v_vc/r - v_vd/r + 2*v_vo/r],\n", "[ -c*v_vi/r + v_vd*(c/r + (1 - c)/r + 1/r) - v_vo/r],\n", "[ v_vi],\n", "[ v_va - v_vc],\n", "[ -v_vc + v_vd]]), Matrix([\n", "[ 0],\n", "[ 0],\n", "[ 0],\n", "[ 0],\n", "[ 0],\n", "[ 0],\n", "[V1],\n", "[ 0],\n", "[ 0]]))" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# tuning a mano de las ecuaciones\n", "A0 = extra_results['A']\n", "\n", "if extra_results['eps'] != 0:\n", " A0 = A0.subs(extra_results['eps'], 0)\n", "\n", "if extra_results['aop'] != 0:\n", " A0 = A0.limit(extra_results['aop'], sp.oo)\n", "\n", "equ_smna = sp.Eq(A0*extra_results['X'], extra_results['Z'])\n", "\n", "print_subtitle('Ecuación MNA')\n", "\n", "display(equ_smna)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle \\frac{2 V_{1} a c_{0}^{2} q r^{2} s^{2} + 2 V_{1} b c_{0} r s - V_{1} c c_{0}^{2} q r^{2} s^{2} - V_{1} c c_{0} r s + V_{1} c q}{V_{1} \\left(c_{0}^{2} q r^{2} s^{2} + c_{0} r s + q\\right)}$" ], "text/plain": [ "(2*V1*a*c0**2*q*r**2*s**2 + 2*V1*b*c0*r*s - V1*c*c0**2*q*r**2*s**2 - V1*c*c0*r*s + V1*c*q)/(V1*(c0**2*q*r**2*s**2 + c0*r*s + q))" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "u1 = sp.solve(equ_smna, extra_results['X'])\n", "\n", "H = u1[extra_results['v_out']] / u1[extra_results['v_in']]\n", "\n", "display(H)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "![nada](./img/nada.png)\n", "\"Homero\n" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle \\frac{\\frac{c}{2 a c_{0}^{2} r^{2} - c c_{0}^{2} r^{2}} + s^{2} + s \\left(\\frac{2 b}{2 a c_{0} q r - c c_{0} q r} - \\frac{c}{2 a c_{0} q r - c c_{0} q r}\\right)}{s^{2} + \\frac{s}{c_{0} q r} + \\frac{1}{c_{0}^{2} r^{2}}} \\left(2 a - c\\right)$" ], "text/plain": [ "((c/(2*a*c0**2*r**2 - c*c0**2*r**2) + s**2 + s*(2*b/(2*a*c0*q*r - c*c0*q*r) - c/(2*a*c0*q*r - c*c0*q*r)))/(s**2 + s/(c0*q*r) + 1/(c0**2*r**2)))*(2*a - c)" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "H0 = sp.collect(sp.simplify(sp.expand(H)),s)\n", "\n", "H0 = parametrize_sos(H)[0]\n", "\n", "display(H0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "![nada](./img/nada.png)\n", "\"Homero" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "### Ackerberg Mossberg bicuad\n", "\n", "Repetimos el procedimiento, a partir de una red de referencia:\n", "\n", "\"ACKMOSS\"\n", "\"ACKMOSS\"\n", "\n", "se dibuja y parametriza en LTspice:\n", "\n", "\"ACKMOSS\"\n", "\n", "y luego procedemos al análisis\n" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Utilizando netlist: ./schematics/ACKMOSS bicuad.net\n" ] }, { "data": { "text/markdown": [ "#### Ecuación MNA" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/latex": [ "$\\displaystyle \\left[\\begin{matrix}v_{va} \\left(a c_{0} s + c_{0} s + \\frac{d}{r} + \\frac{1}{r} + \\frac{1}{q r}\\right) + v_{vi} \\left(- a c_{0} s - \\frac{d}{r}\\right) + v_{vo} \\left(- c_{0} s - \\frac{1}{q r}\\right) - \\frac{v_{vd}}{r}\\\\I_{V2} - \\frac{b v_{vc}}{r} - \\frac{c v_{vb}}{r} + v_{va} \\left(- a c_{0} s - \\frac{d}{r}\\right) + v_{vi} \\left(a c_{0} s + \\frac{b}{r} + \\frac{c}{r} + \\frac{d}{r}\\right)\\\\I_{OXu1} + v_{va} \\left(- c_{0} s - \\frac{1}{q r}\\right) + v_{vo} \\left(c_{0} s + \\frac{1}{r} + \\frac{1}{q r}\\right) - \\frac{v_{vb}}{r}\\\\I_{OXu2} - \\frac{v_{va}}{r} - \\frac{v_{vc}}{r} + \\frac{2 v_{vd}}{r}\\\\- \\frac{c v_{vi}}{r} - c_{0} s v_{n001} + v_{vb} \\left(\\frac{c}{r} + c_{0} s + \\frac{1}{r}\\right) - \\frac{v_{vo}}{r}\\\\- \\frac{b v_{vi}}{r} + v_{vc} \\left(\\frac{b}{r} + \\frac{2}{r}\\right) - \\frac{v_{n001}}{r} - \\frac{v_{vd}}{r}\\\\I_{OXu3} - c_{0} s v_{vb} + v_{n001} \\left(c_{0} s + \\frac{1}{r}\\right) - \\frac{v_{vc}}{r}\\\\v_{vi}\\\\- v_{va}\\\\v_{vb}\\\\- v_{vc}\\end{matrix}\\right] = \\left[\\begin{matrix}0\\\\0\\\\0\\\\0\\\\0\\\\0\\\\0\\\\V_{2}\\\\0\\\\0\\\\0\\end{matrix}\\right]$" ], "text/plain": [ "Eq(Matrix([\n", "[v_va*(a*c0*s + c0*s + d/r + 1/r + 1/(q*r)) + v_vi*(-a*c0*s - d/r) + v_vo*(-c0*s - 1/(q*r)) - v_vd/r],\n", "[ I_V2 - b*v_vc/r - c*v_vb/r + v_va*(-a*c0*s - d/r) + v_vi*(a*c0*s + b/r + c/r + d/r)],\n", "[ I_OXu1 + v_va*(-c0*s - 1/(q*r)) + v_vo*(c0*s + 1/r + 1/(q*r)) - v_vb/r],\n", "[ I_OXu2 - v_va/r - v_vc/r + 2*v_vd/r],\n", "[ -c*v_vi/r - c0*s*v_n001 + v_vb*(c/r + c0*s + 1/r) - v_vo/r],\n", "[ -b*v_vi/r + v_vc*(b/r + 2/r) - v_n001/r - v_vd/r],\n", "[ I_OXu3 - c0*s*v_vb + v_n001*(c0*s + 1/r) - v_vc/r],\n", "[ v_vi],\n", "[ -v_va],\n", "[ v_vb],\n", "[ -v_vc]]), Matrix([\n", "[ 0],\n", "[ 0],\n", "[ 0],\n", "[ 0],\n", "[ 0],\n", "[ 0],\n", "[ 0],\n", "[V2],\n", "[ 0],\n", "[ 0],\n", "[ 0]]))" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fileName_asc = './schematics/ACKMOSS bicuad.asc'\n", "\n", "# symbolic MNA\n", "equ_smna, extra_results = smna(fileName_asc, \n", " bAplicarValoresComponentes = True, \n", " bAplicarParametros = False)\n", "\n", "# tuning a mano de las ecuaciones\n", "A0 = extra_results['A']\n", "\n", "if extra_results['eps'] != 0:\n", " A0 = A0.subs(extra_results['eps'], 0)\n", "\n", "if extra_results['aop'] != 0:\n", " A0 = A0.limit(extra_results['aop'], sp.oo)\n", "\n", "equ_smna = sp.Eq(A0*extra_results['X'], extra_results['Z'])\n", "\n", "print_subtitle('Ecuación MNA')\n", "\n", "display(equ_smna)\n" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle \\frac{- V_{2} a c_{0}^{2} q r^{2} s^{2} + V_{2} b c_{0} q r s - V_{2} c q - V_{2} c_{0} d q r s}{V_{2} \\left(c_{0}^{2} q r^{2} s^{2} + c_{0} r s + q\\right)}$" ], "text/plain": [ "(-V2*a*c0**2*q*r**2*s**2 + V2*b*c0*q*r*s - V2*c*q - V2*c0*d*q*r*s)/(V2*(c0**2*q*r**2*s**2 + c0*r*s + q))" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "u1 = sp.solve(equ_smna, extra_results['X'])\n", "\n", "H = u1[extra_results['v_out']] / u1[extra_results['v_in']]\n", "\n", "display(H)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "![nada](./img/nada.png)\n", "\"Homero\n", " " ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle - a \\frac{s^{2} + \\frac{c}{a c_{0}^{2} r^{2}} + \\frac{s \\left(- b + d\\right)}{a c_{0} r}}{s^{2} + \\frac{s}{c_{0} q r} + \\frac{1}{c_{0}^{2} r^{2}}}$" ], "text/plain": [ "(-a)*((s**2 + c/(a*c0**2*r**2) + s*(-b + d)/(a*c0*r))/(s**2 + s/(c0*q*r) + 1/(c0**2*r**2)))" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "H0 = sp.collect(sp.simplify(sp.expand(H)),s)\n", "\n", "H0 = parametrize_sos(H)[0]\n", "\n", "display(H0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "![nada](./img/nada.png)\n", "\"Homero\n", " " ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "### Lattice como ecualizador de fase de primer orden\n", "\n", "Analizamos ahora una red pasiva balanceada de primer orden:\n", "\n", "\"lattice\"\n" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Utilizando netlist: ./schematics/lattice_1ord_delay_eq.net\n" ] }, { "data": { "text/markdown": [ "#### Ecuación MNA" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/latex": [ "$\\displaystyle \\left[\\begin{matrix}I_{V1} + v_{n001} - v_{v1}\\\\I_{L1} - s v_{4} - v_{n001} + v_{v1} \\left(s + 1\\right)\\\\I_{L2} - s v_{v1} - v_{3} + v_{4} \\left(s + 1\\right)\\\\- I_{L1} + v_{3} \\left(s + 1\\right) - v_{4}\\\\v_{n001}\\\\- I_{L1} s - v_{3} + v_{v1}\\\\- I_{L2} s + v_{4}\\end{matrix}\\right] = \\left[\\begin{matrix}0\\\\0\\\\0\\\\0\\\\V_{1}\\\\0\\\\0\\end{matrix}\\right]$" ], "text/plain": [ "Eq(Matrix([\n", "[ I_V1 + v_n001 - v_v1],\n", "[I_L1 - s*v_4 - v_n001 + v_v1*(s + 1)],\n", "[ I_L2 - s*v_v1 - v_3 + v_4*(s + 1)],\n", "[ -I_L1 + v_3*(s + 1) - v_4],\n", "[ v_n001],\n", "[ -I_L1*s - v_3 + v_v1],\n", "[ -I_L2*s + v_4]]), Matrix([\n", "[ 0],\n", "[ 0],\n", "[ 0],\n", "[ 0],\n", "[V1],\n", "[ 0],\n", "[ 0]]))" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fileName_asc = './schematics/lattice_1ord_delay_eq.asc'\n", "\n", "# symbolic MNA\n", "equ_smna, extra_results = smna(fileName_asc, \n", " bAplicarValoresComponentes = True, \n", " bAplicarParametros = True)\n", "\n", "print_subtitle('Ecuación MNA')\n", "\n", "display(equ_smna)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Notar que al tratarse de una salida desbalanceada debemos calcular:\n", "$$ H = \\frac{v_3-v_4}{v1-v0} $$\n", "\n", "y qye $v_0 = 0$\n" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle \\frac{s - 1}{s + 1}$" ], "text/plain": [ "(s - 1)/(s + 1)" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "u1 = sp.solve(equ_smna, extra_results['X'])\n", "\n", "H = (u1[extra_results['X'][2]] - u1[extra_results['X'][3]]) / u1[extra_results['X'][1]]\n", "\n", "H = sp.simplify(sp.expand(H))\n", "\n", "display(H)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "![nada](./img/nada.png)\n", "\"Homero\n", " " ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "### Tee con trafo como ecualizador de fase de primer orden\n", "\n", "Analizamos ahora la versión desbalanceada del lattice anteriormente vista:\n", "\n", "\"lattice\"\n" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Utilizando netlist: ./schematics/tee_1ord_delay_eq.net\n" ] }, { "data": { "text/markdown": [ "#### Ecuación MNA" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/latex": [ "$\\displaystyle \\left[\\begin{matrix}I_{V1} + v_{n001} - v_{vi}\\\\- I_{L1} - v_{n001} + v_{vi}\\\\I_{L2} + v_{vo}\\\\I_{L1} - I_{L2} + 2 s v_{n002}\\\\v_{n001}\\\\- \\frac{I_{L1} s}{2} - \\frac{I_{L2} s}{2} + v_{n002} - v_{vi}\\\\- \\frac{I_{L1} s}{2} - \\frac{I_{L2} s}{2} - v_{n002} + v_{vo}\\end{matrix}\\right] = \\left[\\begin{matrix}0\\\\0\\\\0\\\\0\\\\V_{1}\\\\0\\\\0\\end{matrix}\\right]$" ], "text/plain": [ "Eq(Matrix([\n", "[ I_V1 + v_n001 - v_vi],\n", "[ -I_L1 - v_n001 + v_vi],\n", "[ I_L2 + v_vo],\n", "[ I_L1 - I_L2 + 2*s*v_n002],\n", "[ v_n001],\n", "[-I_L1*s/2 - I_L2*s/2 + v_n002 - v_vi],\n", "[-I_L1*s/2 - I_L2*s/2 - v_n002 + v_vo]]), Matrix([\n", "[ 0],\n", "[ 0],\n", "[ 0],\n", "[ 0],\n", "[V1],\n", "[ 0],\n", "[ 0]]))" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fileName_asc = './schematics/tee_1ord_delay_eq.asc'\n", "\n", "# symbolic MNA\n", "equ_smna, extra_results = smna(fileName_asc, \n", " bAplicarValoresComponentes = True, \n", " bAplicarParametros = True)\n", "print_subtitle('Ecuación MNA')\n", "\n", "display(equ_smna)" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle \\frac{1 - s}{s + 1}$" ], "text/plain": [ "(1 - s)/(s + 1)" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "u1 = sp.solve(equ_smna, extra_results['X'])\n", "\n", "H = u1[extra_results['v_out']] / u1[extra_results['v_in']]\n", "\n", "H = sp.simplify(sp.expand(H))\n", "\n", "display(H)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "![nada](./img/nada.png)\n", "\"Homero\n", " " ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "### Lattice como ecualizador de fase de segundo orden\n", "\n", "Analizamos ahora una red pasiva balanceada de segundo orden:\n", "\n", "\"lattice2\"\n" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Utilizando netlist: ./schematics/lattice_2ord_delay_eq.net\n" ] }, { "data": { "text/markdown": [ "#### Ecuación MNA" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/latex": [ "$\\displaystyle \\left[\\begin{matrix}I_{V1} - v_{1} + v_{n001}\\\\I_{L1} + I_{L2} + v_{1} \\left(1 + \\frac{s}{a}\\right) - v_{n001} - \\frac{s v_{3}}{a}\\\\- I_{L3} - \\frac{a s v_{n002}}{b} - v_{3} + v_{4} \\left(\\frac{a s}{b} + 1 + \\frac{s}{a}\\right)\\\\- I_{L1} - \\frac{a s v_{n003}}{b} + v_{3} \\left(\\frac{a s}{b} + 1 + \\frac{s}{a}\\right) - v_{4} - \\frac{s v_{1}}{a}\\\\- I_{L2} - \\frac{a s v_{4}}{b} + \\frac{a s v_{n002}}{b}\\\\- I_{L4} - \\frac{a s v_{3}}{b} + \\frac{a s v_{n003}}{b}\\\\v_{n001}\\\\- \\frac{I_{L1} a s}{b} + v_{1} - v_{3}\\\\- \\frac{I_{L2} s}{a} + v_{1} - v_{n002}\\\\- \\frac{I_{L3} a s}{b} - v_{4}\\\\- \\frac{I_{L4} s}{a} - v_{n003}\\end{matrix}\\right] = \\left[\\begin{matrix}0\\\\0\\\\0\\\\0\\\\0\\\\0\\\\V_{1}\\\\0\\\\0\\\\0\\\\0\\end{matrix}\\right]$" ], "text/plain": [ "Eq(Matrix([\n", "[ I_V1 - v_1 + v_n001],\n", "[ I_L1 + I_L2 + v_1*(1 + s/a) - v_n001 - s*v_3/a],\n", "[ -I_L3 - a*s*v_n002/b - v_3 + v_4*(a*s/b + 1 + s/a)],\n", "[-I_L1 - a*s*v_n003/b + v_3*(a*s/b + 1 + s/a) - v_4 - s*v_1/a],\n", "[ -I_L2 - a*s*v_4/b + a*s*v_n002/b],\n", "[ -I_L4 - a*s*v_3/b + a*s*v_n003/b],\n", "[ v_n001],\n", "[ -I_L1*a*s/b + v_1 - v_3],\n", "[ -I_L2*s/a + v_1 - v_n002],\n", "[ -I_L3*a*s/b - v_4],\n", "[ -I_L4*s/a - v_n003]]), Matrix([\n", "[ 0],\n", "[ 0],\n", "[ 0],\n", "[ 0],\n", "[ 0],\n", "[ 0],\n", "[V1],\n", "[ 0],\n", "[ 0],\n", "[ 0],\n", "[ 0]]))" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fileName_asc = './schematics/lattice_2ord_delay_eq.asc'\n", "\n", "# symbolic MNA\n", "equ_smna, extra_results = smna(fileName_asc, \n", " bAplicarValoresComponentes = True, \n", " bAplicarParametros = True)\n", "\n", "print_subtitle('Ecuación MNA')\n", "\n", "display(equ_smna)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle \\frac{a s - b - s^{2}}{a s + b + s^{2}}$" ], "text/plain": [ "(a*s - b - s**2)/(a*s + b + s**2)" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "u1 = sp.solve(equ_smna, extra_results['X'])\n", "\n", "H = (u1[extra_results['X'][2]] - u1[extra_results['X'][3]]) / u1[extra_results['X'][1]]\n", "\n", "H = sp.simplify(sp.expand(H))\n", "\n", "display(H)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "![nada](./img/nada.png)\n", "\"Homero\n", " " ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "### Tee puenteada como ecualizador de demora de segundo orden\n", "\n", "Analizamos ahora una red desbalanceada equivalente sin transformador:\n", "\n", "\"tee\n" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Utilizando netlist: ./schematics/tee_puen_2ord_delay_eq.net\n" ] }, { "data": { "text/markdown": [ "#### Ecuación MNA" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/latex": [ "$\\displaystyle \\left[\\begin{matrix}I_{V1} + v_{n001} - v_{vi}\\\\I_{L1} - v_{n001} + v_{vi} \\left(1 + \\frac{s}{a}\\right) - \\frac{s v_{va}}{a}\\\\- I_{L1} + v_{vo} \\left(1 + \\frac{s}{a}\\right) - \\frac{s v_{va}}{a}\\\\- I_{L2} + \\frac{2 s v_{n002}}{b \\left(- \\frac{a}{b} + \\frac{1}{a}\\right)}\\\\I_{L2} + \\frac{2 s v_{va}}{a} - \\frac{s v_{vi}}{a} - \\frac{s v_{vo}}{a}\\\\v_{n001}\\\\- \\frac{2 I_{L1} a s}{b} + v_{vi} - v_{vo}\\\\- \\frac{I_{L2} s}{2 a} - v_{n002} + v_{va}\\end{matrix}\\right] = \\left[\\begin{matrix}0\\\\0\\\\0\\\\0\\\\0\\\\V_{1}\\\\0\\\\0\\end{matrix}\\right]$" ], "text/plain": [ "Eq(Matrix([\n", "[ I_V1 + v_n001 - v_vi],\n", "[I_L1 - v_n001 + v_vi*(1 + s/a) - s*v_va/a],\n", "[ -I_L1 + v_vo*(1 + s/a) - s*v_va/a],\n", "[ -I_L2 + 2*s*v_n002/(b*(-a/b + 1/a))],\n", "[ I_L2 + 2*s*v_va/a - s*v_vi/a - s*v_vo/a],\n", "[ v_n001],\n", "[ -2*I_L1*a*s/b + v_vi - v_vo],\n", "[ -I_L2*s/(2*a) - v_n002 + v_va]]), Matrix([\n", "[ 0],\n", "[ 0],\n", "[ 0],\n", "[ 0],\n", "[ 0],\n", "[V1],\n", "[ 0],\n", "[ 0]]))" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fileName_asc = './schematics/tee_puen_2ord_delay_eq.asc'\n", "\n", "# symbolic MNA\n", "equ_smna, extra_results = smna(fileName_asc, \n", " bAplicarValoresComponentes = True, \n", " bAplicarParametros = True)\n", "\n", "# tuning a mano de las ecuaciones\n", "A0 = extra_results['A']\n", "\n", "if extra_results['eps'] != 0:\n", " A0 = A0.subs(extra_results['eps'], 0)\n", "\n", "if extra_results['aop'] != 0:\n", " A0 = A0.limit(extra_results['aop'], sp.oo)\n", "\n", "equ_smna = sp.Eq(A0*extra_results['X'], extra_results['Z'])\n", "\n", "print_subtitle('Ecuación MNA')\n", "\n", "display(equ_smna)\n" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle 1 \\frac{- a s + b + s^{2}}{a s + b + s^{2}}$" ], "text/plain": [ "1*((-a*s + b + s**2)/(a*s + b + s**2))" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "u1 = sp.solve(equ_smna, extra_results['X'])\n", "\n", "H = u1[extra_results['v_out']] / u1[extra_results['v_in']]\n", "\n", "H0 = sp.collect(sp.simplify(sp.expand(H)),s)\n", "\n", "H0 = parametrize_sos(H)[0]\n", "\n", "display(H0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "![nada](./img/nada.png)\n", "\"Homero\n", " " ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "### Tee puenteada con trafo\n", "\n", "Ahora la misma red pero con un transformador para elevar un poco la complejidad:\n", "\n", "\"tee\n" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Utilizando netlist: ./schematics/tee_puen_2ord_delay_eq2.net\n" ] }, { "data": { "text/markdown": [ "#### Ecuación MNA" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/latex": [ "$\\displaystyle \\left[\\begin{matrix}I_{V1} + v_{n001} - v_{vi}\\\\- I_{L1} - v_{n001} + v_{vi} \\left(1 + \\frac{s}{2 a}\\right) - \\frac{s v_{vo}}{2 a}\\\\- I_{L2} + v_{vo} \\left(1 + \\frac{s}{2 a}\\right) - \\frac{s v_{vi}}{2 a}\\\\I_{L1} + I_{L2} + \\frac{2 a s v_{va}}{b}\\\\v_{n001}\\\\- I_{L1} s \\left(\\frac{a}{2 b} + \\frac{1}{2 a}\\right) - \\frac{I_{L2} s \\left(- \\frac{a}{b} + \\frac{1}{a}\\right) \\sqrt{\\left(\\frac{a}{2 b} + \\frac{1}{2 a}\\right)^{2}}}{\\frac{a}{b} + \\frac{1}{a}} + v_{va} - v_{vi}\\\\- \\frac{I_{L1} s \\left(- \\frac{a}{b} + \\frac{1}{a}\\right) \\sqrt{\\left(\\frac{a}{2 b} + \\frac{1}{2 a}\\right)^{2}}}{\\frac{a}{b} + \\frac{1}{a}} - I_{L2} s \\left(\\frac{a}{2 b} + \\frac{1}{2 a}\\right) + v_{va} - v_{vo}\\end{matrix}\\right] = \\left[\\begin{matrix}0\\\\0\\\\0\\\\0\\\\V_{1}\\\\0\\\\0\\end{matrix}\\right]$" ], "text/plain": [ "Eq(Matrix([\n", "[ I_V1 + v_n001 - v_vi],\n", "[ -I_L1 - v_n001 + v_vi*(1 + s/(2*a)) - s*v_vo/(2*a)],\n", "[ -I_L2 + v_vo*(1 + s/(2*a)) - s*v_vi/(2*a)],\n", "[ I_L1 + I_L2 + 2*a*s*v_va/b],\n", "[ v_n001],\n", "[-I_L1*s*(a/(2*b) + 1/(2*a)) - I_L2*s*(-a/b + 1/a)*sqrt((a/(2*b) + 1/(2*a))**2)/(a/b + 1/a) + v_va - v_vi],\n", "[-I_L1*s*(-a/b + 1/a)*sqrt((a/(2*b) + 1/(2*a))**2)/(a/b + 1/a) - I_L2*s*(a/(2*b) + 1/(2*a)) + v_va - v_vo]]), Matrix([\n", "[ 0],\n", "[ 0],\n", "[ 0],\n", "[ 0],\n", "[V1],\n", "[ 0],\n", "[ 0]]))" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fileName_asc = './schematics/tee_puen_2ord_delay_eq2.asc'\n", "\n", "# symbolic MNA\n", "equ_smna, extra_results = smna(fileName_asc, \n", " bAplicarValoresComponentes = True, \n", " bAplicarParametros = True)\n", "\n", "# tuning a mano de las ecuaciones\n", "A0 = extra_results['A']\n", "\n", "if extra_results['eps'] != 0:\n", " A0 = A0.subs(extra_results['eps'], 0)\n", "\n", "if extra_results['aop'] != 0:\n", " A0 = A0.limit(extra_results['aop'], sp.oo)\n", "\n", "equ_smna = sp.Eq(A0*extra_results['X'], extra_results['Z'])\n", "\n", "print_subtitle('Ecuación MNA')\n", "\n", "display(equ_smna)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "![nada](./img/nada.png)\n", "\"Homero\n", " " ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle \\frac{- \\frac{2 V_{1} a^{5} b s^{2} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}}}{4 a^{6} s^{2} + 6 a^{5} b s + 6 a^{5} s^{3} + 2 a^{4} b^{2} s \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 4 a^{4} b^{2} + 2 a^{4} b s^{3} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 10 a^{4} b s^{2} + 4 a^{4} s^{4} + 2 a^{3} b^{2} s^{2} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 8 a^{3} b^{2} s + 8 a^{3} b s^{3} - 2 a^{2} b^{3} s \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 4 a^{2} b^{3} - 2 a^{2} b^{2} s^{3} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 8 a^{2} b^{2} s^{2} + 4 a^{2} b s^{4} - 2 a b^{3} s^{2} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 2 a b^{3} s + 2 a b^{2} s^{3} + 2 b^{3} s^{2}} + \\frac{2 V_{1} a^{4} b^{2}}{4 a^{6} s^{2} + 6 a^{5} b s + 6 a^{5} s^{3} + 2 a^{4} b^{2} s \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 4 a^{4} b^{2} + 2 a^{4} b s^{3} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 10 a^{4} b s^{2} + 4 a^{4} s^{4} + 2 a^{3} b^{2} s^{2} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 8 a^{3} b^{2} s + 8 a^{3} b s^{3} - 2 a^{2} b^{3} s \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 4 a^{2} b^{3} - 2 a^{2} b^{2} s^{3} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 8 a^{2} b^{2} s^{2} + 4 a^{2} b s^{4} - 2 a b^{3} s^{2} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 2 a b^{3} s + 2 a b^{2} s^{3} + 2 b^{3} s^{2}} + \\frac{V_{1} a^{4} b s^{2}}{4 a^{6} s^{2} + 6 a^{5} b s + 6 a^{5} s^{3} + 2 a^{4} b^{2} s \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 4 a^{4} b^{2} + 2 a^{4} b s^{3} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 10 a^{4} b s^{2} + 4 a^{4} s^{4} + 2 a^{3} b^{2} s^{2} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 8 a^{3} b^{2} s + 8 a^{3} b s^{3} - 2 a^{2} b^{3} s \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 4 a^{2} b^{3} - 2 a^{2} b^{2} s^{3} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 8 a^{2} b^{2} s^{2} + 4 a^{2} b s^{4} - 2 a b^{3} s^{2} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 2 a b^{3} s + 2 a b^{2} s^{3} + 2 b^{3} s^{2}} + \\frac{2 V_{1} a^{4} s^{4}}{4 a^{6} s^{2} + 6 a^{5} b s + 6 a^{5} s^{3} + 2 a^{4} b^{2} s \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 4 a^{4} b^{2} + 2 a^{4} b s^{3} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 10 a^{4} b s^{2} + 4 a^{4} s^{4} + 2 a^{3} b^{2} s^{2} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 8 a^{3} b^{2} s + 8 a^{3} b s^{3} - 2 a^{2} b^{3} s \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 4 a^{2} b^{3} - 2 a^{2} b^{2} s^{3} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 8 a^{2} b^{2} s^{2} + 4 a^{2} b s^{4} - 2 a b^{3} s^{2} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 2 a b^{3} s + 2 a b^{2} s^{3} + 2 b^{3} s^{2}} + \\frac{3 V_{1} a^{3} b^{2} s^{2} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}}}{4 a^{6} s^{2} + 6 a^{5} b s + 6 a^{5} s^{3} + 2 a^{4} b^{2} s \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 4 a^{4} b^{2} + 2 a^{4} b s^{3} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 10 a^{4} b s^{2} + 4 a^{4} s^{4} + 2 a^{3} b^{2} s^{2} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 8 a^{3} b^{2} s + 8 a^{3} b s^{3} - 2 a^{2} b^{3} s \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 4 a^{2} b^{3} - 2 a^{2} b^{2} s^{3} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 8 a^{2} b^{2} s^{2} + 4 a^{2} b s^{4} - 2 a b^{3} s^{2} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 2 a b^{3} s + 2 a b^{2} s^{3} + 2 b^{3} s^{2}} + \\frac{2 V_{1} a^{2} b^{3}}{4 a^{6} s^{2} + 6 a^{5} b s + 6 a^{5} s^{3} + 2 a^{4} b^{2} s \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 4 a^{4} b^{2} + 2 a^{4} b s^{3} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 10 a^{4} b s^{2} + 4 a^{4} s^{4} + 2 a^{3} b^{2} s^{2} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 8 a^{3} b^{2} s + 8 a^{3} b s^{3} - 2 a^{2} b^{3} s \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 4 a^{2} b^{3} - 2 a^{2} b^{2} s^{3} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 8 a^{2} b^{2} s^{2} + 4 a^{2} b s^{4} - 2 a b^{3} s^{2} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 2 a b^{3} s + 2 a b^{2} s^{3} + 2 b^{3} s^{2}} + \\frac{2 V_{1} a^{2} b^{2} s^{2}}{4 a^{6} s^{2} + 6 a^{5} b s + 6 a^{5} s^{3} + 2 a^{4} b^{2} s \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 4 a^{4} b^{2} + 2 a^{4} b s^{3} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 10 a^{4} b s^{2} + 4 a^{4} s^{4} + 2 a^{3} b^{2} s^{2} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 8 a^{3} b^{2} s + 8 a^{3} b s^{3} - 2 a^{2} b^{3} s \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 4 a^{2} b^{3} - 2 a^{2} b^{2} s^{3} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 8 a^{2} b^{2} s^{2} + 4 a^{2} b s^{4} - 2 a b^{3} s^{2} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 2 a b^{3} s + 2 a b^{2} s^{3} + 2 b^{3} s^{2}} + \\frac{2 V_{1} a^{2} b s^{4}}{4 a^{6} s^{2} + 6 a^{5} b s + 6 a^{5} s^{3} + 2 a^{4} b^{2} s \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 4 a^{4} b^{2} + 2 a^{4} b s^{3} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 10 a^{4} b s^{2} + 4 a^{4} s^{4} + 2 a^{3} b^{2} s^{2} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 8 a^{3} b^{2} s + 8 a^{3} b s^{3} - 2 a^{2} b^{3} s \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 4 a^{2} b^{3} - 2 a^{2} b^{2} s^{3} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 8 a^{2} b^{2} s^{2} + 4 a^{2} b s^{4} - 2 a b^{3} s^{2} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 2 a b^{3} s + 2 a b^{2} s^{3} + 2 b^{3} s^{2}} - \\frac{V_{1} a b^{3} s^{2} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}}}{4 a^{6} s^{2} + 6 a^{5} b s + 6 a^{5} s^{3} + 2 a^{4} b^{2} s \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 4 a^{4} b^{2} + 2 a^{4} b s^{3} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 10 a^{4} b s^{2} + 4 a^{4} s^{4} + 2 a^{3} b^{2} s^{2} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 8 a^{3} b^{2} s + 8 a^{3} b s^{3} - 2 a^{2} b^{3} s \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 4 a^{2} b^{3} - 2 a^{2} b^{2} s^{3} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 8 a^{2} b^{2} s^{2} + 4 a^{2} b s^{4} - 2 a b^{3} s^{2} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 2 a b^{3} s + 2 a b^{2} s^{3} + 2 b^{3} s^{2}} + \\frac{V_{1} b^{3} s^{2}}{4 a^{6} s^{2} + 6 a^{5} b s + 6 a^{5} s^{3} + 2 a^{4} b^{2} s \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 4 a^{4} b^{2} + 2 a^{4} b s^{3} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 10 a^{4} b s^{2} + 4 a^{4} s^{4} + 2 a^{3} b^{2} s^{2} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 8 a^{3} b^{2} s + 8 a^{3} b s^{3} - 2 a^{2} b^{3} s \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 4 a^{2} b^{3} - 2 a^{2} b^{2} s^{3} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 8 a^{2} b^{2} s^{2} + 4 a^{2} b s^{4} - 2 a b^{3} s^{2} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 2 a b^{3} s + 2 a b^{2} s^{3} + 2 b^{3} s^{2}}}{\\frac{2 V_{1} a^{6} s^{2}}{4 a^{6} s^{2} + 6 a^{5} b s + 6 a^{5} s^{3} + 2 a^{4} b^{2} s \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 4 a^{4} b^{2} + 2 a^{4} b s^{3} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 10 a^{4} b s^{2} + 4 a^{4} s^{4} + 2 a^{3} b^{2} s^{2} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 8 a^{3} b^{2} s + 8 a^{3} b s^{3} - 2 a^{2} b^{3} s \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 4 a^{2} b^{3} - 2 a^{2} b^{2} s^{3} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 8 a^{2} b^{2} s^{2} + 4 a^{2} b s^{4} - 2 a b^{3} s^{2} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 2 a b^{3} s + 2 a b^{2} s^{3} + 2 b^{3} s^{2}} + \\frac{2 V_{1} a^{5} b s}{4 a^{6} s^{2} + 6 a^{5} b s + 6 a^{5} s^{3} + 2 a^{4} b^{2} s \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 4 a^{4} b^{2} + 2 a^{4} b s^{3} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 10 a^{4} b s^{2} + 4 a^{4} s^{4} + 2 a^{3} b^{2} s^{2} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 8 a^{3} b^{2} s + 8 a^{3} b s^{3} - 2 a^{2} b^{3} s \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 4 a^{2} b^{3} - 2 a^{2} b^{2} s^{3} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 8 a^{2} b^{2} s^{2} + 4 a^{2} b s^{4} - 2 a b^{3} s^{2} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 2 a b^{3} s + 2 a b^{2} s^{3} + 2 b^{3} s^{2}} + \\frac{4 V_{1} a^{5} s^{3}}{4 a^{6} s^{2} + 6 a^{5} b s + 6 a^{5} s^{3} + 2 a^{4} b^{2} s \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 4 a^{4} b^{2} + 2 a^{4} b s^{3} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 10 a^{4} b s^{2} + 4 a^{4} s^{4} + 2 a^{3} b^{2} s^{2} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 8 a^{3} b^{2} s + 8 a^{3} b s^{3} - 2 a^{2} b^{3} s \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 4 a^{2} b^{3} - 2 a^{2} b^{2} s^{3} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 8 a^{2} b^{2} s^{2} + 4 a^{2} b s^{4} - 2 a b^{3} s^{2} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 2 a b^{3} s + 2 a b^{2} s^{3} + 2 b^{3} s^{2}} + \\frac{2 V_{1} a^{4} b^{2} s \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}}}{4 a^{6} s^{2} + 6 a^{5} b s + 6 a^{5} s^{3} + 2 a^{4} b^{2} s \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 4 a^{4} b^{2} + 2 a^{4} b s^{3} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 10 a^{4} b s^{2} + 4 a^{4} s^{4} + 2 a^{3} b^{2} s^{2} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 8 a^{3} b^{2} s + 8 a^{3} b s^{3} - 2 a^{2} b^{3} s \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 4 a^{2} b^{3} - 2 a^{2} b^{2} s^{3} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 8 a^{2} b^{2} s^{2} + 4 a^{2} b s^{4} - 2 a b^{3} s^{2} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 2 a b^{3} s + 2 a b^{2} s^{3} + 2 b^{3} s^{2}} + \\frac{2 V_{1} a^{4} b^{2}}{4 a^{6} s^{2} + 6 a^{5} b s + 6 a^{5} s^{3} + 2 a^{4} b^{2} s \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 4 a^{4} b^{2} + 2 a^{4} b s^{3} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 10 a^{4} b s^{2} + 4 a^{4} s^{4} + 2 a^{3} b^{2} s^{2} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 8 a^{3} b^{2} s + 8 a^{3} b s^{3} - 2 a^{2} b^{3} s \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 4 a^{2} b^{3} - 2 a^{2} b^{2} s^{3} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 8 a^{2} b^{2} s^{2} + 4 a^{2} b s^{4} - 2 a b^{3} s^{2} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 2 a b^{3} s + 2 a b^{2} s^{3} + 2 b^{3} s^{2}} + \\frac{5 V_{1} a^{4} b s^{2}}{4 a^{6} s^{2} + 6 a^{5} b s + 6 a^{5} s^{3} + 2 a^{4} b^{2} s \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 4 a^{4} b^{2} + 2 a^{4} b s^{3} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 10 a^{4} b s^{2} + 4 a^{4} s^{4} + 2 a^{3} b^{2} s^{2} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 8 a^{3} b^{2} s + 8 a^{3} b s^{3} - 2 a^{2} b^{3} s \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 4 a^{2} b^{3} - 2 a^{2} b^{2} s^{3} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 8 a^{2} b^{2} s^{2} + 4 a^{2} b s^{4} - 2 a b^{3} s^{2} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 2 a b^{3} s + 2 a b^{2} s^{3} + 2 b^{3} s^{2}} + \\frac{2 V_{1} a^{4} s^{4}}{4 a^{6} s^{2} + 6 a^{5} b s + 6 a^{5} s^{3} + 2 a^{4} b^{2} s \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 4 a^{4} b^{2} + 2 a^{4} b s^{3} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 10 a^{4} b s^{2} + 4 a^{4} s^{4} + 2 a^{3} b^{2} s^{2} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 8 a^{3} b^{2} s + 8 a^{3} b s^{3} - 2 a^{2} b^{3} s \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 4 a^{2} b^{3} - 2 a^{2} b^{2} s^{3} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 8 a^{2} b^{2} s^{2} + 4 a^{2} b s^{4} - 2 a b^{3} s^{2} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 2 a b^{3} s + 2 a b^{2} s^{3} + 2 b^{3} s^{2}} + \\frac{V_{1} a^{3} b^{2} s^{2} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}}}{4 a^{6} s^{2} + 6 a^{5} b s + 6 a^{5} s^{3} + 2 a^{4} b^{2} s \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 4 a^{4} b^{2} + 2 a^{4} b s^{3} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 10 a^{4} b s^{2} + 4 a^{4} s^{4} + 2 a^{3} b^{2} s^{2} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 8 a^{3} b^{2} s + 8 a^{3} b s^{3} - 2 a^{2} b^{3} s \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 4 a^{2} b^{3} - 2 a^{2} b^{2} s^{3} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 8 a^{2} b^{2} s^{2} + 4 a^{2} b s^{4} - 2 a b^{3} s^{2} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 2 a b^{3} s + 2 a b^{2} s^{3} + 2 b^{3} s^{2}} + \\frac{4 V_{1} a^{3} b^{2} s}{4 a^{6} s^{2} + 6 a^{5} b s + 6 a^{5} s^{3} + 2 a^{4} b^{2} s \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 4 a^{4} b^{2} + 2 a^{4} b s^{3} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 10 a^{4} b s^{2} + 4 a^{4} s^{4} + 2 a^{3} b^{2} s^{2} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 8 a^{3} b^{2} s + 8 a^{3} b s^{3} - 2 a^{2} b^{3} s \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 4 a^{2} b^{3} - 2 a^{2} b^{2} s^{3} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 8 a^{2} b^{2} s^{2} + 4 a^{2} b s^{4} - 2 a b^{3} s^{2} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 2 a b^{3} s + 2 a b^{2} s^{3} + 2 b^{3} s^{2}} + \\frac{4 V_{1} a^{3} b s^{3}}{4 a^{6} s^{2} + 6 a^{5} b s + 6 a^{5} s^{3} + 2 a^{4} b^{2} s \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 4 a^{4} b^{2} + 2 a^{4} b s^{3} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 10 a^{4} b s^{2} + 4 a^{4} s^{4} + 2 a^{3} b^{2} s^{2} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 8 a^{3} b^{2} s + 8 a^{3} b s^{3} - 2 a^{2} b^{3} s \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 4 a^{2} b^{3} - 2 a^{2} b^{2} s^{3} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 8 a^{2} b^{2} s^{2} + 4 a^{2} b s^{4} - 2 a b^{3} s^{2} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 2 a b^{3} s + 2 a b^{2} s^{3} + 2 b^{3} s^{2}} - \\frac{2 V_{1} a^{2} b^{3} s \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}}}{4 a^{6} s^{2} + 6 a^{5} b s + 6 a^{5} s^{3} + 2 a^{4} b^{2} s \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 4 a^{4} b^{2} + 2 a^{4} b s^{3} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 10 a^{4} b s^{2} + 4 a^{4} s^{4} + 2 a^{3} b^{2} s^{2} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 8 a^{3} b^{2} s + 8 a^{3} b s^{3} - 2 a^{2} b^{3} s \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 4 a^{2} b^{3} - 2 a^{2} b^{2} s^{3} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 8 a^{2} b^{2} s^{2} + 4 a^{2} b s^{4} - 2 a b^{3} s^{2} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 2 a b^{3} s + 2 a b^{2} s^{3} + 2 b^{3} s^{2}} + \\frac{2 V_{1} a^{2} b^{3}}{4 a^{6} s^{2} + 6 a^{5} b s + 6 a^{5} s^{3} + 2 a^{4} b^{2} s \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 4 a^{4} b^{2} + 2 a^{4} b s^{3} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 10 a^{4} b s^{2} + 4 a^{4} s^{4} + 2 a^{3} b^{2} s^{2} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 8 a^{3} b^{2} s + 8 a^{3} b s^{3} - 2 a^{2} b^{3} s \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 4 a^{2} b^{3} - 2 a^{2} b^{2} s^{3} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 8 a^{2} b^{2} s^{2} + 4 a^{2} b s^{4} - 2 a b^{3} s^{2} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 2 a b^{3} s + 2 a b^{2} s^{3} + 2 b^{3} s^{2}} + \\frac{4 V_{1} a^{2} b^{2} s^{2}}{4 a^{6} s^{2} + 6 a^{5} b s + 6 a^{5} s^{3} + 2 a^{4} b^{2} s \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 4 a^{4} b^{2} + 2 a^{4} b s^{3} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 10 a^{4} b s^{2} + 4 a^{4} s^{4} + 2 a^{3} b^{2} s^{2} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 8 a^{3} b^{2} s + 8 a^{3} b s^{3} - 2 a^{2} b^{3} s \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 4 a^{2} b^{3} - 2 a^{2} b^{2} s^{3} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 8 a^{2} b^{2} s^{2} + 4 a^{2} b s^{4} - 2 a b^{3} s^{2} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 2 a b^{3} s + 2 a b^{2} s^{3} + 2 b^{3} s^{2}} + \\frac{2 V_{1} a^{2} b s^{4}}{4 a^{6} s^{2} + 6 a^{5} b s + 6 a^{5} s^{3} + 2 a^{4} b^{2} s \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 4 a^{4} b^{2} + 2 a^{4} b s^{3} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 10 a^{4} b s^{2} + 4 a^{4} s^{4} + 2 a^{3} b^{2} s^{2} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 8 a^{3} b^{2} s + 8 a^{3} b s^{3} - 2 a^{2} b^{3} s \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 4 a^{2} b^{3} - 2 a^{2} b^{2} s^{3} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 8 a^{2} b^{2} s^{2} + 4 a^{2} b s^{4} - 2 a b^{3} s^{2} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 2 a b^{3} s + 2 a b^{2} s^{3} + 2 b^{3} s^{2}} - \\frac{V_{1} a b^{3} s^{2} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}}}{4 a^{6} s^{2} + 6 a^{5} b s + 6 a^{5} s^{3} + 2 a^{4} b^{2} s \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 4 a^{4} b^{2} + 2 a^{4} b s^{3} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 10 a^{4} b s^{2} + 4 a^{4} s^{4} + 2 a^{3} b^{2} s^{2} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 8 a^{3} b^{2} s + 8 a^{3} b s^{3} - 2 a^{2} b^{3} s \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 4 a^{2} b^{3} - 2 a^{2} b^{2} s^{3} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 8 a^{2} b^{2} s^{2} + 4 a^{2} b s^{4} - 2 a b^{3} s^{2} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 2 a b^{3} s + 2 a b^{2} s^{3} + 2 b^{3} s^{2}} + \\frac{2 V_{1} a b^{3} s}{4 a^{6} s^{2} + 6 a^{5} b s + 6 a^{5} s^{3} + 2 a^{4} b^{2} s \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 4 a^{4} b^{2} + 2 a^{4} b s^{3} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 10 a^{4} b s^{2} + 4 a^{4} s^{4} + 2 a^{3} b^{2} s^{2} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 8 a^{3} b^{2} s + 8 a^{3} b s^{3} - 2 a^{2} b^{3} s \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 4 a^{2} b^{3} - 2 a^{2} b^{2} s^{3} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 8 a^{2} b^{2} s^{2} + 4 a^{2} b s^{4} - 2 a b^{3} s^{2} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 2 a b^{3} s + 2 a b^{2} s^{3} + 2 b^{3} s^{2}} + \\frac{V_{1} b^{3} s^{2}}{4 a^{6} s^{2} + 6 a^{5} b s + 6 a^{5} s^{3} + 2 a^{4} b^{2} s \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 4 a^{4} b^{2} + 2 a^{4} b s^{3} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 10 a^{4} b s^{2} + 4 a^{4} s^{4} + 2 a^{3} b^{2} s^{2} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 8 a^{3} b^{2} s + 8 a^{3} b s^{3} - 2 a^{2} b^{3} s \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 4 a^{2} b^{3} - 2 a^{2} b^{2} s^{3} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 8 a^{2} b^{2} s^{2} + 4 a^{2} b s^{4} - 2 a b^{3} s^{2} \\sqrt{\\frac{a^{2}}{b^{2}} + \\frac{2}{b} + \\frac{1}{a^{2}}} + 2 a b^{3} s + 2 a b^{2} s^{3} + 2 b^{3} s^{2}}}$" ], "text/plain": [ "(-2*V1*a**5*b*s**2*sqrt(a**2/b**2 + 2/b + a**(-2))/(4*a**6*s**2 + 6*a**5*b*s + 6*a**5*s**3 + 2*a**4*b**2*s*sqrt(a**2/b**2 + 2/b + a**(-2)) + 4*a**4*b**2 + 2*a**4*b*s**3*sqrt(a**2/b**2 + 2/b + a**(-2)) + 10*a**4*b*s**2 + 4*a**4*s**4 + 2*a**3*b**2*s**2*sqrt(a**2/b**2 + 2/b + a**(-2)) + 8*a**3*b**2*s + 8*a**3*b*s**3 - 2*a**2*b**3*s*sqrt(a**2/b**2 + 2/b + a**(-2)) + 4*a**2*b**3 - 2*a**2*b**2*s**3*sqrt(a**2/b**2 + 2/b + a**(-2)) + 8*a**2*b**2*s**2 + 4*a**2*b*s**4 - 2*a*b**3*s**2*sqrt(a**2/b**2 + 2/b + a**(-2)) + 2*a*b**3*s + 2*a*b**2*s**3 + 2*b**3*s**2) + 2*V1*a**4*b**2/(4*a**6*s**2 + 6*a**5*b*s + 6*a**5*s**3 + 2*a**4*b**2*s*sqrt(a**2/b**2 + 2/b + a**(-2)) + 4*a**4*b**2 + 2*a**4*b*s**3*sqrt(a**2/b**2 + 2/b + a**(-2)) + 10*a**4*b*s**2 + 4*a**4*s**4 + 2*a**3*b**2*s**2*sqrt(a**2/b**2 + 2/b + a**(-2)) + 8*a**3*b**2*s + 8*a**3*b*s**3 - 2*a**2*b**3*s*sqrt(a**2/b**2 + 2/b + a**(-2)) + 4*a**2*b**3 - 2*a**2*b**2*s**3*sqrt(a**2/b**2 + 2/b + a**(-2)) + 8*a**2*b**2*s**2 + 4*a**2*b*s**4 - 2*a*b**3*s**2*sqrt(a**2/b**2 + 2/b + a**(-2)) + 2*a*b**3*s + 2*a*b**2*s**3 + 2*b**3*s**2) + V1*a**4*b*s**2/(4*a**6*s**2 + 6*a**5*b*s + 6*a**5*s**3 + 2*a**4*b**2*s*sqrt(a**2/b**2 + 2/b + a**(-2)) + 4*a**4*b**2 + 2*a**4*b*s**3*sqrt(a**2/b**2 + 2/b + a**(-2)) + 10*a**4*b*s**2 + 4*a**4*s**4 + 2*a**3*b**2*s**2*sqrt(a**2/b**2 + 2/b + a**(-2)) + 8*a**3*b**2*s + 8*a**3*b*s**3 - 2*a**2*b**3*s*sqrt(a**2/b**2 + 2/b + a**(-2)) + 4*a**2*b**3 - 2*a**2*b**2*s**3*sqrt(a**2/b**2 + 2/b + a**(-2)) + 8*a**2*b**2*s**2 + 4*a**2*b*s**4 - 2*a*b**3*s**2*sqrt(a**2/b**2 + 2/b + a**(-2)) + 2*a*b**3*s + 2*a*b**2*s**3 + 2*b**3*s**2) + 2*V1*a**4*s**4/(4*a**6*s**2 + 6*a**5*b*s + 6*a**5*s**3 + 2*a**4*b**2*s*sqrt(a**2/b**2 + 2/b + a**(-2)) + 4*a**4*b**2 + 2*a**4*b*s**3*sqrt(a**2/b**2 + 2/b + a**(-2)) + 10*a**4*b*s**2 + 4*a**4*s**4 + 2*a**3*b**2*s**2*sqrt(a**2/b**2 + 2/b + a**(-2)) + 8*a**3*b**2*s + 8*a**3*b*s**3 - 2*a**2*b**3*s*sqrt(a**2/b**2 + 2/b + a**(-2)) + 4*a**2*b**3 - 2*a**2*b**2*s**3*sqrt(a**2/b**2 + 2/b + a**(-2)) + 8*a**2*b**2*s**2 + 4*a**2*b*s**4 - 2*a*b**3*s**2*sqrt(a**2/b**2 + 2/b + a**(-2)) + 2*a*b**3*s + 2*a*b**2*s**3 + 2*b**3*s**2) + 3*V1*a**3*b**2*s**2*sqrt(a**2/b**2 + 2/b + a**(-2))/(4*a**6*s**2 + 6*a**5*b*s + 6*a**5*s**3 + 2*a**4*b**2*s*sqrt(a**2/b**2 + 2/b + a**(-2)) + 4*a**4*b**2 + 2*a**4*b*s**3*sqrt(a**2/b**2 + 2/b + a**(-2)) + 10*a**4*b*s**2 + 4*a**4*s**4 + 2*a**3*b**2*s**2*sqrt(a**2/b**2 + 2/b + a**(-2)) + 8*a**3*b**2*s + 8*a**3*b*s**3 - 2*a**2*b**3*s*sqrt(a**2/b**2 + 2/b + a**(-2)) + 4*a**2*b**3 - 2*a**2*b**2*s**3*sqrt(a**2/b**2 + 2/b + a**(-2)) + 8*a**2*b**2*s**2 + 4*a**2*b*s**4 - 2*a*b**3*s**2*sqrt(a**2/b**2 + 2/b + a**(-2)) + 2*a*b**3*s + 2*a*b**2*s**3 + 2*b**3*s**2) + 2*V1*a**2*b**3/(4*a**6*s**2 + 6*a**5*b*s + 6*a**5*s**3 + 2*a**4*b**2*s*sqrt(a**2/b**2 + 2/b + a**(-2)) + 4*a**4*b**2 + 2*a**4*b*s**3*sqrt(a**2/b**2 + 2/b + a**(-2)) + 10*a**4*b*s**2 + 4*a**4*s**4 + 2*a**3*b**2*s**2*sqrt(a**2/b**2 + 2/b + a**(-2)) + 8*a**3*b**2*s + 8*a**3*b*s**3 - 2*a**2*b**3*s*sqrt(a**2/b**2 + 2/b + a**(-2)) + 4*a**2*b**3 - 2*a**2*b**2*s**3*sqrt(a**2/b**2 + 2/b + a**(-2)) + 8*a**2*b**2*s**2 + 4*a**2*b*s**4 - 2*a*b**3*s**2*sqrt(a**2/b**2 + 2/b + a**(-2)) + 2*a*b**3*s + 2*a*b**2*s**3 + 2*b**3*s**2) + 2*V1*a**2*b**2*s**2/(4*a**6*s**2 + 6*a**5*b*s + 6*a**5*s**3 + 2*a**4*b**2*s*sqrt(a**2/b**2 + 2/b + a**(-2)) + 4*a**4*b**2 + 2*a**4*b*s**3*sqrt(a**2/b**2 + 2/b + a**(-2)) + 10*a**4*b*s**2 + 4*a**4*s**4 + 2*a**3*b**2*s**2*sqrt(a**2/b**2 + 2/b + a**(-2)) + 8*a**3*b**2*s + 8*a**3*b*s**3 - 2*a**2*b**3*s*sqrt(a**2/b**2 + 2/b + a**(-2)) + 4*a**2*b**3 - 2*a**2*b**2*s**3*sqrt(a**2/b**2 + 2/b + a**(-2)) + 8*a**2*b**2*s**2 + 4*a**2*b*s**4 - 2*a*b**3*s**2*sqrt(a**2/b**2 + 2/b + a**(-2)) + 2*a*b**3*s + 2*a*b**2*s**3 + 2*b**3*s**2) + 2*V1*a**2*b*s**4/(4*a**6*s**2 + 6*a**5*b*s + 6*a**5*s**3 + 2*a**4*b**2*s*sqrt(a**2/b**2 + 2/b + a**(-2)) + 4*a**4*b**2 + 2*a**4*b*s**3*sqrt(a**2/b**2 + 2/b + a**(-2)) + 10*a**4*b*s**2 + 4*a**4*s**4 + 2*a**3*b**2*s**2*sqrt(a**2/b**2 + 2/b + a**(-2)) + 8*a**3*b**2*s + 8*a**3*b*s**3 - 2*a**2*b**3*s*sqrt(a**2/b**2 + 2/b + a**(-2)) + 4*a**2*b**3 - 2*a**2*b**2*s**3*sqrt(a**2/b**2 + 2/b + a**(-2)) + 8*a**2*b**2*s**2 + 4*a**2*b*s**4 - 2*a*b**3*s**2*sqrt(a**2/b**2 + 2/b + a**(-2)) + 2*a*b**3*s + 2*a*b**2*s**3 + 2*b**3*s**2) - V1*a*b**3*s**2*sqrt(a**2/b**2 + 2/b + a**(-2))/(4*a**6*s**2 + 6*a**5*b*s + 6*a**5*s**3 + 2*a**4*b**2*s*sqrt(a**2/b**2 + 2/b + a**(-2)) + 4*a**4*b**2 + 2*a**4*b*s**3*sqrt(a**2/b**2 + 2/b + a**(-2)) + 10*a**4*b*s**2 + 4*a**4*s**4 + 2*a**3*b**2*s**2*sqrt(a**2/b**2 + 2/b + a**(-2)) + 8*a**3*b**2*s + 8*a**3*b*s**3 - 2*a**2*b**3*s*sqrt(a**2/b**2 + 2/b + a**(-2)) + 4*a**2*b**3 - 2*a**2*b**2*s**3*sqrt(a**2/b**2 + 2/b + a**(-2)) + 8*a**2*b**2*s**2 + 4*a**2*b*s**4 - 2*a*b**3*s**2*sqrt(a**2/b**2 + 2/b + a**(-2)) + 2*a*b**3*s + 2*a*b**2*s**3 + 2*b**3*s**2) + V1*b**3*s**2/(4*a**6*s**2 + 6*a**5*b*s + 6*a**5*s**3 + 2*a**4*b**2*s*sqrt(a**2/b**2 + 2/b + a**(-2)) + 4*a**4*b**2 + 2*a**4*b*s**3*sqrt(a**2/b**2 + 2/b + a**(-2)) + 10*a**4*b*s**2 + 4*a**4*s**4 + 2*a**3*b**2*s**2*sqrt(a**2/b**2 + 2/b + a**(-2)) + 8*a**3*b**2*s + 8*a**3*b*s**3 - 2*a**2*b**3*s*sqrt(a**2/b**2 + 2/b + a**(-2)) + 4*a**2*b**3 - 2*a**2*b**2*s**3*sqrt(a**2/b**2 + 2/b + a**(-2)) + 8*a**2*b**2*s**2 + 4*a**2*b*s**4 - 2*a*b**3*s**2*sqrt(a**2/b**2 + 2/b + a**(-2)) + 2*a*b**3*s + 2*a*b**2*s**3 + 2*b**3*s**2))/(2*V1*a**6*s**2/(4*a**6*s**2 + 6*a**5*b*s + 6*a**5*s**3 + 2*a**4*b**2*s*sqrt(a**2/b**2 + 2/b + a**(-2)) + 4*a**4*b**2 + 2*a**4*b*s**3*sqrt(a**2/b**2 + 2/b + a**(-2)) + 10*a**4*b*s**2 + 4*a**4*s**4 + 2*a**3*b**2*s**2*sqrt(a**2/b**2 + 2/b + a**(-2)) + 8*a**3*b**2*s + 8*a**3*b*s**3 - 2*a**2*b**3*s*sqrt(a**2/b**2 + 2/b + a**(-2)) + 4*a**2*b**3 - 2*a**2*b**2*s**3*sqrt(a**2/b**2 + 2/b + a**(-2)) + 8*a**2*b**2*s**2 + 4*a**2*b*s**4 - 2*a*b**3*s**2*sqrt(a**2/b**2 + 2/b + a**(-2)) + 2*a*b**3*s + 2*a*b**2*s**3 + 2*b**3*s**2) + 2*V1*a**5*b*s/(4*a**6*s**2 + 6*a**5*b*s + 6*a**5*s**3 + 2*a**4*b**2*s*sqrt(a**2/b**2 + 2/b + a**(-2)) + 4*a**4*b**2 + 2*a**4*b*s**3*sqrt(a**2/b**2 + 2/b + a**(-2)) + 10*a**4*b*s**2 + 4*a**4*s**4 + 2*a**3*b**2*s**2*sqrt(a**2/b**2 + 2/b + a**(-2)) + 8*a**3*b**2*s + 8*a**3*b*s**3 - 2*a**2*b**3*s*sqrt(a**2/b**2 + 2/b + a**(-2)) + 4*a**2*b**3 - 2*a**2*b**2*s**3*sqrt(a**2/b**2 + 2/b + a**(-2)) + 8*a**2*b**2*s**2 + 4*a**2*b*s**4 - 2*a*b**3*s**2*sqrt(a**2/b**2 + 2/b + a**(-2)) + 2*a*b**3*s + 2*a*b**2*s**3 + 2*b**3*s**2) + 4*V1*a**5*s**3/(4*a**6*s**2 + 6*a**5*b*s + 6*a**5*s**3 + 2*a**4*b**2*s*sqrt(a**2/b**2 + 2/b + a**(-2)) + 4*a**4*b**2 + 2*a**4*b*s**3*sqrt(a**2/b**2 + 2/b + a**(-2)) + 10*a**4*b*s**2 + 4*a**4*s**4 + 2*a**3*b**2*s**2*sqrt(a**2/b**2 + 2/b + a**(-2)) + 8*a**3*b**2*s + 8*a**3*b*s**3 - 2*a**2*b**3*s*sqrt(a**2/b**2 + 2/b + a**(-2)) + 4*a**2*b**3 - 2*a**2*b**2*s**3*sqrt(a**2/b**2 + 2/b + a**(-2)) + 8*a**2*b**2*s**2 + 4*a**2*b*s**4 - 2*a*b**3*s**2*sqrt(a**2/b**2 + 2/b + a**(-2)) + 2*a*b**3*s + 2*a*b**2*s**3 + 2*b**3*s**2) + 2*V1*a**4*b**2*s*sqrt(a**2/b**2 + 2/b + a**(-2))/(4*a**6*s**2 + 6*a**5*b*s + 6*a**5*s**3 + 2*a**4*b**2*s*sqrt(a**2/b**2 + 2/b + a**(-2)) + 4*a**4*b**2 + 2*a**4*b*s**3*sqrt(a**2/b**2 + 2/b + a**(-2)) + 10*a**4*b*s**2 + 4*a**4*s**4 + 2*a**3*b**2*s**2*sqrt(a**2/b**2 + 2/b + a**(-2)) + 8*a**3*b**2*s + 8*a**3*b*s**3 - 2*a**2*b**3*s*sqrt(a**2/b**2 + 2/b + a**(-2)) + 4*a**2*b**3 - 2*a**2*b**2*s**3*sqrt(a**2/b**2 + 2/b + a**(-2)) + 8*a**2*b**2*s**2 + 4*a**2*b*s**4 - 2*a*b**3*s**2*sqrt(a**2/b**2 + 2/b + a**(-2)) + 2*a*b**3*s + 2*a*b**2*s**3 + 2*b**3*s**2) + 2*V1*a**4*b**2/(4*a**6*s**2 + 6*a**5*b*s + 6*a**5*s**3 + 2*a**4*b**2*s*sqrt(a**2/b**2 + 2/b + a**(-2)) + 4*a**4*b**2 + 2*a**4*b*s**3*sqrt(a**2/b**2 + 2/b + a**(-2)) + 10*a**4*b*s**2 + 4*a**4*s**4 + 2*a**3*b**2*s**2*sqrt(a**2/b**2 + 2/b + a**(-2)) + 8*a**3*b**2*s + 8*a**3*b*s**3 - 2*a**2*b**3*s*sqrt(a**2/b**2 + 2/b + a**(-2)) + 4*a**2*b**3 - 2*a**2*b**2*s**3*sqrt(a**2/b**2 + 2/b + a**(-2)) + 8*a**2*b**2*s**2 + 4*a**2*b*s**4 - 2*a*b**3*s**2*sqrt(a**2/b**2 + 2/b + a**(-2)) + 2*a*b**3*s + 2*a*b**2*s**3 + 2*b**3*s**2) + 5*V1*a**4*b*s**2/(4*a**6*s**2 + 6*a**5*b*s + 6*a**5*s**3 + 2*a**4*b**2*s*sqrt(a**2/b**2 + 2/b + a**(-2)) + 4*a**4*b**2 + 2*a**4*b*s**3*sqrt(a**2/b**2 + 2/b + a**(-2)) + 10*a**4*b*s**2 + 4*a**4*s**4 + 2*a**3*b**2*s**2*sqrt(a**2/b**2 + 2/b + a**(-2)) + 8*a**3*b**2*s + 8*a**3*b*s**3 - 2*a**2*b**3*s*sqrt(a**2/b**2 + 2/b + a**(-2)) + 4*a**2*b**3 - 2*a**2*b**2*s**3*sqrt(a**2/b**2 + 2/b + a**(-2)) + 8*a**2*b**2*s**2 + 4*a**2*b*s**4 - 2*a*b**3*s**2*sqrt(a**2/b**2 + 2/b + a**(-2)) + 2*a*b**3*s + 2*a*b**2*s**3 + 2*b**3*s**2) + 2*V1*a**4*s**4/(4*a**6*s**2 + 6*a**5*b*s + 6*a**5*s**3 + 2*a**4*b**2*s*sqrt(a**2/b**2 + 2/b + a**(-2)) + 4*a**4*b**2 + 2*a**4*b*s**3*sqrt(a**2/b**2 + 2/b + a**(-2)) + 10*a**4*b*s**2 + 4*a**4*s**4 + 2*a**3*b**2*s**2*sqrt(a**2/b**2 + 2/b + a**(-2)) + 8*a**3*b**2*s + 8*a**3*b*s**3 - 2*a**2*b**3*s*sqrt(a**2/b**2 + 2/b + a**(-2)) + 4*a**2*b**3 - 2*a**2*b**2*s**3*sqrt(a**2/b**2 + 2/b + a**(-2)) + 8*a**2*b**2*s**2 + 4*a**2*b*s**4 - 2*a*b**3*s**2*sqrt(a**2/b**2 + 2/b + a**(-2)) + 2*a*b**3*s + 2*a*b**2*s**3 + 2*b**3*s**2) + V1*a**3*b**2*s**2*sqrt(a**2/b**2 + 2/b + a**(-2))/(4*a**6*s**2 + 6*a**5*b*s + 6*a**5*s**3 + 2*a**4*b**2*s*sqrt(a**2/b**2 + 2/b + a**(-2)) + 4*a**4*b**2 + 2*a**4*b*s**3*sqrt(a**2/b**2 + 2/b + a**(-2)) + 10*a**4*b*s**2 + 4*a**4*s**4 + 2*a**3*b**2*s**2*sqrt(a**2/b**2 + 2/b + a**(-2)) + 8*a**3*b**2*s + 8*a**3*b*s**3 - 2*a**2*b**3*s*sqrt(a**2/b**2 + 2/b + a**(-2)) + 4*a**2*b**3 - 2*a**2*b**2*s**3*sqrt(a**2/b**2 + 2/b + a**(-2)) + 8*a**2*b**2*s**2 + 4*a**2*b*s**4 - 2*a*b**3*s**2*sqrt(a**2/b**2 + 2/b + a**(-2)) + 2*a*b**3*s + 2*a*b**2*s**3 + 2*b**3*s**2) + 4*V1*a**3*b**2*s/(4*a**6*s**2 + 6*a**5*b*s + 6*a**5*s**3 + 2*a**4*b**2*s*sqrt(a**2/b**2 + 2/b + a**(-2)) + 4*a**4*b**2 + 2*a**4*b*s**3*sqrt(a**2/b**2 + 2/b + a**(-2)) + 10*a**4*b*s**2 + 4*a**4*s**4 + 2*a**3*b**2*s**2*sqrt(a**2/b**2 + 2/b + a**(-2)) + 8*a**3*b**2*s + 8*a**3*b*s**3 - 2*a**2*b**3*s*sqrt(a**2/b**2 + 2/b + a**(-2)) + 4*a**2*b**3 - 2*a**2*b**2*s**3*sqrt(a**2/b**2 + 2/b + a**(-2)) + 8*a**2*b**2*s**2 + 4*a**2*b*s**4 - 2*a*b**3*s**2*sqrt(a**2/b**2 + 2/b + a**(-2)) + 2*a*b**3*s + 2*a*b**2*s**3 + 2*b**3*s**2) + 4*V1*a**3*b*s**3/(4*a**6*s**2 + 6*a**5*b*s + 6*a**5*s**3 + 2*a**4*b**2*s*sqrt(a**2/b**2 + 2/b + a**(-2)) + 4*a**4*b**2 + 2*a**4*b*s**3*sqrt(a**2/b**2 + 2/b + a**(-2)) + 10*a**4*b*s**2 + 4*a**4*s**4 + 2*a**3*b**2*s**2*sqrt(a**2/b**2 + 2/b + a**(-2)) + 8*a**3*b**2*s + 8*a**3*b*s**3 - 2*a**2*b**3*s*sqrt(a**2/b**2 + 2/b + a**(-2)) + 4*a**2*b**3 - 2*a**2*b**2*s**3*sqrt(a**2/b**2 + 2/b + a**(-2)) + 8*a**2*b**2*s**2 + 4*a**2*b*s**4 - 2*a*b**3*s**2*sqrt(a**2/b**2 + 2/b + a**(-2)) + 2*a*b**3*s + 2*a*b**2*s**3 + 2*b**3*s**2) - 2*V1*a**2*b**3*s*sqrt(a**2/b**2 + 2/b + a**(-2))/(4*a**6*s**2 + 6*a**5*b*s + 6*a**5*s**3 + 2*a**4*b**2*s*sqrt(a**2/b**2 + 2/b + a**(-2)) + 4*a**4*b**2 + 2*a**4*b*s**3*sqrt(a**2/b**2 + 2/b + a**(-2)) + 10*a**4*b*s**2 + 4*a**4*s**4 + 2*a**3*b**2*s**2*sqrt(a**2/b**2 + 2/b + a**(-2)) + 8*a**3*b**2*s + 8*a**3*b*s**3 - 2*a**2*b**3*s*sqrt(a**2/b**2 + 2/b + a**(-2)) + 4*a**2*b**3 - 2*a**2*b**2*s**3*sqrt(a**2/b**2 + 2/b + a**(-2)) + 8*a**2*b**2*s**2 + 4*a**2*b*s**4 - 2*a*b**3*s**2*sqrt(a**2/b**2 + 2/b + a**(-2)) + 2*a*b**3*s + 2*a*b**2*s**3 + 2*b**3*s**2) + 2*V1*a**2*b**3/(4*a**6*s**2 + 6*a**5*b*s + 6*a**5*s**3 + 2*a**4*b**2*s*sqrt(a**2/b**2 + 2/b + a**(-2)) + 4*a**4*b**2 + 2*a**4*b*s**3*sqrt(a**2/b**2 + 2/b + a**(-2)) + 10*a**4*b*s**2 + 4*a**4*s**4 + 2*a**3*b**2*s**2*sqrt(a**2/b**2 + 2/b + a**(-2)) + 8*a**3*b**2*s + 8*a**3*b*s**3 - 2*a**2*b**3*s*sqrt(a**2/b**2 + 2/b + a**(-2)) + 4*a**2*b**3 - 2*a**2*b**2*s**3*sqrt(a**2/b**2 + 2/b + a**(-2)) + 8*a**2*b**2*s**2 + 4*a**2*b*s**4 - 2*a*b**3*s**2*sqrt(a**2/b**2 + 2/b + a**(-2)) + 2*a*b**3*s + 2*a*b**2*s**3 + 2*b**3*s**2) + 4*V1*a**2*b**2*s**2/(4*a**6*s**2 + 6*a**5*b*s + 6*a**5*s**3 + 2*a**4*b**2*s*sqrt(a**2/b**2 + 2/b + a**(-2)) + 4*a**4*b**2 + 2*a**4*b*s**3*sqrt(a**2/b**2 + 2/b + a**(-2)) + 10*a**4*b*s**2 + 4*a**4*s**4 + 2*a**3*b**2*s**2*sqrt(a**2/b**2 + 2/b + a**(-2)) + 8*a**3*b**2*s + 8*a**3*b*s**3 - 2*a**2*b**3*s*sqrt(a**2/b**2 + 2/b + a**(-2)) + 4*a**2*b**3 - 2*a**2*b**2*s**3*sqrt(a**2/b**2 + 2/b + a**(-2)) + 8*a**2*b**2*s**2 + 4*a**2*b*s**4 - 2*a*b**3*s**2*sqrt(a**2/b**2 + 2/b + a**(-2)) + 2*a*b**3*s + 2*a*b**2*s**3 + 2*b**3*s**2) + 2*V1*a**2*b*s**4/(4*a**6*s**2 + 6*a**5*b*s + 6*a**5*s**3 + 2*a**4*b**2*s*sqrt(a**2/b**2 + 2/b + a**(-2)) + 4*a**4*b**2 + 2*a**4*b*s**3*sqrt(a**2/b**2 + 2/b + a**(-2)) + 10*a**4*b*s**2 + 4*a**4*s**4 + 2*a**3*b**2*s**2*sqrt(a**2/b**2 + 2/b + a**(-2)) + 8*a**3*b**2*s + 8*a**3*b*s**3 - 2*a**2*b**3*s*sqrt(a**2/b**2 + 2/b + a**(-2)) + 4*a**2*b**3 - 2*a**2*b**2*s**3*sqrt(a**2/b**2 + 2/b + a**(-2)) + 8*a**2*b**2*s**2 + 4*a**2*b*s**4 - 2*a*b**3*s**2*sqrt(a**2/b**2 + 2/b + a**(-2)) + 2*a*b**3*s + 2*a*b**2*s**3 + 2*b**3*s**2) - V1*a*b**3*s**2*sqrt(a**2/b**2 + 2/b + a**(-2))/(4*a**6*s**2 + 6*a**5*b*s + 6*a**5*s**3 + 2*a**4*b**2*s*sqrt(a**2/b**2 + 2/b + a**(-2)) + 4*a**4*b**2 + 2*a**4*b*s**3*sqrt(a**2/b**2 + 2/b + a**(-2)) + 10*a**4*b*s**2 + 4*a**4*s**4 + 2*a**3*b**2*s**2*sqrt(a**2/b**2 + 2/b + a**(-2)) + 8*a**3*b**2*s + 8*a**3*b*s**3 - 2*a**2*b**3*s*sqrt(a**2/b**2 + 2/b + a**(-2)) + 4*a**2*b**3 - 2*a**2*b**2*s**3*sqrt(a**2/b**2 + 2/b + a**(-2)) + 8*a**2*b**2*s**2 + 4*a**2*b*s**4 - 2*a*b**3*s**2*sqrt(a**2/b**2 + 2/b + a**(-2)) + 2*a*b**3*s + 2*a*b**2*s**3 + 2*b**3*s**2) + 2*V1*a*b**3*s/(4*a**6*s**2 + 6*a**5*b*s + 6*a**5*s**3 + 2*a**4*b**2*s*sqrt(a**2/b**2 + 2/b + a**(-2)) + 4*a**4*b**2 + 2*a**4*b*s**3*sqrt(a**2/b**2 + 2/b + a**(-2)) + 10*a**4*b*s**2 + 4*a**4*s**4 + 2*a**3*b**2*s**2*sqrt(a**2/b**2 + 2/b + a**(-2)) + 8*a**3*b**2*s + 8*a**3*b*s**3 - 2*a**2*b**3*s*sqrt(a**2/b**2 + 2/b + a**(-2)) + 4*a**2*b**3 - 2*a**2*b**2*s**3*sqrt(a**2/b**2 + 2/b + a**(-2)) + 8*a**2*b**2*s**2 + 4*a**2*b*s**4 - 2*a*b**3*s**2*sqrt(a**2/b**2 + 2/b + a**(-2)) + 2*a*b**3*s + 2*a*b**2*s**3 + 2*b**3*s**2) + V1*b**3*s**2/(4*a**6*s**2 + 6*a**5*b*s + 6*a**5*s**3 + 2*a**4*b**2*s*sqrt(a**2/b**2 + 2/b + a**(-2)) + 4*a**4*b**2 + 2*a**4*b*s**3*sqrt(a**2/b**2 + 2/b + a**(-2)) + 10*a**4*b*s**2 + 4*a**4*s**4 + 2*a**3*b**2*s**2*sqrt(a**2/b**2 + 2/b + a**(-2)) + 8*a**3*b**2*s + 8*a**3*b*s**3 - 2*a**2*b**3*s*sqrt(a**2/b**2 + 2/b + a**(-2)) + 4*a**2*b**3 - 2*a**2*b**2*s**3*sqrt(a**2/b**2 + 2/b + a**(-2)) + 8*a**2*b**2*s**2 + 4*a**2*b*s**4 - 2*a*b**3*s**2*sqrt(a**2/b**2 + 2/b + a**(-2)) + 2*a*b**3*s + 2*a*b**2*s**3 + 2*b**3*s**2))" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "u1 = sp.solve(equ_smna, extra_results['X'])\n", "\n", "H = u1[extra_results['v_out']] / u1[extra_results['v_in']]\n", "\n", "display(H)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "![nada](./img/nada.png)\n", "\"Homero\n", " " ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle \\frac{\\left(s^{4} + 1\\right) \\left(s^{4} + 2 \\sqrt{2} s^{3} + 4 s^{2} + 2 \\sqrt{2} s + 1\\right)}{s^{8} + 4 \\sqrt{2} s^{7} + 16 s^{6} + 20 \\sqrt{2} s^{5} + 34 s^{4} + 20 \\sqrt{2} s^{3} + 16 s^{2} + 4 \\sqrt{2} s + 1}$" ], "text/plain": [ "(s**4 + 1)*(s**4 + 2*sqrt(2)*s**3 + 4*s**2 + 2*sqrt(2)*s + 1)/(s**8 + 4*sqrt(2)*s**7 + 16*s**6 + 20*sqrt(2)*s**5 + 34*s**4 + 20*sqrt(2)*s**3 + 16*s**2 + 4*sqrt(2)*s + 1)" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "H0 = H.subs(extra_results['dic_params'])\n", "\n", "H0 = sp.collect(sp.simplify(sp.expand(H0)),s)\n", "\n", "#H0 = parametrize_sos(H)[0]\n", "\n", "display(H0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "![nada](./img/nada.png)\n", "\"Homero\n", " " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "No es el resultado que esperábamos, habrá que ver dónde quedó un error ..." ] } ], "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.10.16" }, "varInspector": { "cols": { "lenName": 16, "lenType": 16, "lenVar": 40 }, "kernels_config": { "python": { "delete_cmd_postfix": "", "delete_cmd_prefix": "del ", "library": "var_list.py", "varRefreshCmd": "print(var_dic_list())" }, "r": { "delete_cmd_postfix": ") ", "delete_cmd_prefix": "rm(", "library": "var_list.r", "varRefreshCmd": "cat(var_dic_list()) " } }, "types_to_exclude": [ "module", "function", "builtin_function_or_method", "instance", "_Feature" ], "window_display": false } }, "nbformat": 4, "nbformat_minor": 4 }