##// END OF EJS Templates
Update examples, fixing bugs found in review.
Update examples, fixing bugs found in review.

File last commit:

r16120:24b93a1d
r17946:fd20d2a3
Show More
Factoring.ipynb
140 lines | 3.6 KiB | text/plain | TextLexer
Brian E. Granger
Refactoring interact examples.
r16092 {
"metadata": {
"name": "",
"signature": "sha256:5f38c57d9570e4b6f6edf98c38a7bff81cd16365baa11fd40265f1504bfc008c"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "heading",
"level": 1,
"metadata": {},
"source": [
"Factoring Polynomials with SymPy"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Here is an example that uses [SymPy](http://sympy.org/en/index.html) to factor polynomials."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"from IPython.html.widgets import interact\n",
"from IPython.display import display"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 1
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"from sympy import Symbol, Eq, factor, init_printing\n",
"init_printing(use_latex='mathjax')"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 2
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"x = Symbol('x')"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 3
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"def factorit(n):\n",
" display(Eq(x**n-1, factor(x**n-1)))"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 4
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Notice how the output of the `factorit` function is properly formatted LaTeX."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"factorit(12)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"latex": [
"$$x^{12} - 1 = \\left(x - 1\\right) \\left(x + 1\\right) \\left(x^{2} + 1\\right) \\left(x^{2} - x + 1\\right) \\left(x^{2} + x + 1\\right) \\left(x^{4} - x^{2} + 1\\right)$$"
],
"metadata": {},
"output_type": "display_data",
"text": [
" 12 \u239b 2 \u239e \u239b 2 \u239e \u239b 2 \u239e \u239b 4 2 \u239e\n",
"x - 1 = (x - 1)\u22c5(x + 1)\u22c5\u239dx + 1\u23a0\u22c5\u239dx - x + 1\u23a0\u22c5\u239dx + x + 1\u23a0\u22c5\u239dx - x + 1\u23a0"
]
}
],
"prompt_number": 5
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"interact(factorit, n=(2,40));"
],
"language": "python",
"metadata": {},
"outputs": [
{
"latex": [
"$$x^{21} - 1 = \\left(x - 1\\right) \\left(x^{2} + x + 1\\right) \\left(x^{6} + x^{5} + x^{4} + x^{3} + x^{2} + x + 1\\right) \\left(x^{12} - x^{11} + x^{9} - x^{8} + x^{6} - x^{4} + x^{3} - x + 1\\right)$$"
],
"metadata": {},
"output_type": "display_data",
"text": [
" 21 \u239b 2 \u239e \u239b 6 5 4 3 2 \u239e \u239b 12 11 \n",
"x - 1 = (x - 1)\u22c5\u239dx + x + 1\u23a0\u22c5\u239dx + x + x + x + x + x + 1\u23a0\u22c5\u239dx - x + x\n",
"\n",
"9 8 6 4 3 \u239e\n",
" - x + x - x + x - x + 1\u23a0"
]
}
],
"prompt_number": 6
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": []
}
],
"metadata": {}
}
]
}