Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Using the idmaths package
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"#import the idmaths package\n",
"import idmaths"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### The Champernowne Constant\n",
"Output the Champernowne constant up to the integer 100, in base 10 (default)."
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"\n",
"champernowne=idmaths.champernowne(100)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The string output:"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100\n"
]
}
],
"source": [
"print(champernowne[0])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The output in decimal format"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100\n"
]
}
],
"source": [
"print(champernowne[1])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Do the same up to the integer 1000, in base 2."
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"champernowne2=idmaths.champernowne(1000,base=2)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.11011100101110111100010011010101111001101111011111000010001100101001110100101011011010111110001100111010110111110011101111101111110000010000110001010001110010010010110011010011110100010100110101010101110110010110110111010111111000011000111001011001111010011010111011011011111100011100111101011101111110011110111111011111110000001000001100001010000111000100100010110001101000111100100010010011001010100101110011001001101100111010011111010000101000110100101010011101010010101011010110101011110110001011001101101010110111011100101110110111101011111110000011000011100010110001111001001100101110011011001111101000110100111010101101011110110011011011101110110111111100001110001111001011100111110100111010111101101110111111100011110011111010111101111111001111101111111011111111000000010000001100000101000001110000100100001011000011010000111100010001000100110001010100010111000110010001101100011101000111110010000100100011001001010010011100101001001010110010110100101111001100010011001100110101001101110011100100111011001111010011111101000001010000110100010101000111010010010100101101001101010011110101000101010011010101010101011101011001010110110101110101011111011000010110001101100101011001110110100101101011011011010110111101110001011100110111010101110111011110010111101101111101011111111000000110000011100001011000011110001001100010111000110110001111100100011001001110010101100101111001100110011011100111011001111110100001101000111010010110100111101010011010101110101101101011111011000110110011101101011011011110111001101110111011110110111111110000011100001111000101110001111100100111001011110011011100111111010001110100111101010111010111110110011101101111011101110111111110000111100011111001011110011111101001111010111110110111101111111100011111001111110101111101111111100111111011111111011111111100000000100000001100000010100000011100000100100000101100000110100000111100001000100001001100001010100001011100001100100001101100001110100001111100010000100010001100010010100010011100010100100010101100010110100010111100011000100011001100011010100011011100011100100011101100011110100011111100100000100100001100100010100100011100100100100100101100100110100100111100101000100101001100101010100101011100101100100101101100101110100101111100110000100110001100110010100110011100110100100110101100110110100110111100111000100111001100111010100111011100111100100111101100111110100111111101000000101000001101000010101000011101000100101000101101000110101000111101001000101001001101001010101001011101001100101001101101001110101001111101010000101010001101010010101010011101010100101010101101010110101010111101011000101011001101011010101011011101011100101011101101011110101011111101100000101100001101100010101100011101100100101100101101100110101100111101101000101101001101101010101101011101101100101101101101101110101101111101110000101110001101110010101110011101110100101110101101110110101110111101111000101111001101111010101111011101111100101111101101111110101111111110000000110000001110000010110000011110000100110000101110000110110000111110001000110001001110001010110001011110001100110001101110001110110001111110010000110010001110010010110010011110010100110010101110010110110010111110011000110011001110011010110011011110011100110011101110011110110011111110100000110100001110100010110100011110100100110100101110100110110100111110101000110101001110101010110101011110101100110101101110101110110101111110110000110110001110110010110110011110110100110110101110110110110110111110111000110111001110111010110111011110111100110111101110111110110111111111000000111000001111000010111000011111000100111000101111000110111000111111001000111001001111001010111001011111001100111001101111001110111001111111010000111010001111010010111010011111010100111010101111010110111010111111011000111011001111011010111011011111011100111011101111011110111011111111100000111100001111100010111100011111100100111100101111100110111100111111101000111101001111101010111101011111101100111101101111101110111101111111110000111110001111110010111110011111110100111110101111110110111110111111111000111111001111111010111111011111111100111111101111111110111111111100000000010000000011000000010100000001110000001001000000101100000011010000001111000001000100000100110000010101000001011100000110010000011011000001110100000111110000100001000010001100001001010000100111000010100100001010110000101101000010111100001100010000110011000011010100001101110000111001000011101100001111010000111111000100000100010000110001000101000100011100010010010001001011000100110100010011110001010001000101001100010101010001010111000101100100010110110001011101000101111100011000010001100011000110010100011001110001101001000110101100011011010001101111000111000100011100110001110101000111011100011110010001111011000111110100011111110010000001001000001100100001010010000111001000100100100010110010001101001000111100100100010010010011001001010100100101110010011001001001101100100111010010011111001010000100101000110010100101001010011100101010010010101011001010110100101011110010110001001011001100101101010010110111001011100100101110110010111101001011111100110000010011000011001100010100110001110011001001001100101100110011010011001111001101000100110100110011010101001101011100110110010011011011001101110100110111110011100001001110001100111001010011100111001110100100111010110011101101001110111100111100010011110011001111010100111101110011111001001111101100111111010011111111010000000101000000110100000101010000011101000010010100001011010000110101000011110100010001010001001101000101010100010111010001100101000110110100011101010001111101001000010100100011010010010101001001110100101001010010101101001011010100101111010011000101001100110100110101010011011101001110010100111011010011110101001111110101000001010100001101010001010101000111010100100101010010110101001101010100111101010100010101010011010101010101010101110101011001010101101101010111010101011111010110000101011000110101100101010110011101011010010101101011010110110101011011110101110001010111001101011101010101110111010111100101011110110101111101010111111101100000010110000011011000010101100001110110001001011000101101100011010110001111011001000101100100110110010101011001011101100110010110011011011001110101100111110110100001011010001101101001010110100111011010100101101010110110101101011010111101101100010110110011011011010101101101110110111001011011101101101111010110111111011100000101110000110111000101011100011101110010010111001011011100110101110011110111010001011101001101110101010111010111011101100101110110110111011101011101111101111000010111100011011110010101111001110111101001011110101101111011010111101111011111000101111100110111110101011111011101111110010111111011011111110101111111111000000001100000001110000001011000000111100000100110000010111000001101100000111110000100011000010011100001010110000101111000011001100001101110000111011000011111100010000110001000111000100101100010011110001010011000101011100010110110001011111000110001100011001110001101011000110111100011100110001110111000111101100011111110010000011001000011100100010110010001111001001001100100101110010011011001001111100101000110010100111001010101100101011110010110011001011011100101110110010111111001100001100110001110011001011001100111100110100110011010111001101101100110111110011100011001110011100111010110011101111001111001100111101110011111011001111111101000000110100000111010000101101000011110100010011010001011101000110110100011111010010001101001001110100101011010010111101001100110100110111010011101101001111110101000011010100011101010010110101001111010101001101010101110101011011010101111101011000110101100111010110101101011011110101110011010111011101011110110101111111011000001101100001110110001011011000111101100100110110010111011001101101100111110110100011011010011101101010110110101111011011001101101101110110111011011011111101110000110111000111011100101101110011110111010011011101011101110110110111011111011110001101111001110111101011011110111101111100110111110111011111101101111111111000000011100000011110000010111000001111100001001110000101111000011011100001111110001000111000100111100010101110001011111000110011100011011110001110111000111111100100001110010001111001001011100100111110010100111001010111100101101110010111111001100011100110011110011010111001101111100111001110011101111001111011100111111110100000111010000111101000101110100011111010010011101001011110100110111010011111101010001110101001111010101011101010111110101100111010110111101011101110101111111011000011101100011110110010111011001111101101001110110101111011011011101101111110111000111011100111101110101110111011111011110011101111011110111110111011111111110000001111000001111100001011110000111111000100111100010111110001101111000111111100100011110010011111001010111100101111110011001111001101111100111011110011111111010000111101000111110100101111010011111101010011110101011111010110111101011111110110001111011001111101101011110110111111011100111101110111110111101111011111111110000011111000011111100010111110001111111001001111100101111110011011111001111111101000\n"
]
}
],
"source": [
"print(champernowne2[0])"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.11011100101110111100010011010101111001101111011111000010001100101001110100101011011010111110001100111010110111110011101111101111110000010000110001010001110010010010110011010011110100010100110101010101110110010110110111010111111000011000111001011001111010011010111011011011111100011100111101011101111110011110111111011111110000001000001100001010000111000100100010110001101000111100100010010011001010100101110011001001101100111010011111010000101000110100101010011101010010101011010110101011110110001011001101101010110111011100101110110111101011111110000011000011100010110001111001001100101110011011001111101000110100111010101101011110110011011011101110110111111100001110001111001011100111110100111010111101101110111111100011110011111010111101111111001111101111111011111111000000010000001100000101000001110000100100001011000011010000111100010001000100110001010100010111000110010001101100011101000111110010000100100011001001010010011100101001001010110010110100101111001100010011001100110101001101110011100100111011001111010011111101000001010000110100010101000111010010010100101101001101010011110101000101010011010101010101011101011001010110110101110101011111011000010110001101100101011001110110100101101011011011010110111101110001011100110111010101110111011110010111101101111101011111111000000110000011100001011000011110001001100010111000110110001111100100011001001110010101100101111001100110011011100111011001111110100001101000111010010110100111101010011010101110101101101011111011000110110011101101011011011110111001101110111011110110111111110000011100001111000101110001111100100111001011110011011100111111010001110100111101010111010111110110011101101111011101110111111110000111100011111001011110011111101001111010111110110111101111111100011111001111110101111101111111100111111011111111011111111100000000100000001100000010100000011100000100100000101100000110100000111100001000100001001100001010100001011100001100100001101100001110100001111100010000100010001100010010100010011100010100100010101100010110100010111100011000100011001100011010100011011100011100100011101100011110100011111100100000100100001100100010100100011100100100100100101100100110100100111100101000100101001100101010100101011100101100100101101100101110100101111100110000100110001100110010100110011100110100100110101100110110100110111100111000100111001100111010100111011100111100100111101100111110100111111101000000101000001101000010101000011101000100101000101101000110101000111101001000101001001101001010101001011101001100101001101101001110101001111101010000101010001101010010101010011101010100101010101101010110101010111101011000101011001101011010101011011101011100101011101101011110101011111101100000101100001101100010101100011101100100101100101101100110101100111101101000101101001101101010101101011101101100101101101101101110101101111101110000101110001101110010101110011101110100101110101101110110101110111101111000101111001101111010101111011101111100101111101101111110101111111110000000110000001110000010110000011110000100110000101110000110110000111110001000110001001110001010110001011110001100110001101110001110110001111110010000110010001110010010110010011110010100110010101110010110110010111110011000110011001110011010110011011110011100110011101110011110110011111110100000110100001110100010110100011110100100110100101110100110110100111110101000110101001110101010110101011110101100110101101110101110110101111110110000110110001110110010110110011110110100110110101110110110110110111110111000110111001110111010110111011110111100110111101110111110110111111111000000111000001111000010111000011111000100111000101111000110111000111111001000111001001111001010111001011111001100111001101111001110111001111111010000111010001111010010111010011111010100111010101111010110111010111111011000111011001111011010111011011111011100111011101111011110111011111111100000111100001111100010111100011111100100111100101111100110111100111111101000111101001111101010111101011111101100111101101111101110111101111111110000111110001111110010111110011111110100111110101111110110111110111111111000111111001111111010111111011111111100111111101111111110111111111100000000010000000011000000010100000001110000001001000000101100000011010000001111000001000100000100110000010101000001011100000110010000011011000001110100000111110000100001000010001100001001010000100111000010100100001010110000101101000010111100001100010000110011000011010100001101110000111001000011101100001111010000111111000100000100010000110001000101000100011100010010010001001011000100110100010011110001010001000101001100010101010001010111000101100100010110110001011101000101111100011000010001100011000110010100011001110001101001000110101100011011010001101111000111000100011100110001110101000111011100011110010001111011000111110100011111110010000001001000001100100001010010000111001000100100100010110010001101001000111100100100010010010011001001010100100101110010011001001001101100100111010010011111001010000100101000110010100101001010011100101010010010101011001010110100101011110010110001001011001100101101010010110111001011100100101110110010111101001011111100110000010011000011001100010100110001110011001001001100101100110011010011001111001101000100110100110011010101001101011100110110010011011011001101110100110111110011100001001110001100111001010011100111001110100100111010110011101101001110111100111100010011110011001111010100111101110011111001001111101100111111010011111111010000000101000000110100000101010000011101000010010100001011010000110101000011110100010001010001001101000101010100010111010001100101000110110100011101010001111101001000010100100011010010010101001001110100101001010010101101001011010100101111010011000101001100110100110101010011011101001110010100111011010011110101001111110101000001010100001101010001010101000111010100100101010010110101001101010100111101010100010101010011010101010101010101110101011001010101101101010111010101011111010110000101011000110101100101010110011101011010010101101011010110110101011011110101110001010111001101011101010101110111010111100101011110110101111101010111111101100000010110000011011000010101100001110110001001011000101101100011010110001111011001000101100100110110010101011001011101100110010110011011011001110101100111110110100001011010001101101001010110100111011010100101101010110110101101011010111101101100010110110011011011010101101101110110111001011011101101101111010110111111011100000101110000110111000101011100011101110010010111001011011100110101110011110111010001011101001101110101010111010111011101100101110110110111011101011101111101111000010111100011011110010101111001110111101001011110101101111011010111101111011111000101111100110111110101011111011101111110010111111011011111110101111111111000000001100000001110000001011000000111100000100110000010111000001101100000111110000100011000010011100001010110000101111000011001100001101110000111011000011111100010000110001000111000100101100010011110001010011000101011100010110110001011111000110001100011001110001101011000110111100011100110001110111000111101100011111110010000011001000011100100010110010001111001001001100100101110010011011001001111100101000110010100111001010101100101011110010110011001011011100101110110010111111001100001100110001110011001011001100111100110100110011010111001101101100110111110011100011001110011100111010110011101111001111001100111101110011111011001111111101000000110100000111010000101101000011110100010011010001011101000110110100011111010010001101001001110100101011010010111101001100110100110111010011101101001111110101000011010100011101010010110101001111010101001101010101110101011011010101111101011000110101100111010110101101011011110101110011010111011101011110110101111111011000001101100001110110001011011000111101100100110110010111011001101101100111110110100011011010011101101010110110101111011011001101101101110110111011011011111101110000110111000111011100101101110011110111010011011101011101110110110111011111011110001101111001110111101011011110111101111100110111110111011111101101111111111000000011100000011110000010111000001111100001001110000101111000011011100001111110001000111000100111100010101110001011111000110011100011011110001110111000111111100100001110010001111001001011100100111110010100111001010111100101101110010111111001100011100110011110011010111001101111100111001110011101111001111011100111111110100000111010000111101000101110100011111010010011101001011110100110111010011111101010001110101001111010101011101010111110101100111010110111101011101110101111111011000011101100011110110010111011001111101101001110110101111011011011101101111110111000111011100111101110101110111011111011110011101111011110111110111011111111110000001111000001111100001011110000111111000100111100010111110001101111000111111100100011110010011111001010111100101111110011001111001101111100111011110011111111010000111101000111110100101111010011111101010011110101011111010110111101011111110110001111011001111101101011110110111111011100111101110111110111101111011111111110000011111000011111100010111110001111111001001111100101111110011011111001111111101000\n"
]
}
],
"source": [
"print(champernowne2[1])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### The Copeland-Erdős Constant\n",
"Output the Copeland-Erdős constant up to the integer 100."
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"copelanderdos=idmaths.copelanderdos(100)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Print the string output, and the output in Python decimal format."
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.2357111317192329313741434753596167717379838997101103107109113127131137139149151157163167173179181191193197199211223227229233239241251257263269271277281283293307311313317331337347349353359367373379383389397401409419421431433439443449457461463467479487491499503509521523541\n",
"0.2357111317192329313741434753596167717379838997101103107109113127131137139149151157163167173179181191193197199211223227229233239241251257263269271277281283293307311313317331337347349353359367373379383389397401409419421431433439443449457461463467479487491499503509521523541\n"
]
}
],
"source": [
"print(copelanderdos[0])\n",
"print(copelanderdos[1])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Output the Copeland-Erdős constant up to the integer 500."
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [],
"source": [
"copelanderdos500=idmaths.copelanderdos(500)"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.235711131719232931374143475359616771737983899710110310710911312713113713914915115716316717317918119119319719921122322722923323924125125726326927127728128329330731131331733133734734935335936737337938338939740140941942143143343944344945746146346747948749149950350952152354154755756356957157758759359960160761361761963164164364765365966167367768369170170971972773373974375175776176977378779780981182182382782983985385785986387788188388790791191992993794194795396797197798399199710091013101910211031103310391049105110611063106910871091109310971103110911171123112911511153116311711181118711931201121312171223122912311237124912591277127912831289129112971301130313071319132113271361136713731381139914091423142714291433143914471451145314591471148114831487148914931499151115231531154315491553155915671571157915831597160116071609161316191621162716371657166316671669169316971699170917211723173317411747175317591777178317871789180118111823183118471861186718711873187718791889190119071913193119331949195119731979198719931997199920032011201720272029203920532063206920812083208720892099211121132129213121372141214321532161217922032207221322212237223922432251226722692273228122872293229723092311233323392341234723512357237123772381238323892393239924112417242324372441244724592467247324772503252125312539254325492551255725792591259326092617262126332647265726592663267126772683268726892693269927072711271327192729273127412749275327672777278927912797280128032819283328372843285128572861287928872897290329092917292729392953295729632969297129993001301130193023303730413049306130673079308330893109311931213137316331673169318131873191320332093217322132293251325332573259327132993301330733133319332333293331334333473359336133713373338933913407341334333449345734613463346734693491349935113517352735293533353935413547355735593571\n",
"0.235711131719232931374143475359616771737983899710110310710911312713113713914915115716316717317918119119319719921122322722923323924125125726326927127728128329330731131331733133734734935335936737337938338939740140941942143143343944344945746146346747948749149950350952152354154755756356957157758759359960160761361761963164164364765365966167367768369170170971972773373974375175776176977378779780981182182382782983985385785986387788188388790791191992993794194795396797197798399199710091013101910211031103310391049105110611063106910871091109310971103110911171123112911511153116311711181118711931201121312171223122912311237124912591277127912831289129112971301130313071319132113271361136713731381139914091423142714291433143914471451145314591471148114831487148914931499151115231531154315491553155915671571157915831597160116071609161316191621162716371657166316671669169316971699170917211723173317411747175317591777178317871789180118111823183118471861186718711873187718791889190119071913193119331949195119731979198719931997199920032011201720272029203920532063206920812083208720892099211121132129213121372141214321532161217922032207221322212237223922432251226722692273228122872293229723092311233323392341234723512357237123772381238323892393239924112417242324372441244724592467247324772503252125312539254325492551255725792591259326092617262126332647265726592663267126772683268726892693269927072711271327192729273127412749275327672777278927912797280128032819283328372843285128572861287928872897290329092917292729392953295729632969297129993001301130193023303730413049306130673079308330893109311931213137316331673169318131873191320332093217322132293251325332573259327132993301330733133319332333293331334333473359336133713373338933913407341334333449345734613463346734693491349935113517352735293533353935413547355735593571\n"
]
}
],
"source": [
"\n",
"print(copelanderdos500[0])\n",
"\n",
"print(copelanderdos500[1])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### A graphical demonstration of the normality of the Champernowne constant"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let us make a simple plot to show that the Champernowne constant is normal (i.e. its digits follow a uniform distribution). For each $c_n$, we find the number of occurrences of each digit as a fraction of the total number of digits. As $n$ increases, this should approach $1/10$."
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<function matplotlib.pyplot.show>"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x110eac9e8>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"import collections\n",
"n=np.arange(1,1000,1)\n",
"#Output the string. Remove zero and decimal point. Place in array.\n",
"champernowne=np.array([idmaths.champernowne(n)[0][2:] for n in n])\n",
"for cn in champernowne:\n",
" dictc=collections.Counter(cn)\n",
" freq=np.array([float(v) for v in dictc.values()])/len(cn)\n",
" x=list(dictc.keys())\n",
"\n",
" plt.scatter(x,freq,s=0.5)\n",
"\n",
"plt.xlabel('Digit')\n",
"plt.ylabel('Occurrence as fraction')\n",
" \n",
"plt.show"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.4"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment