Created
July 1, 2014 15:06
-
-
Save cdeil/ff29110c1257fde3e06a to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"metadata": { | |
"name": "", | |
"signature": "sha256:04bd35c6fcc90d33b783c16462688400728fc98b67ca15c0b03661e3580df68e" | |
}, | |
"nbformat": 3, | |
"nbformat_minor": 0, | |
"worksheets": [ | |
{ | |
"cells": [ | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"import numpy as np\n", | |
"\n", | |
"def diff_flux(energy, gamma):\n", | |
" return energy ** (- gamma)\n", | |
"\n", | |
"def int_flux(energy_min, energy_max, gamma):\n", | |
" return (energy_max ** (1 - gamma) - energy_min ** (1 - gamma)) / (1 - gamma)\n", | |
"\n", | |
"def energy_lafferty_power_law(energy_min, energy_max, spectral_index):\n", | |
" term0 = 1 - spectral_index\n", | |
" term1 = energy_max - energy_min\n", | |
" term2 = 1. / term0\n", | |
" flux_lw = term2 / term1 * (energy_max ** term0 - energy_min ** term0)\n", | |
" energy_lw = np.exp(- np.log(flux_lw) / spectral_index)\n", | |
" return energy_lw, flux_lw\n", | |
"\n", | |
"for spectral_index in [1.1, 2, 3, 4]:\n", | |
" energy_min, energy_max = 1, 2\n", | |
" #energy_min, energy_max = 10, 11\n", | |
" flux_min, flux_max = diff_flux(energy_min, spectral_index), diff_flux(energy_max, spectral_index)\n", | |
" energy_lw, flux_lw = energy_lafferty_power_law(energy_min, energy_max, spectral_index)\n", | |
" print('spectral_index = {0}'.format(spectral_index))\n", | |
" print('energy:', energy_min, energy_max, energy_lw)\n", | |
" print('flux:', flux_min, flux_max, flux_lw)\n", | |
" print(flux_lw * (energy_max - energy_min), int_flux(energy_min, energy_max, spectral_index))\n", | |
" x_lw = np.log(energy_lw / energy_min) / np.log(energy_max / energy_min)\n", | |
" print('x:', x_lw)" | |
], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"stream": "stdout", | |
"text": [ | |
"spectral_index = 1.1\n", | |
"('energy:', 1, 2, 1.4398202389003543)\n", | |
"('flux:', 1.0, 0.4665164957684037, 0.6696700846319253)\n", | |
"(0.6696700846319253, 0.6696700846319253)\n", | |
"('x:', 0.52588870289285417)\n", | |
"spectral_index = 2\n", | |
"('energy:', 1, 2, 1.4142135623730949)\n", | |
"('flux:', 1.0, 0.25, 0.5)\n", | |
"(0.5, 0.5)\n", | |
"('x:', 0.49999999999999994)\n", | |
"spectral_index = 3\n", | |
"('energy:', 1, 2, 1.3867225487012693)\n", | |
"('flux:', 1.0, 0.125, 0.375)\n", | |
"(0.375, 0.375)\n", | |
"('x:', 0.47167916642628116)\n", | |
"spectral_index = 4\n", | |
"('energy:', 1, 2, 1.3607498666342404)\n", | |
"('flux:', 1.0, 0.0625, 0.29166666666666663)\n", | |
"(0.29166666666666663, 0.2916666666666667)\n", | |
"('x:', 0.44440189466588803)\n" | |
] | |
} | |
], | |
"prompt_number": 12 | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"2 ** (1. / 3)" | |
], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"metadata": {}, | |
"output_type": "pyout", | |
"prompt_number": 8, | |
"text": [ | |
"1.2599210498948732" | |
] | |
} | |
], | |
"prompt_number": 8 | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [] | |
} | |
], | |
"metadata": {} | |
} | |
] | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment