##// END OF EJS Templates
Merge pull request #2462 from takluyver/extensions-loaded...
r8658:ddeb9bb3 merge
Show More
Typesetting Math Using MathJax.ipynb
346 lines | 10.8 KiB | text/plain | TextLexer
/ docs / examples / notebooks / Typesetting Math Using MathJax.ipynb
Aron Ahmadia
added math typesetting example notebook
r8567 {
"metadata": {
"name": "Typesetting Math Using MathJax"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The Markdown parser included in IPython is MathJax-aware. This means that you can freely mix in mathematical expressions using the [MathJax subset of Tex and LaTeX](http://docs.mathjax.org/en/latest/tex.html#tex-support). [Some examples from the MathJax site](http://www.mathjax.org/demos/tex-samples/) are reproduced below, as well as the Markdown+TeX source."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Motivating Examples\n",
"\n",
"---\n",
"\n",
"## The Lorenz Equations\n",
"### Source\n",
"```\\begin{aligned}\n",
"\\dot{x} & = \\sigma(y-x) \\\\\n",
"\\dot{y} & = \\rho x - y - xz \\\\\n",
"\\dot{z} & = -\\beta z + xy\n",
"\\end{aligned}\n",
"```\n",
"### Display\n",
"\\begin{aligned}\n",
"\\dot{x} & = \\sigma(y-x) \\\\\n",
"\\dot{y} & = \\rho x - y - xz \\\\\n",
"\\dot{z} & = -\\beta z + xy\n",
"\\end{aligned}"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## The Cauchy-Schwarz Inequality\n",
"### Source\n",
"```\\begin{equation*}\n",
"\\left( \\sum_{k=1}^n a_k b_k \\right)^2 \\leq \\left( \\sum_{k=1}^n a_k^2 \\right) \\left( \\sum_{k=1}^n b_k^2 \\right)\n",
"\\end{equation*}\n",
"```\n",
"### Display\n",
"\\begin{equation*}\n",
"\\left( \\sum_{k=1}^n a_k b_k \\right)^2 \\leq \\left( \\sum_{k=1}^n a_k^2 \\right) \\left( \\sum_{k=1}^n b_k^2 \\right)\n",
"\\end{equation*}"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## A Cross Product Formula\n",
"### Source\n",
"```\\begin{equation*}\n",
"\\mathbf{V}_1 \\times \\mathbf{V}_2 = \\begin{vmatrix}\n",
"\\mathbf{i} & \\mathbf{j} & \\mathbf{k} \\\\\n",
"\\frac{\\partial X}{\\partial u} & \\frac{\\partial Y}{\\partial u} & 0 \\\\\n",
"\\frac{\\partial X}{\\partial v} & \\frac{\\partial Y}{\\partial v} & 0\n",
"\\end{vmatrix} \n",
"\\end{equation*}\n",
"```\n",
"### Display\n",
"\\begin{equation*}\n",
"\\mathbf{V}_1 \\times \\mathbf{V}_2 = \\begin{vmatrix}\n",
"\\mathbf{i} & \\mathbf{j} & \\mathbf{k} \\\\\n",
"\\frac{\\partial X}{\\partial u} & \\frac{\\partial Y}{\\partial u} & 0 \\\\\n",
"\\frac{\\partial X}{\\partial v} & \\frac{\\partial Y}{\\partial v} & 0\n",
"\\end{vmatrix} \n",
"\\end{equation*}"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## The probability of getting \\(k\\) heads when flipping \\(n\\) coins is\n",
"### Source\n",
"```\\begin{equation*}\n",
"P(E) = {n \\choose k} p^k (1-p)^{ n-k} \n",
"\\end{equation*}\n",
"```\n",
"### Display\n",
"\\begin{equation*}\n",
"P(E) = {n \\choose k} p^k (1-p)^{ n-k} \n",
"\\end{equation*}"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## An Identity of Ramanujan\n",
"### Source\n",
"```\\begin{equation*}\n",
"\\frac{1}{\\Bigl(\\sqrt{\\phi \\sqrt{5}}-\\phi\\Bigr) e^{\\frac25 \\pi}} =\n",
"1+\\frac{e^{-2\\pi}} {1+\\frac{e^{-4\\pi}} {1+\\frac{e^{-6\\pi}}\n",
"{1+\\frac{e^{-8\\pi}} {1+\\ldots} } } } \n",
"\\end{equation*}\n",
"```\n",
"### Display\n",
"\\begin{equation*}\n",
"\\frac{1}{\\Bigl(\\sqrt{\\phi \\sqrt{5}}-\\phi\\Bigr) e^{\\frac25 \\pi}} =\n",
"1+\\frac{e^{-2\\pi}} {1+\\frac{e^{-4\\pi}} {1+\\frac{e^{-6\\pi}}\n",
"{1+\\frac{e^{-8\\pi}} {1+\\ldots} } } } \n",
"\\end{equation*}"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## A Rogers-Ramanujan Identity\n",
"### Source\n",
"```\\begin{equation*}\n",
"1 + \\frac{q^2}{(1-q)}+\\frac{q^6}{(1-q)(1-q^2)}+\\cdots =\n",
"\\prod_{j=0}^{\\infty}\\frac{1}{(1-q^{5j+2})(1-q^{5j+3})},\n",
"\\quad\\quad \\text{for $|q|<1$}. \n",
"\\end{equation*}\n",
"```\n",
"### Display\n",
"\\begin{equation*}\n",
"1 + \\frac{q^2}{(1-q)}+\\frac{q^6}{(1-q)(1-q^2)}+\\cdots =\n",
"\\prod_{j=0}^{\\infty}\\frac{1}{(1-q^{5j+2})(1-q^{5j+3})},\n",
"\\quad\\quad \\text{for $|q|<1$}. \n",
"\\end{equation*}"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Maxwell's Equations\n",
"### Source\n",
"```\\begin{aligned}\n",
"\\nabla \\times \\vec{\\mathbf{B}} -\\, \\frac1c\\, \\frac{\\partial\\vec{\\mathbf{E}}}{\\partial t} & = \\frac{4\\pi}{c}\\vec{\\mathbf{j}} \\\\ \\nabla \\cdot \\vec{\\mathbf{E}} & = 4 \\pi \\rho \\\\\n",
"\\nabla \\times \\vec{\\mathbf{E}}\\, +\\, \\frac1c\\, \\frac{\\partial\\vec{\\mathbf{B}}}{\\partial t} & = \\vec{\\mathbf{0}} \\\\\n",
"\\nabla \\cdot \\vec{\\mathbf{B}} & = 0 \n",
"\\end{aligned}\n",
"```\n",
"### Display\n",
"\\begin{aligned}\n",
"\\nabla \\times \\vec{\\mathbf{B}} -\\, \\frac1c\\, \\frac{\\partial\\vec{\\mathbf{E}}}{\\partial t} & = \\frac{4\\pi}{c}\\vec{\\mathbf{j}} \\\\ \\nabla \\cdot \\vec{\\mathbf{E}} & = 4 \\pi \\rho \\\\\n",
"\\nabla \\times \\vec{\\mathbf{E}}\\, +\\, \\frac1c\\, \\frac{\\partial\\vec{\\mathbf{B}}}{\\partial t} & = \\vec{\\mathbf{0}} \\\\\n",
"\\nabla \\cdot \\vec{\\mathbf{B}} & = 0 \n",
"\\end{aligned}"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Equation Numbering and References\n",
"\n",
"---\n",
"\n",
"These equation reference examples are adapted from an [example page in the MathJax documentation](http://cdn.mathjax.org/mathjax/latest/test/sample-eqrefs.html). Note that it's okay to reference equations across cells. Click inside this cell to see the source.\n",
"\n",
"## Labeled equations and references\n",
"\n",
"Here is a labeled equation:\n",
"\\begin{equation}\n",
"x+1\\over\\sqrt{1-x^2}\\label{ref1}\n",
"\\end{equation}\n",
"\n",
"with a reference to ref1: \\ref{ref1},\n",
"and another numbered one with no label:\n",
"\\begin{equation}\n",
"x+1\\over\\sqrt{1-x^2}\n",
"\\end{equation}"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## \\nonumber and equation*\n",
"\n",
"This one uses \\nonumber:\n",
"\\begin{equation}\n",
"x+1\\over\\sqrt{1-x^2}\\nonumber\n",
"\\end{equation}\n",
"\n",
"Here's one with the equation* environment:\n",
"\\begin{equation*}\n",
"x+1\\over\\sqrt{1-x^2}\n",
"\\end{equation*}"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Forward references\n",
"\n",
"This is a forward reference [\\ref{ref2}] and another \\eqref{ref2} for the \n",
"following equation:\n",
"\n",
"\\begin{equation}\n",
"x+1\\over\\sqrt{1-x^2}\\label{ref2}\n",
"\\end{equation}\n",
"\n",
"More math:\n",
"\\begin{equation}\n",
"x+1\\over\\sqrt{1-x^2}\n",
"\\end{equation}"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### References inline and in environments\n",
"\n",
"Here is a ref inside math: $\\ref{ref2}+1$ and text after it.\n",
"\n",
"\\begin{align} \n",
"x& = y_1-y_2+y_3-y_5+y_8-\\dots \n",
"&& \\text{by \\eqref{ref1}}\\\\ \n",
"& = y'\\circ y^* && \\text{(by \\eqref{ref3})}\\\\ \n",
"& = y(0) y' && \\text {by Axiom 1.} \n",
"\\end{align} \n",
"\n",
"### Missing references\n",
"Here's a bad ref [\\ref{ref4}] to a nonexistent label.\n",
"\n",
"### Numbering align environments\n",
"An alignment:\n",
"\\begin{align}\n",
"a&=b\\label{ref3}\\cr\n",
"&=c+d\n",
"\\end{align}\n",
"and a starred one:\n",
"\\begin{align*}\n",
"a&=b\\cr\n",
"&=c+d\n",
"\\end{align*}"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Inline Typesetting (Mixing Markdown and TeX)\n",
"\n",
"---\n",
"\n",
"While display equations look good for a page of samples, the ability to mix math and *formatted* **text** in a paragraph is also important.\n",
"\n",
"## Source\n",
"``` This expression $\\sqrt{3x-1}+(1+x)^2$ is an example of a TeX inline equation in a **[Markdown-formatted](http://daringfireball.net/projects/markdown/)** sentence. \n",
"```\n",
"## Display\n",
"This expression $\\sqrt{3x-1}+(1+x)^2$ is an example of a TeX inline equation in a **[Markdown-formatted](http://daringfireball.net/projects/markdown/)** sentence. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Other Syntax\n",
"\n",
"---\n",
"\n",
"You will notice in other places on the web that `$$` are needed explicitly to begin and end MathJax typesetting. This is **not** required if you will be using TeX environments, but the IPython notebook will accept this syntax on legacy notebooks. \n",
"\n",
"### Source\n",
"```$$\n",
"\\begin{array}{c}\n",
"y_1 \\\\\\\n",
"y_2 \\mathtt{t}_i \\\\\\\n",
"z_{3,4}\n",
"\\end{array}\n",
"$$\n",
"```\n",
"\n",
"```\n",
"$$\n",
"\\begin{array}{c}\n",
"y_1 \\cr\n",
"y_2 \\mathtt{t}_i \\cr\n",
"y_{3}\n",
"\\end{array}\n",
"$$\n",
"```\n",
"\n",
"```\n",
"$$\\begin{eqnarray} \n",
"x' &=& &x \\sin\\phi &+& z \\cos\\phi \\\\\n",
"z' &=& - &x \\cos\\phi &+& z \\sin\\phi \\\\\n",
"\\end{eqnarray}$$\n",
"```\n",
"\n",
"```\n",
"$$\n",
"x=4\n",
"$$\n",
"```\n",
"\n",
"### Display\n",
"$$\n",
"\\begin{array}{c}\n",
"y_1 \\\\\\\n",
"y_2 \\mathtt{t}_i \\\\\\\n",
"z_{3,4}\n",
"\\end{array}\n",
"$$\n",
"\n",
"$$\n",
"\\begin{array}{c}\n",
"y_1 \\cr\n",
"y_2 \\mathtt{t}_i \\cr\n",
"y_{3}\n",
"\\end{array}\n",
"$$\n",
"\n",
"$$\\begin{eqnarray} \n",
"x' &=& &x \\sin\\phi &+& z \\cos\\phi \\\\\n",
"z' &=& - &x \\cos\\phi &+& z \\sin\\phi \\\\\n",
"\\end{eqnarray}$$\n",
"\n",
"$$\n",
"x=4\n",
"$$"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": []
}
],
"metadata": {}
}
]
}