Skip to content

Instantly share code, notes, and snippets.

@brianjp93
Last active January 12, 2020 01:31
Show Gist options
  • Save brianjp93/5ba3180a19491c166e8c to your computer and use it in GitHub Desktop.
Save brianjp93/5ba3180a19491c166e8c to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"metadata": {
"name": "",
"signature": "sha256:b44c48cd2488a6548a1ba2266812cd0adc2da8cb701320bee16461f28fd1fa93"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "heading",
"level": 1,
"metadata": {},
"source": [
"Analog Electronics HW 7"
]
},
{
"cell_type": "heading",
"level": 6,
"metadata": {},
"source": [
"Brian Perrett"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"from sympy import *"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 1
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"init_printing()"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 2
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"r1, r2, r3, xc1, xc2, c1, c2, w = symbols(\"R_1 R_2 R_3 X_C_1 X_C_2 C_1 C_2 omega\", real=True, positive=True)\n",
"vin, vout, v1 = symbols(\"V_in V_out V_1\", real=True)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 38
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"e1 = (v1-vin)/r1 + (v1-vout)/xc2 + v1/r2 + v1/xc1\n",
"e1"
],
"language": "python",
"metadata": {},
"outputs": [
{
"latex": [
"$$\\frac{V_{1}}{X_{C 1}} + \\frac{V_{1} - V_{out}}{X_{C 2}} + \\frac{V_{1}}{R_{2}} + \\frac{1}{R_{1}} \\left(V_{1} - V_{in}\\right)$$"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 39,
"text": [
" V\u2081 V\u2081 - V_out V\u2081 V\u2081 - V_in\n",
"\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n",
"X_C_1 X_C_2 R\u2082 R\u2081 "
]
}
],
"prompt_number": 39
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"v_1 = solve(e1, v1)[0]"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 40
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"e2 = (vout-v1)/xc2 + vout/r3\n",
"e2"
],
"language": "python",
"metadata": {},
"outputs": [
{
"latex": [
"$$\\frac{- V_{1} + V_{out}}{X_{C 2}} + \\frac{V_{out}}{R_{3}}$$"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 41,
"text": [
"-V\u2081 + V_out V_out\n",
"\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\n",
" X_C_2 R\u2083 "
]
}
],
"prompt_number": 41
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"expr = e2.subs(v1, v_1)\n",
"expr = solve(expr, vout)[0] / vin\n",
"expr"
],
"language": "python",
"metadata": {},
"outputs": [
{
"latex": [
"$$\\frac{R_{2} R_{3} X_{C 1}}{R_{1} R_{2} R_{3} + R_{1} R_{2} X_{C 1} + R_{1} R_{2} X_{C 2} + R_{1} R_{3} X_{C 1} + R_{1} X_{C 1} X_{C 2} + R_{2} R_{3} X_{C 1} + R_{2} X_{C 1} X_{C 2}}$$"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 42,
"text": [
" R\u2082\u22c5R\u2083\u22c5X_C_1 \n",
"\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n",
"R\u2081\u22c5R\u2082\u22c5R\u2083 + R\u2081\u22c5R\u2082\u22c5X_C_1 + R\u2081\u22c5R\u2082\u22c5X_C_2 + R\u2081\u22c5R\u2083\u22c5X_C_1 + R\u2081\u22c5X_C_1\u22c5X_C_2 + R\u2082\u22c5R\u2083\u22c5X_\n",
"\n",
" \n",
"\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n",
"C_1 + R\u2082\u22c5X_C_1\u22c5X_C_2"
]
}
],
"prompt_number": 42
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"expr = expr.subs([(xc1, (I/(w*c1) ) ), (xc2, (I/(w*c2) ) )])\n",
"expr"
],
"language": "python",
"metadata": {},
"outputs": [
{
"latex": [
"$$\\frac{i R_{2} R_{3}}{C_{1} \\omega \\left(R_{1} R_{2} R_{3} + \\frac{i R_{1} R_{2}}{C_{2} \\omega} + \\frac{i R_{1} R_{2}}{C_{1} \\omega} + \\frac{i R_{1} R_{3}}{C_{1} \\omega} + \\frac{i R_{2} R_{3}}{C_{1} \\omega} - \\frac{R_{1}}{C_{1} C_{2} \\omega^{2}} - \\frac{R_{2}}{C_{1} C_{2} \\omega^{2}}\\right)}$$"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 44,
"text": [
" \u2148\u22c5R\u2082\u22c5R\u2083 \n",
"\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n",
" \u239b \u2148\u22c5R\u2081\u22c5R\u2082 \u2148\u22c5R\u2081\u22c5R\u2082 \u2148\u22c5R\u2081\u22c5R\u2083 \u2148\u22c5R\u2082\u22c5R\u2083 R\u2081 R\u2082 \u239e\n",
"C\u2081\u22c5\u03c9\u22c5\u239cR\u2081\u22c5R\u2082\u22c5R\u2083 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500 - \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 - \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u239f\n",
" \u239c C\u2082\u22c5\u03c9 C\u2081\u22c5\u03c9 C\u2081\u22c5\u03c9 C\u2081\u22c5\u03c9 2 2\u239f\n",
" \u239d C\u2081\u22c5C\u2082\u22c5\u03c9 C\u2081\u22c5C\u2082\u22c5\u03c9 \u23a0"
]
}
],
"prompt_number": 44
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"real = conjugate(expr)*expr\n",
"real = sqrt(cancel(real))\n",
"collect(real, w)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"latex": [
"$$\\frac{C_{2} R_{2} R_{3} \\omega}{\\sqrt{C_{1}^{2} C_{2}^{2} R_{1}^{2} R_{2}^{2} R_{3}^{2} \\omega^{4} + R_{1}^{2} + 2 R_{1} R_{2} + R_{2}^{2} + \\omega^{2} \\left(C_{1}^{2} R_{1}^{2} R_{2}^{2} + 2 C_{1} C_{2} R_{1}^{2} R_{2}^{2} + C_{2}^{2} R_{1}^{2} R_{2}^{2} + 2 C_{2}^{2} R_{1}^{2} R_{2} R_{3} + C_{2}^{2} R_{1}^{2} R_{3}^{2} + 2 C_{2}^{2} R_{1} R_{2}^{2} R_{3} + 2 C_{2}^{2} R_{1} R_{2} R_{3}^{2} + C_{2}^{2} R_{2}^{2} R_{3}^{2}\\right)}}$$"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 45,
"text": [
" \n",
"\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n",
" ___________________________________________________________________________\n",
" \u2571 2 2 2 2 2 4 2 2 2 \u239b 2 2 2 \n",
"\u2572\u2571 C\u2081 \u22c5C\u2082 \u22c5R\u2081 \u22c5R\u2082 \u22c5R\u2083 \u22c5\u03c9 + R\u2081 + 2\u22c5R\u2081\u22c5R\u2082 + R\u2082 + \u03c9 \u22c5\u239dC\u2081 \u22c5R\u2081 \u22c5R\u2082 + 2\u22c5C\u2081\u22c5C\u2082\u22c5R\n",
"\n",
" C\u2082\u22c5R\u2082\u22c5R\u2083\u22c5\u03c9 \n",
"\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n",
"______________________________________________________________________________\n",
" 2 2 2 2 2 2 2 2 2 2 2 2 2\n",
"\u2081 \u22c5R\u2082 + C\u2082 \u22c5R\u2081 \u22c5R\u2082 + 2\u22c5C\u2082 \u22c5R\u2081 \u22c5R\u2082\u22c5R\u2083 + C\u2082 \u22c5R\u2081 \u22c5R\u2083 + 2\u22c5C\u2082 \u22c5R\u2081\u22c5R\u2082 \u22c5R\u2083 + 2\u22c5C\u2082 \n",
"\n",
" \n",
"\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n",
"__________________________\n",
" 2 2 2 2\u239e \n",
"\u22c5R\u2081\u22c5R\u2082\u22c5R\u2083 + C\u2082 \u22c5R\u2082 \u22c5R\u2083 \u23a0 "
]
}
],
"prompt_number": 45
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"real_der = diff(real, w)\n",
"real_der"
],
"language": "python",
"metadata": {},
"outputs": [
{
"latex": [
"$$\\frac{C_{2} R_{2} R_{3} \\omega \\left(- 2 C_{1}^{2} C_{2}^{2} R_{1}^{2} R_{2}^{2} R_{3}^{2} \\omega^{3} - C_{1}^{2} R_{1}^{2} R_{2}^{2} \\omega - 2 C_{1} C_{2} R_{1}^{2} R_{2}^{2} \\omega - C_{2}^{2} R_{1}^{2} R_{2}^{2} \\omega - 2 C_{2}^{2} R_{1}^{2} R_{2} R_{3} \\omega - C_{2}^{2} R_{1}^{2} R_{3}^{2} \\omega - 2 C_{2}^{2} R_{1} R_{2}^{2} R_{3} \\omega - 2 C_{2}^{2} R_{1} R_{2} R_{3}^{2} \\omega - C_{2}^{2} R_{2}^{2} R_{3}^{2} \\omega\\right)}{\\left(C_{1}^{2} C_{2}^{2} R_{1}^{2} R_{2}^{2} R_{3}^{2} \\omega^{4} + C_{1}^{2} R_{1}^{2} R_{2}^{2} \\omega^{2} + 2 C_{1} C_{2} R_{1}^{2} R_{2}^{2} \\omega^{2} + C_{2}^{2} R_{1}^{2} R_{2}^{2} \\omega^{2} + 2 C_{2}^{2} R_{1}^{2} R_{2} R_{3} \\omega^{2} + C_{2}^{2} R_{1}^{2} R_{3}^{2} \\omega^{2} + 2 C_{2}^{2} R_{1} R_{2}^{2} R_{3} \\omega^{2} + 2 C_{2}^{2} R_{1} R_{2} R_{3}^{2} \\omega^{2} + C_{2}^{2} R_{2}^{2} R_{3}^{2} \\omega^{2} + R_{1}^{2} + 2 R_{1} R_{2} + R_{2}^{2}\\right)^{\\frac{3}{2}}} + \\frac{C_{2} R_{2} R_{3}}{\\sqrt{C_{1}^{2} C_{2}^{2} R_{1}^{2} R_{2}^{2} R_{3}^{2} \\omega^{4} + C_{1}^{2} R_{1}^{2} R_{2}^{2} \\omega^{2} + 2 C_{1} C_{2} R_{1}^{2} R_{2}^{2} \\omega^{2} + C_{2}^{2} R_{1}^{2} R_{2}^{2} \\omega^{2} + 2 C_{2}^{2} R_{1}^{2} R_{2} R_{3} \\omega^{2} + C_{2}^{2} R_{1}^{2} R_{3}^{2} \\omega^{2} + 2 C_{2}^{2} R_{1} R_{2}^{2} R_{3} \\omega^{2} + 2 C_{2}^{2} R_{1} R_{2} R_{3}^{2} \\omega^{2} + C_{2}^{2} R_{2}^{2} R_{3}^{2} \\omega^{2} + R_{1}^{2} + 2 R_{1} R_{2} + R_{2}^{2}}}$$"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 83,
"text": [
" \u239b 2 2 2 2 2 3 2 2 2 2 \n",
" C\u2082\u22c5R\u2082\u22c5R\u2083\u22c5\u03c9\u22c5\u239d- 2\u22c5C\u2081 \u22c5C\u2082 \u22c5R\u2081 \u22c5R\u2082 \u22c5R\u2083 \u22c5\u03c9 - C\u2081 \u22c5R\u2081 \u22c5R\u2082 \u22c5\u03c9 - 2\u22c5C\u2081\u22c5C\u2082\u22c5R\u2081 \u22c5\n",
"\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n",
" \n",
"\u239b 2 2 2 2 2 4 2 2 2 2 2 2 2 2 2 2 2\n",
"\u239dC\u2081 \u22c5C\u2082 \u22c5R\u2081 \u22c5R\u2082 \u22c5R\u2083 \u22c5\u03c9 + C\u2081 \u22c5R\u2081 \u22c5R\u2082 \u22c5\u03c9 + 2\u22c5C\u2081\u22c5C\u2082\u22c5R\u2081 \u22c5R\u2082 \u22c5\u03c9 + C\u2082 \u22c5R\u2081 \u22c5R\u2082 \u22c5\u03c9 \n",
"\n",
" 2 2 2 2 2 2 2 2 2 2 2 \n",
"R\u2082 \u22c5\u03c9 - C\u2082 \u22c5R\u2081 \u22c5R\u2082 \u22c5\u03c9 - 2\u22c5C\u2082 \u22c5R\u2081 \u22c5R\u2082\u22c5R\u2083\u22c5\u03c9 - C\u2082 \u22c5R\u2081 \u22c5R\u2083 \u22c5\u03c9 - 2\u22c5C\u2082 \u22c5R\u2081\u22c5R\u2082 \u22c5R\u2083\u22c5\u03c9 \n",
"\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n",
" \n",
" 2 2 2 2 2 2 2 2 2 2 2 2 \n",
" + 2\u22c5C\u2082 \u22c5R\u2081 \u22c5R\u2082\u22c5R\u2083\u22c5\u03c9 + C\u2082 \u22c5R\u2081 \u22c5R\u2083 \u22c5\u03c9 + 2\u22c5C\u2082 \u22c5R\u2081\u22c5R\u2082 \u22c5R\u2083\u22c5\u03c9 + 2\u22c5C\u2082 \u22c5R\u2081\u22c5R\u2082\u22c5R\u2083 \u22c5\n",
"\n",
" 2 2 2 2 2 \u239e \n",
"- 2\u22c5C\u2082 \u22c5R\u2081\u22c5R\u2082\u22c5R\u2083 \u22c5\u03c9 - C\u2082 \u22c5R\u2082 \u22c5R\u2083 \u22c5\u03c9\u23a0 \n",
"\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n",
" 3/2 ___________________________\n",
" 2 2 2 2 2 2 2\u239e \u2571 2 2 2 2 2 4 \n",
"\u03c9 + C\u2082 \u22c5R\u2082 \u22c5R\u2083 \u22c5\u03c9 + R\u2081 + 2\u22c5R\u2081\u22c5R\u2082 + R\u2082 \u23a0 \u2572\u2571 C\u2081 \u22c5C\u2082 \u22c5R\u2081 \u22c5R\u2082 \u22c5R\u2083 \u22c5\u03c9 + C\n",
"\n",
" \n",
" C\u2082\u22c5R\u2082\u22c5R\u2083 \n",
"\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n",
"______________________________________________________________________________\n",
" 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2\n",
"\u2081 \u22c5R\u2081 \u22c5R\u2082 \u22c5\u03c9 + 2\u22c5C\u2081\u22c5C\u2082\u22c5R\u2081 \u22c5R\u2082 \u22c5\u03c9 + C\u2082 \u22c5R\u2081 \u22c5R\u2082 \u22c5\u03c9 + 2\u22c5C\u2082 \u22c5R\u2081 \u22c5R\u2082\u22c5R\u2083\u22c5\u03c9 + C\u2082 \n",
"\n",
" \n",
" \n",
"\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n",
"______________________________________________________________________________\n",
" 2 2 2 2 2 2 2 2 2 2 2 2 2 2 \n",
"\u22c5R\u2081 \u22c5R\u2083 \u22c5\u03c9 + 2\u22c5C\u2082 \u22c5R\u2081\u22c5R\u2082 \u22c5R\u2083\u22c5\u03c9 + 2\u22c5C\u2082 \u22c5R\u2081\u22c5R\u2082\u22c5R\u2083 \u22c5\u03c9 + C\u2082 \u22c5R\u2082 \u22c5R\u2083 \u22c5\u03c9 + R\u2081 +\n",
"\n",
" \n",
" \n",
"\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n",
"_______________\n",
" 2 \n",
" 2\u22c5R\u2081\u22c5R\u2082 + R\u2082 "
]
}
],
"prompt_number": 83
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"replacements = [(r1, 35700), (r2, 28000), (r3, 82000), (c1, .01e-6), (c2, .01e-6)]\n",
"real_der = real_der.subs(replacements)\n",
"real_der"
],
"language": "python",
"metadata": {},
"outputs": [
{
"latex": [
"$$\\frac{22.96 \\omega \\left(- 0.0001343724375168 \\omega^{3} - 4172.332948 \\omega\\right)}{\\left(6.71862187584 \\cdot 10^{-5} \\omega^{4} + 4172.332948 \\omega^{2} + 4057690000\\right)^{\\frac{3}{2}}} + \\frac{22.96}{\\sqrt{6.71862187584 \\cdot 10^{-5} \\omega^{4} + 4172.332948 \\omega^{2} + 4057690000}}$$"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 47,
"text": [
" \u239b 3 \u239e \n",
" 22.96\u22c5\u03c9\u22c5\u239d- 0.0001343724375168\u22c5\u03c9 - 4172.332948\u22c5\u03c9\u23a0 \n",
"\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n",
" 3/2 __________________\n",
"\u239b 4 2 \u239e \u2571 \n",
"\u239d6.71862187584e-5\u22c5\u03c9 + 4172.332948\u22c5\u03c9 + 4057690000\u23a0 \u2572\u2571 6.71862187584e-5\u22c5\n",
"\n",
" \n",
" 22.96 \n",
"\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n",
"_________________________________\n",
" 4 2 \n",
"\u03c9 + 4172.332948\u22c5\u03c9 + 4057690000 "
]
}
],
"prompt_number": 47
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"om = solve(real_der, w)[0]\n",
"om"
],
"language": "python",
"metadata": {},
"outputs": [
{
"latex": [
"$$2787.72330826146$$"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 48,
"text": [
"2787.72330826146"
]
}
],
"prompt_number": 48
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"N(om/(2*pi))"
],
"language": "python",
"metadata": {},
"outputs": [
{
"latex": [
"$$443.679944482302$$"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 49,
"text": [
"443.679944482302"
]
}
],
"prompt_number": 49
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"Problem 1 Part C"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"replacements = [(r1, 35700), (r2, 28000), (r3, 82000), (c1, .01e-6), (c2, .01e-6)]\n",
"real_sub = real.subs(replacements)\n",
"real_sub.subs(w,2788)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"latex": [
"$$0.31789106353289$$"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 50,
"text": [
"0.317891063532890"
]
}
],
"prompt_number": 50
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"from sympy.plotting import plot"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 51
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"plot(real_sub, (w,0,10000))"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "display_data",
"png": "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\nQmCC\n",
"text": [
"<matplotlib.figure.Figure at 0x1f250c50>"
]
},
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 59,
"text": [
"<sympy.plotting.plot.Plot at 0x1e9b0b00>"
]
}
],
"prompt_number": 59
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"x = linspace(0,100000,1000).tolist()\n",
"y = [real_sub.subs(w,i) for i in x]"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 75
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"import matplotlib.pyplot as plt\n",
"from matplotlib import pyplot\n",
"params = {'axes.labelsize': 10, 'axes.linewidth': 1, 'savefig.dpi': 150, \n",
" 'lines.linewidth': 1.2, 'figure.figsize': (5, 2.5),\n",
" 'figure.subplot.wspace': 0.4,\n",
" 'ytick.labelsize': 12, 'xtick.labelsize': 12,\n",
" 'ytick.major.pad': 5, 'xtick.major.pad': 5,\n",
" 'legend.fontsize': 9, 'legend.frameon': True, \n",
" 'legend.handlelength': 1.5}\n",
"pyplot.rcParams.update(params)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 80
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"plt.plot(x,y)\n",
"plt.xscale(\"log\")\n",
"plt.yscale(\"log\")\n",
"plt.title(\"Gain vs $\\omega$\")\n",
"plt.xlabel(\"$\\omega$\")\n",
"plt.ylabel(\"Gain\")"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 81,
"text": [
"<matplotlib.text.Text at 0x26f71cf8>"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\nRU5ErkJggg==\n",
"text": [
"<matplotlib.figure.Figure at 0x272c8518>"
]
}
],
"prompt_number": 81
},
{
"cell_type": "heading",
"level": 2,
"metadata": {},
"source": [
"Problem 3"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"20/31.5 * 15"
],
"language": "python",
"metadata": {},
"outputs": [
{
"latex": [
"$$9.523809523809524$$"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 84,
"text": [
"9.523809523809524"
]
}
],
"prompt_number": 84
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": []
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": []
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": []
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": []
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": []
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": []
},
{
"cell_type": "heading",
"level": 1,
"metadata": {},
"source": [
"Samuel's Way"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"e2 = (-vout)/r3 - v1/xc1\n",
"e2"
],
"language": "python",
"metadata": {},
"outputs": [
{
"latex": [
"$$- \\frac{V_{1}}{X_{C 1}} - \\frac{V_{out}}{R_{3}}$$"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 18,
"text": [
" V\u2081 V_out\n",
"- \u2500\u2500\u2500\u2500\u2500 - \u2500\u2500\u2500\u2500\u2500\n",
" X_C_1 R\u2083 "
]
}
],
"prompt_number": 18
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"expr = e2.subs(v1, v_1)\n",
"expr = solve(expr, vout)[0] / vin\n",
"expr"
],
"language": "python",
"metadata": {},
"outputs": [
{
"latex": [
"$$- \\frac{R_{2} R_{3} X_{C 2}}{R_{1} R_{2} R_{3} + R_{1} R_{2} X_{C 1} + R_{1} R_{2} X_{C 2} + R_{1} X_{C 1} X_{C 2} + R_{2} X_{C 1} X_{C 2}}$$"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 19,
"text": [
" -R\u2082\u22c5R\u2083\u22c5X_C_2 \n",
"\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n",
"R\u2081\u22c5R\u2082\u22c5R\u2083 + R\u2081\u22c5R\u2082\u22c5X_C_1 + R\u2081\u22c5R\u2082\u22c5X_C_2 + R\u2081\u22c5X_C_1\u22c5X_C_2 + R\u2082\u22c5X_C_1\u22c5X_C_2"
]
}
],
"prompt_number": 19
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"expr = expr.subs([(xc1, (I/(w*c1) ) ), (xc2, (I/(w*c2) ) )])\n",
"expr"
],
"language": "python",
"metadata": {},
"outputs": [
{
"latex": [
"$$- \\frac{i R_{2} R_{3}}{C_{2} \\omega \\left(R_{1} R_{2} R_{3} + \\frac{i R_{1} R_{2}}{C_{2} \\omega} + \\frac{i R_{1} R_{2}}{C_{1} \\omega} - \\frac{R_{1}}{C_{1} C_{2} \\omega^{2}} - \\frac{R_{2}}{C_{1} C_{2} \\omega^{2}}\\right)}$$"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 20,
"text": [
" -\u2148\u22c5R\u2082\u22c5R\u2083 \n",
"\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n",
" \u239b \u2148\u22c5R\u2081\u22c5R\u2082 \u2148\u22c5R\u2081\u22c5R\u2082 R\u2081 R\u2082 \u239e\n",
"C\u2082\u22c5\u03c9\u22c5\u239cR\u2081\u22c5R\u2082\u22c5R\u2083 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500 + \u2500\u2500\u2500\u2500\u2500\u2500\u2500 - \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 - \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u239f\n",
" \u239c C\u2082\u22c5\u03c9 C\u2081\u22c5\u03c9 2 2\u239f\n",
" \u239d C\u2081\u22c5C\u2082\u22c5\u03c9 C\u2081\u22c5C\u2082\u22c5\u03c9 \u23a0"
]
}
],
"prompt_number": 20
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"real = conjugate(expr)*expr\n",
"real = sqrt(cancel(real))\n",
"real = collect(real, w)\n",
"real"
],
"language": "python",
"metadata": {},
"outputs": [
{
"latex": [
"$$C_{1} R_{2} R_{3} \\omega \\sqrt{\\frac{1}{C_{1}^{2} C_{2}^{2} R_{1}^{2} R_{2}^{2} R_{3}^{2} \\omega^{4} + R_{1}^{2} + 2 R_{1} R_{2} + R_{2}^{2} + \\omega^{2} \\left(C_{1}^{2} R_{1}^{2} R_{2}^{2} + 2 C_{1} C_{2} R_{1}^{2} R_{2}^{2} - 2 C_{1} C_{2} R_{1}^{2} R_{2} R_{3} - 2 C_{1} C_{2} R_{1} R_{2}^{2} R_{3} + C_{2}^{2} R_{1}^{2} R_{2}^{2}\\right)}}$$"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 26,
"text": [
" ______________________________________________________________\n",
" \u2571 \n",
"C\u2081\u22c5R\u2082\u22c5R\u2083\u22c5\u03c9\u22c5 \u2571 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n",
" \u2571 2 2 2 2 2 4 2 2 2 \u239b 2 2 \n",
" \u2572\u2571 C\u2081 \u22c5C\u2082 \u22c5R\u2081 \u22c5R\u2082 \u22c5R\u2083 \u22c5\u03c9 + R\u2081 + 2\u22c5R\u2081\u22c5R\u2082 + R\u2082 + \u03c9 \u22c5\u239dC\u2081 \u22c5R\u2081 \u22c5R\u2082\n",
"\n",
"___________________________________________________________________________\n",
" 1 \n",
"\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \n",
"2 2 2 2 2 2 2 2\u239e \n",
" + 2\u22c5C\u2081\u22c5C\u2082\u22c5R\u2081 \u22c5R\u2082 - 2\u22c5C\u2081\u22c5C\u2082\u22c5R\u2081 \u22c5R\u2082\u22c5R\u2083 - 2\u22c5C\u2081\u22c5C\u2082\u22c5R\u2081\u22c5R\u2082 \u22c5R\u2083 + C\u2082 \u22c5R\u2081 \u22c5R\u2082 \u23a0 "
]
}
],
"prompt_number": 26
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"real_der = diff(real, w)\n",
"real_der"
],
"language": "python",
"metadata": {},
"outputs": [
{
"latex": [
"$$\\frac{C_{1} R_{2} R_{3} \\omega \\left(- 4 C_{1}^{2} C_{2}^{2} R_{1}^{2} R_{2}^{2} R_{3}^{2} \\omega^{3} - 2 \\omega \\left(C_{1}^{2} R_{1}^{2} R_{2}^{2} + 2 C_{1} C_{2} R_{1}^{2} R_{2}^{2} - 2 C_{1} C_{2} R_{1}^{2} R_{2} R_{3} - 2 C_{1} C_{2} R_{1} R_{2}^{2} R_{3} + C_{2}^{2} R_{1}^{2} R_{2}^{2}\\right)\\right) \\sqrt{\\frac{1}{C_{1}^{2} C_{2}^{2} R_{1}^{2} R_{2}^{2} R_{3}^{2} \\omega^{4} + R_{1}^{2} + 2 R_{1} R_{2} + R_{2}^{2} + \\omega^{2} \\left(C_{1}^{2} R_{1}^{2} R_{2}^{2} + 2 C_{1} C_{2} R_{1}^{2} R_{2}^{2} - 2 C_{1} C_{2} R_{1}^{2} R_{2} R_{3} - 2 C_{1} C_{2} R_{1} R_{2}^{2} R_{3} + C_{2}^{2} R_{1}^{2} R_{2}^{2}\\right)}}}{2 C_{1}^{2} C_{2}^{2} R_{1}^{2} R_{2}^{2} R_{3}^{2} \\omega^{4} + 2 R_{1}^{2} + 4 R_{1} R_{2} + 2 R_{2}^{2} + 2 \\omega^{2} \\left(C_{1}^{2} R_{1}^{2} R_{2}^{2} + 2 C_{1} C_{2} R_{1}^{2} R_{2}^{2} - 2 C_{1} C_{2} R_{1}^{2} R_{2} R_{3} - 2 C_{1} C_{2} R_{1} R_{2}^{2} R_{3} + C_{2}^{2} R_{1}^{2} R_{2}^{2}\\right)} + C_{1} R_{2} R_{3} \\sqrt{\\frac{1}{C_{1}^{2} C_{2}^{2} R_{1}^{2} R_{2}^{2} R_{3}^{2} \\omega^{4} + R_{1}^{2} + 2 R_{1} R_{2} + R_{2}^{2} + \\omega^{2} \\left(C_{1}^{2} R_{1}^{2} R_{2}^{2} + 2 C_{1} C_{2} R_{1}^{2} R_{2}^{2} - 2 C_{1} C_{2} R_{1}^{2} R_{2} R_{3} - 2 C_{1} C_{2} R_{1} R_{2}^{2} R_{3} + C_{2}^{2} R_{1}^{2} R_{2}^{2}\\right)}}$$"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 31,
"text": [
" \n",
" \u239b 2 2 2 2 2 3 \u239b 2 2 2 2 2 \n",
"C\u2081\u22c5R\u2082\u22c5R\u2083\u22c5\u03c9\u22c5\u239d- 4\u22c5C\u2081 \u22c5C\u2082 \u22c5R\u2081 \u22c5R\u2082 \u22c5R\u2083 \u22c5\u03c9 - 2\u22c5\u03c9\u22c5\u239dC\u2081 \u22c5R\u2081 \u22c5R\u2082 + 2\u22c5C\u2081\u22c5C\u2082\u22c5R\u2081 \u22c5R\u2082 - \n",
" \n",
" \n",
"\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n",
" \u239b 2 2 \n",
" 2\u22c5\u239dC\u2081 \u22c5C\u2082 \u22c5\n",
"\n",
" ___________________\n",
" 2 2 2 2 2\u239e\u239e \u2571 \n",
"2\u22c5C\u2081\u22c5C\u2082\u22c5R\u2081 \u22c5R\u2082\u22c5R\u2083 - 2\u22c5C\u2081\u22c5C\u2082\u22c5R\u2081\u22c5R\u2082 \u22c5R\u2083 + C\u2082 \u22c5R\u2081 \u22c5R\u2082 \u23a0\u23a0\u22c5 \u2571 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n",
" \u2571 2 2 2 2 \n",
" \u2572\u2571 C\u2081 \u22c5C\u2082 \u22c5R\u2081 \u22c5R\u2082 \u22c5R\u2083\n",
"\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n",
" 2 2 2 4 2 2 2 \u239b 2 2 2 2 2 \n",
"R\u2081 \u22c5R\u2082 \u22c5R\u2083 \u22c5\u03c9 + R\u2081 + 2\u22c5R\u2081\u22c5R\u2082 + R\u2082 + \u03c9 \u22c5\u239dC\u2081 \u22c5R\u2081 \u22c5R\u2082 + 2\u22c5C\u2081\u22c5C\u2082\u22c5R\u2081 \u22c5R\u2082 - 2\u22c5C\n",
"\n",
"______________________________________________________________________________\n",
" 1 \n",
"\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n",
"2 4 2 2 2 \u239b 2 2 2 2 2 2 \n",
" \u22c5\u03c9 + R\u2081 + 2\u22c5R\u2081\u22c5R\u2082 + R\u2082 + \u03c9 \u22c5\u239dC\u2081 \u22c5R\u2081 \u22c5R\u2082 + 2\u22c5C\u2081\u22c5C\u2082\u22c5R\u2081 \u22c5R\u2082 - 2\u22c5C\u2081\u22c5C\u2082\u22c5R\u2081 \u22c5R\n",
"\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n",
" 2 2 2 2 2\u239e\u239e \n",
"\u2081\u22c5C\u2082\u22c5R\u2081 \u22c5R\u2082\u22c5R\u2083 - 2\u22c5C\u2081\u22c5C\u2082\u22c5R\u2081\u22c5R\u2082 \u22c5R\u2083 + C\u2082 \u22c5R\u2081 \u22c5R\u2082 \u23a0\u23a0 \n",
"\n",
"________________________________________ \n",
" \n",
"\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \n",
" 2 2 2 2\u239e _____________________\n",
"\u2082\u22c5R\u2083 - 2\u22c5C\u2081\u22c5C\u2082\u22c5R\u2081\u22c5R\u2082 \u22c5R\u2083 + C\u2082 \u22c5R\u2081 \u22c5R\u2082 \u23a0 \u2571 \n",
"\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 + C\u2081\u22c5R\u2082\u22c5R\u2083\u22c5 \u2571 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n",
" \u2571 2 2 2 2 2 \n",
" \u2572\u2571 C\u2081 \u22c5C\u2082 \u22c5R\u2081 \u22c5R\u2082 \u22c5R\u2083 \u22c5\n",
"\n",
" \n",
" \n",
" \n",
"______________________________________________________________________________\n",
" 1 \n",
"\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n",
" 4 2 2 2 \u239b 2 2 2 2 2 2 \n",
"\u03c9 + R\u2081 + 2\u22c5R\u2081\u22c5R\u2082 + R\u2082 + \u03c9 \u22c5\u239dC\u2081 \u22c5R\u2081 \u22c5R\u2082 + 2\u22c5C\u2081\u22c5C\u2082\u22c5R\u2081 \u22c5R\u2082 - 2\u22c5C\u2081\u22c5C\u2082\u22c5R\u2081 \u22c5R\u2082\u22c5\n",
"\n",
" \n",
" \n",
" \n",
"______________________________________\n",
" \n",
"\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \n",
" 2 2 2 2\u239e \n",
"R\u2083 - 2\u22c5C\u2081\u22c5C\u2082\u22c5R\u2081\u22c5R\u2082 \u22c5R\u2083 + C\u2082 \u22c5R\u2081 \u22c5R\u2082 \u23a0 "
]
}
],
"prompt_number": 31
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"replacements = [(r1, 35700), (r2, 28000), (r3, 82000), (c1, .01e-6), (c2, .01e-6)]\n",
"real_der = real_der.subs(replacements)\n",
"real_der = cancel(real_der)\n",
"real_der"
],
"language": "python",
"metadata": {},
"outputs": [
{
"latex": [
"$$- \\frac{1}{6.71862187584 \\cdot 10^{-5} \\omega^{4} - 644.582064 \\omega^{2} + 4057690000.0} \\left(0.00154259558269286 \\omega^{4} \\sqrt{\\frac{1}{6.71862187584 \\cdot 10^{-5} \\omega^{4} - 644.582064 \\omega^{2} + 4057690000}} - 93164562400.0 \\sqrt{\\frac{1}{6.71862187584 \\cdot 10^{-5} \\omega^{4} - 644.582064 \\omega^{2} + 4057690000}}\\right)$$"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 32,
"text": [
" \u239b ____________________________________________\n",
" \u239c 4 \u2571 1 \n",
"-1.0\u22c5\u239c0.00154259558269286\u22c5\u03c9 \u22c5 \u2571 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n",
" \u239c \u2571 4 2 \n",
" \u239d \u2572\u2571 6.71862187584e-5\u22c5\u03c9 - 644.582064\u22c5\u03c9 + 40576\n",
"\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n",
" 4 \n",
" 6.71862187584e-5\u22c5\u03c9 - 64\n",
"\n",
"______ __________________________________________________\n",
" \u2571 1 \n",
"\u2500\u2500\u2500\u2500\u2500 - 93164562400.0\u22c5 \u2571 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \n",
" \u2571 4 2 \n",
"90000 \u2572\u2571 6.71862187584e-5\u22c5\u03c9 - 644.582064\u22c5\u03c9 + 4057690000 \n",
"\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n",
" 2 \n",
"4.582064\u22c5\u03c9 + 4057690000.0 \n",
"\n",
"\u239e \n",
"\u239f \n",
"\u239f \n",
"\u239f \n",
"\u23a0 \n",
"\u2500\u2500\n",
" \n",
" "
]
}
],
"prompt_number": 32
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"om = solve(real_der, w)\n",
"om"
],
"language": "python",
"metadata": {},
"outputs": [
{
"ename": "KeyboardInterrupt",
"evalue": "",
"output_type": "pyerr",
"traceback": [
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[1;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)",
"\u001b[1;32m<ipython-input-33-e193b7ad4f3b>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mom\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0msolve\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mreal_der\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mw\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 2\u001b[0m \u001b[0mom\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mC:\\pyzo\\lib\\site-packages\\sympy\\solvers\\solvers.py\u001b[0m in \u001b[0;36msolve\u001b[1;34m(f, *symbols, **flags)\u001b[0m\n\u001b[0;32m 706\u001b[0m \u001b[0mfreei\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mf\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mi\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mfree_symbols\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 707\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mfreei\u001b[0m \u001b[1;32mand\u001b[0m \u001b[0mall\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0ms\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mis_real\u001b[0m \u001b[1;32mor\u001b[0m \u001b[0ms\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mis_imaginary\u001b[0m \u001b[1;32mfor\u001b[0m \u001b[0ms\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mfreei\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 708\u001b[1;33m \u001b[0mfr\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mfi\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mf\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mi\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mas_real_imag\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 709\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mfr\u001b[0m \u001b[1;32mand\u001b[0m \u001b[0mfi\u001b[0m \u001b[1;32mand\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[0many\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mi\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mhas\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mre\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mim\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0marg\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;32mfor\u001b[0m \u001b[0mi\u001b[0m \u001b[1;32min\u001b[0m \u001b[1;33m(\u001b[0m\u001b[0mfr\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mfi\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 710\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mbare_f\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mC:\\pyzo\\lib\\site-packages\\sympy\\core\\mul.py\u001b[0m in \u001b[0;36mas_real_imag\u001b[1;34m(self, deep, **hints)\u001b[0m\n\u001b[0;32m 684\u001b[0m \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 685\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mcoeff\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mis_real\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 686\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[1;33m(\u001b[0m\u001b[0mcoeff\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0mC\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mre\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mm\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mcoeff\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0mC\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mim\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mm\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 687\u001b[0m \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 688\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[1;33m(\u001b[0m\u001b[1;33m-\u001b[0m\u001b[0mC\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mim\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mcoeff\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0mC\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mim\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mm\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mC\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mim\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mcoeff\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0mC\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mre\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mm\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mC:\\pyzo\\lib\\site-packages\\sympy\\core\\cache.py\u001b[0m in \u001b[0;36mwrapper\u001b[1;34m(*args, **kw_args)\u001b[0m\n\u001b[0;32m 90\u001b[0m \u001b[1;32mexcept\u001b[0m \u001b[0mKeyError\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 91\u001b[0m \u001b[1;32mpass\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 92\u001b[1;33m \u001b[0mfunc_cache_it_cache\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mk\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mr\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mfunc\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkw_args\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 93\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mr\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 94\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mwrapper\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mC:\\pyzo\\lib\\site-packages\\sympy\\core\\function.py\u001b[0m in \u001b[0;36m__new__\u001b[1;34m(cls, *args, **options)\u001b[0m\n\u001b[0;32m 276\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 277\u001b[0m \u001b[0mevaluate\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0moptions\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mget\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'evaluate'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;32mTrue\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 278\u001b[1;33m \u001b[0mresult\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0msuper\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mFunction\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mcls\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m__new__\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mcls\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m*\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0moptions\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 279\u001b[0m \u001b[1;32mif\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[0mevaluate\u001b[0m \u001b[1;32mor\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[0misinstance\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mresult\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mcls\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 280\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mresult\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mC:\\pyzo\\lib\\site-packages\\sympy\\core\\cache.py\u001b[0m in \u001b[0;36mwrapper\u001b[1;34m(*args, **kw_args)\u001b[0m\n\u001b[0;32m 90\u001b[0m \u001b[1;32mexcept\u001b[0m \u001b[0mKeyError\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 91\u001b[0m \u001b[1;32mpass\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 92\u001b[1;33m \u001b[0mfunc_cache_it_cache\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mk\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mr\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mfunc\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkw_args\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 93\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mr\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 94\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mwrapper\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mC:\\pyzo\\lib\\site-packages\\sympy\\core\\function.py\u001b[0m in \u001b[0;36m__new__\u001b[1;34m(cls, *args, **options)\u001b[0m\n\u001b[0;32m 122\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 123\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mevaluate\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 124\u001b[1;33m \u001b[0mevaluated\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mcls\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0meval\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 125\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mevaluated\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 126\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mevaluated\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mC:\\pyzo\\lib\\site-packages\\sympy\\functions\\elementary\\complexes.py\u001b[0m in \u001b[0;36meval\u001b[1;34m(cls, arg)\u001b[0m\n\u001b[0;32m 59\u001b[0m \u001b[0margs\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mAdd\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mmake_args\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0marg\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 60\u001b[0m \u001b[1;32mfor\u001b[0m \u001b[0mterm\u001b[0m \u001b[1;32min\u001b[0m \u001b[0margs\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 61\u001b[1;33m \u001b[0mcoeff\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mterm\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mas_coefficient\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mS\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mImaginaryUnit\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 62\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 63\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mcoeff\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mC:\\pyzo\\lib\\site-packages\\sympy\\core\\expr.py\u001b[0m in \u001b[0;36mas_coefficient\u001b[1;34m(self, expr)\u001b[0m\n\u001b[0;32m 1399\u001b[0m \"\"\"\n\u001b[0;32m 1400\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 1401\u001b[1;33m \u001b[0mr\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mextract_multiplicatively\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mexpr\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 1402\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mr\u001b[0m \u001b[1;32mand\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[0mr\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mhas\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mexpr\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 1403\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mr\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mC:\\pyzo\\lib\\site-packages\\sympy\\core\\expr.py\u001b[0m in \u001b[0;36mextract_multiplicatively\u001b[1;34m(self, c)\u001b[0m\n\u001b[0;32m 1851\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mx\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 1852\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mx\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mextract_multiplicatively\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mb\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 1853\u001b[1;33m \u001b[0mquotient\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m \u001b[1;33m/\u001b[0m \u001b[0mc\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 1854\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mis_Number\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 1855\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mself\u001b[0m \u001b[1;32mis\u001b[0m \u001b[0mS\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mInfinity\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mC:\\pyzo\\lib\\site-packages\\sympy\\core\\decorators.py\u001b[0m in \u001b[0;36m__sympifyit_wrapper\u001b[1;34m(a, b)\u001b[0m\n\u001b[0;32m 72\u001b[0m \u001b[1;32mif\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[0mhasattr\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mb\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m'_op_priority'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 73\u001b[0m \u001b[0mb\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0msympify\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mb\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mstrict\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mTrue\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 74\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mfunc\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0ma\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mb\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 75\u001b[0m \u001b[1;32mexcept\u001b[0m \u001b[0mSympifyError\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 76\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mretval\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mC:\\pyzo\\lib\\site-packages\\sympy\\core\\decorators.py\u001b[0m in \u001b[0;36mbinary_op_wrapper\u001b[1;34m(self, other)\u001b[0m\n\u001b[0;32m 113\u001b[0m \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 114\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mf\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 115\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mfunc\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mother\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 116\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mbinary_op_wrapper\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 117\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mpriority_decorator\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mC:\\pyzo\\lib\\site-packages\\sympy\\core\\expr.py\u001b[0m in \u001b[0;36m__div__\u001b[1;34m(self, other)\u001b[0m\n\u001b[0;32m 180\u001b[0m \u001b[1;33m@\u001b[0m\u001b[0mcall_highest_priority\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'__rdiv__'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 181\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0m__div__\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mother\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 182\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mMul\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mPow\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mother\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mS\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mNegativeOne\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 183\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 184\u001b[0m \u001b[1;33m@\u001b[0m\u001b[0m_sympifyit\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'other'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mNotImplemented\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mC:\\pyzo\\lib\\site-packages\\sympy\\core\\cache.py\u001b[0m in \u001b[0;36mwrapper\u001b[1;34m(*args, **kw_args)\u001b[0m\n\u001b[0;32m 90\u001b[0m \u001b[1;32mexcept\u001b[0m \u001b[0mKeyError\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 91\u001b[0m \u001b[1;32mpass\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 92\u001b[1;33m \u001b[0mfunc_cache_it_cache\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mk\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mr\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mfunc\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkw_args\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 93\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mr\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 94\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mwrapper\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mC:\\pyzo\\lib\\site-packages\\sympy\\core\\operations.py\u001b[0m in \u001b[0;36m__new__\u001b[1;34m(cls, *args, **options)\u001b[0m\n\u001b[0;32m 36\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0margs\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m0\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 37\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 38\u001b[1;33m \u001b[0mc_part\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mnc_part\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0morder_symbols\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mcls\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mflatten\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 39\u001b[0m \u001b[0mis_commutative\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[0mnc_part\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 40\u001b[0m \u001b[0mobj\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mcls\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_from_args\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mc_part\u001b[0m \u001b[1;33m+\u001b[0m \u001b[0mnc_part\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mis_commutative\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mC:\\pyzo\\lib\\site-packages\\sympy\\core\\mul.py\u001b[0m in \u001b[0;36mflatten\u001b[1;34m(cls, seq)\u001b[0m\n\u001b[0;32m 553\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 554\u001b[0m \u001b[1;31m# order commutative part canonically\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 555\u001b[1;33m \u001b[0m_mulsort\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mc_part\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 556\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 557\u001b[0m \u001b[1;31m# current code expects coeff to be always in slot-0\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mC:\\pyzo\\lib\\site-packages\\sympy\\core\\mul.py\u001b[0m in \u001b[0;36m_mulsort\u001b[1;34m(args)\u001b[0m\n\u001b[0;32m 29\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0m_mulsort\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 30\u001b[0m \u001b[1;31m# in-place sorting of args\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 31\u001b[1;33m \u001b[0margs\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msort\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0m_args_sortkey\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 32\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 33\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mC:\\pyzo\\lib\\site-packages\\sympy\\core\\compatibility.py\u001b[0m in \u001b[0;36m__lt__\u001b[1;34m(self, other)\u001b[0m\n\u001b[0;32m 131\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 132\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0m__lt__\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mother\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 133\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mmycmp\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mobj\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mother\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mobj\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m<\u001b[0m \u001b[1;36m0\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 134\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 135\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0m__gt__\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mother\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mC:\\pyzo\\lib\\site-packages\\sympy\\core\\basic.py\u001b[0m in \u001b[0;36mcompare\u001b[1;34m(self, other)\u001b[0m\n\u001b[0;32m 178\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mself\u001b[0m \u001b[1;32mis\u001b[0m \u001b[0mother\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 179\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[1;36m0\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 180\u001b[1;33m \u001b[0mc\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mcmp\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m__class__\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mother\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m__class__\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 181\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mc\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 182\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mc\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mC:\\pyzo\\lib\\site-packages\\sympy\\core\\compatibility.py\u001b[0m in \u001b[0;36mcmp\u001b[1;34m(a, b)\u001b[0m\n\u001b[0;32m 154\u001b[0m \u001b[1;32mexcept\u001b[0m \u001b[0mAttributeError\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 155\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0mcmp\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0ma\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mb\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 156\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[1;33m(\u001b[0m\u001b[0ma\u001b[0m \u001b[1;33m>\u001b[0m \u001b[0mb\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m-\u001b[0m \u001b[1;33m(\u001b[0m\u001b[0ma\u001b[0m \u001b[1;33m<\u001b[0m \u001b[0mb\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 157\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 158\u001b[0m \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mC:\\pyzo\\lib\\site-packages\\sympy\\core\\core.py\u001b[0m in \u001b[0;36m__gt__\u001b[1;34m(cls, other)\u001b[0m\n\u001b[0;32m 132\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 133\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0m__gt__\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mcls\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mother\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 134\u001b[1;33m \u001b[1;32mif\u001b[0m \u001b[0mcls\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m__cmp__\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mother\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m==\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 135\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[1;32mTrue\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 136\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[1;32mFalse\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mC:\\pyzo\\lib\\site-packages\\sympy\\core\\core.py\u001b[0m in \u001b[0;36m__cmp__\u001b[1;34m(cls, other)\u001b[0m\n\u001b[0;32m 116\u001b[0m \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 117\u001b[0m \u001b[0mi1\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mordering_of_classes\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mindex\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mn1\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 118\u001b[1;33m \u001b[1;32mexcept\u001b[0m \u001b[0mValueError\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 119\u001b[0m \u001b[0mi1\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mUNKNOWN\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 120\u001b[0m \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;31mKeyboardInterrupt\u001b[0m: "
]
}
],
"prompt_number": 33
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": []
}
],
"metadata": {}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment