Created
April 3, 2026 18:35
-
-
Save jmikedupont2/b0766375056f3e0c86ae7357902e809a to your computer and use it in GitHub Desktop.
Monster Moonshine LLM Brief Generator
This file contains hidden or 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
| <!DOCTYPE html> | |
| <html lang="en"> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
| <title>Monster Moonshine LLM Brief Generator</title> | |
| <style> | |
| @import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@300;400;600&display=swap'); | |
| :root { | |
| --bg: #0a0a0f; | |
| --text: #e8e8f0; | |
| --accent: #6366f1; | |
| --panel: #12121a; | |
| } | |
| * { margin: 0; padding: 0; box-sizing: border-box; } | |
| body { | |
| font-family: 'JetBrains Mono', monospace; | |
| background: var(--bg); | |
| color: var(--text); | |
| min-height: 100vh; | |
| padding: 1rem; | |
| } | |
| h1 { | |
| font-size: 1.5rem; | |
| color: var(--accent); | |
| margin-bottom: 0.5rem; | |
| } | |
| .subtitle { | |
| color: #666; | |
| font-size: 0.8rem; | |
| margin-bottom: 1rem; | |
| } | |
| .controls { | |
| display: flex; | |
| gap: 0.5rem; | |
| flex-wrap: wrap; | |
| margin-bottom: 1rem; | |
| } | |
| select, button { | |
| padding: 0.5rem; | |
| background: var(--panel); | |
| border: 1px solid #333; | |
| color: var(--text); | |
| border-radius: 4px; | |
| cursor: pointer; | |
| font-family: inherit; | |
| } | |
| button { | |
| background: var(--accent); | |
| border-color: var(--accent); | |
| } | |
| button:hover { | |
| opacity: 0.8; | |
| } | |
| #output { | |
| background: var(--panel); | |
| border: 1px solid #333; | |
| border-radius: 6px; | |
| padding: 1rem; | |
| min-height: 300px; | |
| white-space: pre-wrap; | |
| font-size: 0.85rem; | |
| line-height: 1.6; | |
| overflow-x: auto; | |
| max-height: 60vh; | |
| overflow-y: auto; | |
| } | |
| .copy-btn { | |
| margin-top: 0.5rem; | |
| } | |
| .checkbox-list { | |
| display: flex; | |
| flex-wrap: wrap; | |
| gap: 0.3rem; | |
| margin-bottom: 1rem; | |
| } | |
| .checkbox-list label { | |
| display: flex; | |
| align-items: center; | |
| gap: 0.2rem; | |
| padding: 0.3rem 0.5rem; | |
| background: var(--panel); | |
| border-radius: 4px; | |
| font-size: 0.75rem; | |
| cursor: pointer; | |
| } | |
| .checkbox-list input { | |
| accent-color: var(--accent); | |
| } | |
| </style> | |
| </head> | |
| <body> | |
| <h1>MONSTER MOONSHINE LLM BRIEF</h1> | |
| <p class="subtitle">Select items to include in LLM brief</p> | |
| <div class="checkbox-list" id="checkboxes"></div> | |
| <div class="controls"> | |
| <button onclick="generate()">Generate Brief</button> | |
| <button onclick="copyBrief()" class="copy-btn">Copy to Clipboard</button> | |
| </div> | |
| <div id="output">Select items and click Generate...</div> | |
| <script> | |
| const PRIME_COLORS = { | |
| 2: '#E74C3C', 3: '#3498DB', 5: '#2ECC71', 7: '#F39C12', | |
| 11: '#9B59B6', 13: '#1ABC9C', 17: '#E91E63', 19: '#00BCD4', | |
| 23: '#FF5722', 29: '#673AB7', 31: '#795548', 41: '#607D8B', | |
| 47: '#FF9800', 59: '#4CAF50', 71: '#3F51B5' | |
| }; | |
| const SSP = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 41, 47, 59, 71]; | |
| const MONSTER_REPS = [ | |
| 1, 196883, 21296876, 842609326, 18538750076, 19360062527, 293553734298, | |
| 3879214937598, 36173193327999, 125510727015275, 190292345709543, 222879856734249, | |
| 1044868466775133, 1109944460516150, 2374124840062976, 8980616927734375, 8980616927734375, | |
| 15178147608537368, 39660520552077425, 60359800576579350, 251098487132187500, 290568421805921077, | |
| 336041615485626050, 2500435234254428856, 2986480825407204125, 3503434660075044981, 3503434660075044981, | |
| 3605718753596953125, 8456836343580310400, 8754193822112578125, 28585990950721640625, 30815545786259524745, | |
| 31569817307122699605, 47377503606648784400, 49609712911192813665, 77316619273928125000, 130415350420342968750, | |
| 155943076739182582850, 172399434201593354756, 172399434201593354756, 286243267692724486144, | |
| 286243267692724486144, 379913824694312370176, 640558364167263622626, 640558364167263622626, | |
| 643356925889917747200, 691170144025469730622, 691170144025469730622, 776097192277137500000, | |
| 918438233727730974720, 1201241700908448332364, 1353006807137391674268, 1480279477146615234375, | |
| 1480279477146615234375, 1768130802583126953125, 1768130802583126953125, 2351753641814605348320, | |
| 2382987417506242421875, 4567199176912486400000, 4567199176912486400000, 5578077210155766091776, | |
| 6566555764392010419123, 7226910362631220625000, 10145274012943412428800, 12810005542623250817856, | |
| 19795913912408993711352, 21803647757861753437500, 24670833602960142274950, 31714653744947491918600, | |
| 41209556844092914062500, 42940402913709544921875, 42940402913709544921875, 60683762052057587326065, | |
| 70660346341309333984375, 70660346341309333984375, 86551489469233273849000, 91068387388302451493925, | |
| 114212876389603002704448, 115192831837135016250000, 146575737439884098045700, 149614794149226010902528, | |
| 149614794149226010902528, 161649111002260792968750, 161649111002260792968750, 191259085113459945312500, | |
| 191259085113459945312500, 218028402153522030021875, 220326476909636307378168, 260799524107083767968750, | |
| 260799524107083767968750, 261575621299360905468750, 277540481294528814140625, 303379038247015811718750, | |
| 331150814995116217581480, 351532203382732066094400, 391009081837477378329600, 392611651975065600000000, | |
| 433528694560598978525184, 597787522207315571077947, 597787522207315571077947, 600020772685064502392907, | |
| 626877403613887304040448, 626877403613887304040448, 655159231073705404921875, 689763222744895005949242, | |
| 689763222744895005949242, 689766726179555080994223, 689766726179555080994223, 1037605886984697481755304, | |
| 1361549126105752982272875, 1599110387863558882812500, 1662686180483865572016128, 2181694185821505680397072, | |
| 2216343020913351966796875, 2477548750555298068681032, 3282510540283631442175104, 3537292796538741415074900, | |
| 3619209050774375426792424, 4004308274823270400000000, 4239315652979009728125000, 4926670174323484069683200, | |
| 5334046162969208352215625, 5514132424881463208443904, 5514132424881463208443904, 5514132424881463208443904, | |
| 7118465328761788475375616, 7375892500409609408203125, 7567151576542452425781250, 7567151576542452425781250, | |
| 7850934959207940600000000, 8394037047155083487634450, 8874260875527017936065100, 9416031858681585751556096, | |
| 9479495745805305653125000, 9592298143650890255171584, 9592298143650890255171584, 9592584386918582979657728, | |
| 10023854998171489083984375, 12650882100466187033706250, 14930164283563048960000000, 16109407269221032565630370, | |
| 22626621365160537099927552, 24546384719289825598186695, 27501917609709102247187500, 29734941419909382162874368, | |
| 33684388830359981044531200, 33722191327002668157047380, 37310715211546624000000000, 38471795739256565080575180, | |
| 41738941151243953804687500, 41762322738385820195625000, 42001454087954515167503490, 42601474860639579669896397, | |
| 43527130990147981755651072, 50572542024949598403750000, 51324350389558097414062500, 56356433273146675005489152, | |
| 58437394633227526183321600, 62038057486792249132974080, 63750812845035828079008441, 64326163427522624205703125, | |
| 66550339514356152000000000, 69084859008005036431224066, 74612213529720383654779356, 77423398454853064646282250, | |
| 83974774459050335630859375, 86206621680977834911875000, 88943820620288343261672393, 103354104243912727763091456, | |
| 115165062362004433625000000, 121170799240938738783416925, 124058385593021471188320256, 124982156072747647257292800, | |
| 125517264890136048242396811, 129572518017902934396764160, 130287135266837289237316743, 135226984222789977095703125, | |
| 136107644194473772613203125, 136574874874360806036041889, 136574874874360806036041889, 138988549876584520148320256, | |
| 161561864971171113287540625, 163216709667196367710937500, 172248852397651745653437500, 173865305251972140447265625, | |
| 175867626988794162227008203, 177966317773633111417870812, 198203900044423845494482560, 200390867219082687273984375, | |
| 203314261261157852274218750, 207467089840006711558593750, 212490247553365721772656250, 241866941438795926688759808, | |
| 258823477531055064045234375 | |
| ]; | |
| const ITEMS = [ | |
| { id: 'overview', label: 'Overview' }, | |
| { id: 'order', label: 'Monster Order' }, | |
| { id: 'ssp', label: 'SSP Primes List' }, | |
| { id: 'jcoeffs', label: 'J-Coefficients' }, | |
| { id: 'first10', label: 'First 10 Irreps' }, | |
| { id: 'mckay', label: 'McKay-Thompson' }, | |
| { id: 'factors', label: 'Key Factorizations' } | |
| ]; | |
| function factorize(n) { | |
| const factors = {}; | |
| let d = 2; | |
| while (d * d <= n) { | |
| while (n % d === 0) { | |
| factors[d] = (factors[d] || 0) + 1; | |
| n /= d; | |
| } | |
| d++; | |
| } | |
| if (n > 1) factors[n] = 1; | |
| return factors; | |
| } | |
| function buildCheckboxes() { | |
| const container = document.getElementById('checkboxes'); | |
| ITEMS.forEach(item => { | |
| const label = document.createElement('label'); | |
| label.innerHTML = `<input type="checkbox" value="${item.id}" checked> ${item.label}`; | |
| container.appendChild(label); | |
| }); | |
| } | |
| function generate() { | |
| const checked = Array.from(document.querySelectorAll('#checkboxes input:checked')).map(i => i.value); | |
| let output = '# MONSTER MOONSHINE BRIEF\n\n'; | |
| if (checked.includes('overview')) { | |
| output += '## Overview\n'; | |
| output += 'The Monster group is the largest sporadic simple group.\n'; | |
| output += 'Moonshine connects the Monster to the j-invariant modular form.\n\n'; | |
| } | |
| if (checked.includes('order')) { | |
| output += '## Monster Group Order |M|\n'; | |
| output += '|M| = 2^46 × 3^20 × 5^9 × 7^6 × 11^2 × 13^2 × 17 × 19 × 23 × 29 × 31 × 41 × 47 × 59 × 71\n'; | |
| output += '|M| ≈ 8.08 × 10^53\n\n'; | |
| } | |
| if (checked.includes('ssp')) { | |
| output += '## 15 Supersingular Primes\n'; | |
| output += ' SSP primes: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 41, 47, 59, 71\n'; | |
| output += ' Condition: (p+1) | 24 for each SSP prime\n\n'; | |
| } | |
| if (checked.includes('jcoeffs')) { | |
| output += '## J-Invariant Coefficients\n'; | |
| output += 'j(q) = q^-1 + 744 + 196884q + 21493760q^2 + 864299970q^3 + ...\n\n'; | |
| } | |
| if (checked.includes('first10')) { | |
| output += '## First 10 Monster Irreps\n'; | |
| output += '| # | Dimension | Prime Factors |\n'; | |
| output += '|---|-----------|---------------|\n'; | |
| for (let i = 0; i < 10; i++) { | |
| const f = factorize(MONSTER_REPS[i]); | |
| const primes = Object.entries(f).filter(([p]) => p <= 71).map(([p,e]) => p + (e>1?'^'+e:'')).join('×'); | |
| output += `| ${i} | ${MONSTER_REPS[i].toLocaleString()} | ${primes || '-'} |\n`; | |
| } | |
| output += '\n'; | |
| } | |
| if (checked.includes('mckay')) { | |
| output += '## McKay-Thompson Observations\n'; | |
| output += '- j₁ = 196884 = 1 + 196883 (trivial + first Monster irrep)\n'; | |
| output += '- j₂ = 21493760 = 1 + 196883 + 21296876 (sum of first 3 irreps)\n'; | |
| output += '- 196883 = 47 × 59 × 71 (smallestMonster rep)\n\n'; | |
| } | |
| if (checked.includes('factors')) { | |
| output += '## Key Factorizations\n'; | |
| output += '- 196883 = 47 × 59 × 71\n'; | |
| output += '- 196884 = 2² × 3³ × 1823\n'; | |
| output += '- 21296876 = 2² × 31 × 41 × 59 × 71\n'; | |
| output += '- 21493760 = 2^11 × 5 × 2099\n\n'; | |
| } | |
| output += '---\nGenerated from Monster Moonshine visualization\n'; | |
| document.getElementById('output').textContent = output; | |
| } | |
| function copyBrief() { | |
| const text = document.getElementById('output').textContent; | |
| navigator.clipboard.writeText(text).then(() => { | |
| alert('Copied to clipboard!'); | |
| }); | |
| } | |
| buildCheckboxes(); | |
| generate(); | |
| </script> | |
| </body> | |
| </html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment