Factoring.ipynb
138 lines
| 3.2 KiB
| text/plain
|
TextLexer
Brian E. Granger
|
r16092 | { | |
Min RK
|
r18669 | "cells": [ | |
Brian E. Granger
|
r16092 | { | |
Min RK
|
r18669 | "cell_type": "markdown", | |
"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", | |||
"execution_count": 1, | |||
"metadata": { | |||
"collapsed": false | |||
}, | |||
"outputs": [], | |||
"source": [ | |||
"from IPython.html.widgets import interact\n", | |||
"from IPython.display import display" | |||
] | |||
}, | |||
{ | |||
"cell_type": "code", | |||
"execution_count": 2, | |||
"metadata": { | |||
"collapsed": false | |||
}, | |||
"outputs": [], | |||
"source": [ | |||
"from sympy import Symbol, Eq, factor, init_printing\n", | |||
"init_printing(use_latex='mathjax')" | |||
] | |||
}, | |||
{ | |||
"cell_type": "code", | |||
"execution_count": 3, | |||
"metadata": { | |||
"collapsed": false | |||
}, | |||
"outputs": [], | |||
"source": [ | |||
"x = Symbol('x')" | |||
] | |||
}, | |||
{ | |||
"cell_type": "code", | |||
"execution_count": 4, | |||
"metadata": { | |||
"collapsed": false | |||
}, | |||
"outputs": [], | |||
"source": [ | |||
"def factorit(n):\n", | |||
" display(Eq(x**n-1, factor(x**n-1)))" | |||
] | |||
}, | |||
{ | |||
"cell_type": "markdown", | |||
"metadata": {}, | |||
"source": [ | |||
"Notice how the output of the `factorit` function is properly formatted LaTeX." | |||
] | |||
}, | |||
{ | |||
"cell_type": "code", | |||
"execution_count": 5, | |||
"metadata": { | |||
"collapsed": false | |||
}, | |||
"outputs": [ | |||
Brian E. Granger
|
r16092 | { | |
Min RK
|
r18669 | "data": { | |
"text/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)$$" | |||
], | |||
"text/plain": [ | |||
" 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" | |||
] | |||
}, | |||
Brian E. Granger
|
r16092 | "metadata": {}, | |
Min RK
|
r18669 | "output_type": "display_data" | |
} | |||
], | |||
"source": [ | |||
"factorit(12)" | |||
] | |||
}, | |||
{ | |||
"cell_type": "code", | |||
"execution_count": 6, | |||
"metadata": { | |||
"collapsed": false | |||
}, | |||
"outputs": [ | |||
Brian E. Granger
|
r16092 | { | |
Min RK
|
r18669 | "data": { | |
"text/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)$$" | |||
], | |||
"text/plain": [ | |||
" 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" | |||
] | |||
}, | |||
Brian E. Granger
|
r16092 | "metadata": {}, | |
Min RK
|
r18669 | "output_type": "display_data" | |
Brian E. Granger
|
r16092 | } | |
], | |||
Min RK
|
r18669 | "source": [ | |
"interact(factorit, n=(2,40));" | |||
] | |||
}, | |||
{ | |||
"cell_type": "code", | |||
"execution_count": null, | |||
"metadata": { | |||
"collapsed": false | |||
}, | |||
"outputs": [], | |||
"source": [] | |||
Brian E. Granger
|
r16092 | } | |
Min RK
|
r18669 | ], | |
"metadata": { | |||
"signature": "sha256:5f38c57d9570e4b6f6edf98c38a7bff81cd16365baa11fd40265f1504bfc008c" | |||
}, | |||
"nbformat": 4, | |||
"nbformat_minor": 0 | |||
Brian E. Granger
|
r16092 | } |