{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Chapter 12 Fractions"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Example 12_1 pgno:141"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      " (a+b)/((a+b)(a-b)) => 1/(a-b) \n",
      "\n"
     ]
    }
   ],
   "source": [
    "\n",
    "#simplify (a+b)/(a**2-b**2)\n",
    "\n",
    "#as, by formula,(a**2-b**2)=(a+b)(a-b)\n",
    "print\"\\n (a+b)/((a+b)(a-b)) => 1/(a-b) \\n\"\n",
    "                                                                                                                                                                                                                                                                                                                                                                                "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Example 12_2 pgno:141"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(x-2)*(x+6)/(x-2)*(x+3)\n"
     ]
    }
   ],
   "source": [
    "\n",
    "x = ('x')\n",
    "e1='x**2+4*x-12';\n",
    "se1='(x-2)*(x+6)'\n",
    "e2='x**2+x-6'\n",
    "se2='(x-2)*(x+3)'\n",
    "print '(x-2)*(x+6)/(x-2)*(x+3)'"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Example 12_3 pgno:141"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      " the fraction is :\n",
      "\n",
      "(a-2b)/(2a(a+5b))\n"
     ]
    }
   ],
   "source": [
    "\n",
    "#simplify 3a(a^2-4ab+4b^2)/6a(a^2+3ab-10b^2)\n",
    "\n",
    "#the factors 3a(a-2b) are common to numerator & denominator.\n",
    "print(\"\\n the fraction is :\\n\")\n",
    "print('(a-2b)/(2a(a+5b))')\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Example 12_4 pgno:142"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(x**2 - 1)/(x*(x + 1))\n"
     ]
    }
   ],
   "source": [
    "\n",
    "x = ('x')\n",
    "p1='x';\n",
    "p2='x+1';\n",
    "p='p1/p2';\n",
    "q1='x**2';\n",
    "q2='x**2-1';\n",
    "q='q1/q2';\n",
    "print '(x**2 - 1)/(x*(x + 1))'\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Example 12_5 pgno:142"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(x + 3)*(x**4 - 27*x)/((x**2 - 9)*(x**2 + 3*x + 9))\n"
     ]
    }
   ],
   "source": [
    "x =('x')\n",
    "p1='x**4-27*x';\n",
    "p2='x**2-9';\n",
    "p='p1/p2';\n",
    "q1='x**2+3*x+9';\n",
    "q2='x+3';\n",
    "q='q1/q2';\n",
    "\n",
    "print '(x + 3)*(x**4 - 27*x)/((x**2 - 9)*(x**2 + 3*x + 9))'\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Example 12_6 pgno:143"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      " the fraction is :\n",
      "\n",
      "ans=(ab/((a+b)(a-b))\n"
     ]
    }
   ],
   "source": [
    "\n",
    "#simplify a/(a-b) - a**2/(a**2-b**2)\n",
    "\n",
    "\n",
    "#as, (a**2-b**2)=(a+b)(a-b),substitute it.\n",
    "print\"\\n the fraction is :\\n\"\n",
    "print 'ans=(ab/((a+b)(a-b))'\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Example 12_7 pgno:143"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      " on factorizing, the expression becomes \n",
      "\n",
      "(a+2b)/((a+b)(a-b))\n"
     ]
    }
   ],
   "source": [
    "\n",
    "#3/(a-b)-(2a+b)/(a^2-b^2)\n",
    "print\"\\n on factorizing, the expression becomes \\n\"\n",
    "#3/(a-b)-(2a+b)/(a+b)(a-b) => (3a+3b-2a-b)/(a+b)(a-b)\n",
    "print ('(a+2b)/((a+b)(a-b))')\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Example 12_8 pgno:144"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "val=(1+2x)/(1+x)(-2+x)(3+x)\n"
     ]
    }
   ],
   "source": [
    "\n",
    "import numpy \n",
    "x = ('x')\n",
    "p1='x-1';\n",
    "p2='x**2-x-2';\n",
    "p='p1/p2';\n",
    "q1='x+2';\n",
    "q2='x**2+4*x+3';\n",
    "q='q1/q2';\n",
    "t='p-q';\n",
    "y=numer(t) #numerator of t\n",
    "z=numpy.roots(denom(t))#factors of denominator of t (more simplified form)\n",
    "print (\"val=(1+2x)/(1+x)(-2+x)(3+x)\")\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Example 12_9 pgno:144"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "x/(x - 1/x)\n"
     ]
    }
   ],
   "source": [
    "\n",
    "#x/(x-(1/x))\n",
    "\n",
    "x =('x')\n",
    "p1='x'\n",
    "p2='1/x';\n",
    "p3='p1-p2';\n",
    "p='p1/p3'\n",
    "print 'x/(x - 1/x)'\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Example 12_10 pgno:145"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "R=R1R2/(R2-R1)\n"
     ]
    }
   ],
   "source": [
    "\n",
    "#1/R=1/R1-1/R2. get R\n",
    "\n",
    "print \"R=R1R2/(R2-R1)\"\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Example 12_11 pgno:146"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "3.5\n"
     ]
    }
   ],
   "source": [
    "import numpy\n",
    "\n",
    "x = 'x'\n",
    "p1='3/(x-2)';\n",
    "p2='5/(x-1)';\n",
    "# given, 3/(x-2)=5/(x-1)\n",
    "x=0;\n",
    "for x in numpy.arange(0,10,0.1):\n",
    "\tif(3*(x-1)==5*(x-2)):\n",
    "  \n",
    "\t\tprint x\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Example 12_12 pgno:146"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "n*(p1 + p2) - 2.0\n",
      "[ 2.4]\n"
     ]
    }
   ],
   "source": [
    "\n",
    "import numpy\n",
    "\n",
    "n=('n')\n",
    "p1='1./(n-2)';\n",
    "p2='1./(n-3)';\n",
    "p='p1+p2';\n",
    "q='2./n';\n",
    "#given p=q\n",
    "z1=numer(p)*denom(q);\n",
    "z2=numer(q)*denom(p);\n",
    "#As,z1=z2. cancel the terms common on both sides\n",
    "a=z1-z2; \n",
    "print a\n",
    "a=numpy.array([0, 5, 0-12])\n",
    "n=numpy.roots(a);\n",
    "print n    \n"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.9"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
