{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# From Boyer-Lindquist to Kerr coordinates\n",
"\n",
"This worksheet provides the primitives of the functions $r\\mapsto (r^2+a^2)/\\Delta$ and $r\\mapsto 1/\\Delta$, which appear in the relations between Boyer-Lindquist coordinates and Kerr ones.\n",
"\n",
"We set $m=1$."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": true,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"%display latex"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/plain": [
"(r, a)"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"var('r a', domain='real')"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": true,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"assume(a<1)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": true,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"assume(a>=0)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/plain": [
"(a^2 + r^2)/(a^2 + r^2 - 2*r)"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"f = (r^2 + a^2)/(r^2 - 2*r + a^2)\n",
"f"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/plain": [
"r + log((r - sqrt(-a^2 + 1) - 1)/(r + sqrt(-a^2 + 1) - 1))/sqrt(-a^2 + 1) + log(a^2 + r^2 - 2*r)"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"s = integrate(f, r)\n",
"s"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/plain": [
"(a^2 + r^2)/(a^2 + r^2 - 2*r)"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"diff(s, r).simplify_full()"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"rp = 1 + sqrt(1-a^2)\n",
"rm = 1 - sqrt(1-a^2)"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/plain": [
"r + ((sqrt(-a^2 + 1) - 1)*log(abs(1/2*r + 1/2*sqrt(-a^2 + 1) - 1/2)) + (sqrt(-a^2 + 1) + 1)*log(abs(1/2*r - 1/2*sqrt(-a^2 + 1) - 1/2)))/sqrt(-a^2 + 1)"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"F = r + 1/sqrt(1-a^2)*(rp*ln(abs((r-rp)/2)) - rm*ln(abs((r-rm)/2)))\n",
"F"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/plain": [
"(a^2 + r^2)/(a^2 + r^2 - 2*r)"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dFdr = diff(F,r).simplify_full()\n",
"dFdr"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/plain": [
"True"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"bool(dFdr == f)"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/plain": [
"1/(a^2 + r^2 - 2*r)"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"g = 1/(r^2 - 2*r + a^2)\n",
"g"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/plain": [
"1/2*log((r - sqrt(-a^2 + 1) - 1)/(r + sqrt(-a^2 + 1) - 1))/sqrt(-a^2 + 1)"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"integrate(g,r)"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/plain": [
"1/2*log(abs((r - sqrt(-a^2 + 1) - 1)/(r + sqrt(-a^2 + 1) - 1)))/sqrt(-a^2 + 1)"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"G = 1/(2*sqrt(1-a^2))*ln(abs((r-rp)/(r-rm)))\n",
"G"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/plain": [
"1/(a^2 + r^2 - 2*r)"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dGdr = diff(G,r).simplify_full()\n",
"dGdr"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
""
],
"text/plain": [
"True"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"bool(dGdr == g)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "SageMath 8.0.beta1",
"language": "",
"name": "sagemath"
},
"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.13"
}
},
"nbformat": 4,
"nbformat_minor": 2
}