Spaces:
Running
Running
| <html lang="en"> | |
| <head> | |
| <meta charset="utf-8" /> | |
| <meta name="viewport" content="width=device-width, initial-scale=1" /> | |
| <title>physics-lint — is your S-parameter model physically possible?</title> | |
| <meta name="description" content="Check five physical laws on a Touchstone file, catch a coupling extractor predicting impossible physics, and try to refute a machine-certified bound. Runs entirely in your browser." /> | |
| <!-- gradio-lite is PINNED: unversioned and recent releases fail in-browser with | |
| micropip 'Requested huggingface-hub<1.0, but 1.25.1 is already installed'. | |
| 5.29.1 is the newest release verified to boot. Re-verify before bumping. --> | |
| <script type="module" crossorigin src="https://cdn.jsdelivr.net/npm/@gradio/lite@5.29.1/dist/lite.js"></script> | |
| <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@gradio/lite@5.29.1/dist/lite.css" /> | |
| <style> | |
| html, body { margin: 0; padding: 0; height: 100%; } | |
| .boot { font-family: ui-sans-serif, system-ui, sans-serif; padding: 2rem; color: #444; } | |
| </style> | |
| </head> | |
| <body> | |
| <gradio-lite> | |
| <gradio-requirements> | |
| sparam_lint-0.1.0-py3-none-any.whl | |
| maxwell_lint-0.1.0-py3-none-any.whl | |
| </gradio-requirements> | |
| <gradio-file name="active_gain.s2p"> | |
| ! active_gain | |
| ! Delay line with 3x through-path gain. Creates energy: fails both the spectral-norm and the row-power tests. | |
| # HZ S RI R 50 | |
| 1000000000 0.05 0 2.8098500229 -0.354966606919 2.8098500229 -0.354966606919 0.05 0 | |
| 1619047619.05 0.05 0 2.77376665647 -0.572256042937 2.77376665647 -0.572256042937 0.05 0 | |
| 2238095238.1 0.05 0 2.72090611862 -0.786084179244 2.72090611862 -0.786084179244 0.05 0 | |
| 2857142857.14 0.05 0 2.65158813716 -0.995157672981 2.65158813716 -0.995157672981 0.05 0 | |
| 3476190476.19 0.05 0 2.56623198298 -1.19821193982 2.56623198298 -1.19821193982 0.05 0 | |
| 4095238095.24 0.05 0 2.46535393414 -1.39401880283 2.46535393414 -1.39401880283 0.05 0 | |
| 4714285714.29 0.05 0 2.3495641531 -1.58139392109 2.3495641531 -1.58139392109 0.05 0 | |
| 5333333333.33 0.05 0 2.21956299619 -1.75920395326 2.21956299619 -1.75920395326 0.05 0 | |
| 5952380952.38 0.05 0 2.07613677745 -1.92637341254 2.07613677745 -1.92637341254 0.05 0 | |
| 6571428571.43 0.05 0 1.92015301263 -2.08189117182 1.92015301263 -2.08189117182 0.05 0 | |
| 7190476190.48 0.05 0 1.752555172 -2.22481657947 1.752555172 -2.22481657947 0.05 0 | |
| 7809523809.52 0.05 0 1.57435697374 -2.35428514892 1.57435697374 -2.35428514892 0.05 0 | |
| 8428571428.57 0.05 0 1.38663625247 -2.46951378748 1.38663625247 -2.46951378748 0.05 0 | |
| 9047619047.62 0.05 0 1.19052843993 -2.5698055329 1.19052843993 -2.5698055329 0.05 0 | |
| 9666666666.67 0.05 0 0.98721969733 -2.65455376898 0.98721969733 -2.65455376898 0.05 0 | |
| 10285714285.7 0.05 0 0.777939740801 -2.72324589468 0.777939740801 -2.72324589468 0.05 0 | |
| 10904761904.8 0.05 0 0.563954403467 -2.77546642459 0.563954403467 -2.77546642459 0.05 0 | |
| 11523809523.8 0.05 0 0.34655797902 -2.81089950201 0.34655797902 -2.81089950201 0.05 0 | |
| 12142857142.9 0.05 0 0.127065393165 -2.82933080941 0.127065393165 -2.82933080941 0.05 0 | |
| 12761904761.9 0.05 0 -0.0931957497263 -2.83064886474 -0.0931957497263 -2.83064886474 0.05 0 | |
| 13380952381 0.05 0 -0.312893196654 -2.81484569572 -0.312893196654 -2.81484569572 0.05 0 | |
| 14000000000 0.05 0 -0.530698104142 -2.78201688806 -0.530698104142 -2.78201688806 0.05 0 | |
| 14619047619 0.05 0 -0.745293075768 -2.73236100734 -0.745293075768 -2.73236100734 0.05 0 | |
| 15238095238.1 0.05 0 -0.955380130458 -2.66617839792 -0.955380130458 -2.66617839792 0.05 0 | |
| 15857142857.1 0.05 0 -1.15968855335 -2.58386936637 -1.15968855335 -2.58386936637 0.05 0 | |
| 16476190476.2 0.05 0 -1.35698258171 -2.48593176015 -1.35698258171 -2.48593176015 0.05 0 | |
| 17095238095.2 0.05 0 -1.5460688795 -2.37295795644 -1.5460688795 -2.37295795644 0.05 0 | |
| 17714285714.3 0.05 0 -1.72580375526 -2.24563127907 -1.72580375526 -2.24563127907 0.05 0 | |
| 18333333333.3 0.05 0 -1.89510007977 -2.10472186544 -1.89510007977 -2.10472186544 0.05 0 | |
| 18952380952.4 0.05 0 -2.05293386152 -1.95108200839 -2.05293386152 -1.95108200839 0.05 0 | |
| 19571428571.4 0.05 0 -2.19835044039 -1.785641001 -2.19835044039 -1.785641001 0.05 0 | |
| 20190476190.5 0.05 0 -2.33047026192 -1.60939951582 -2.33047026192 -1.60939951582 0.05 0 | |
| 20809523809.5 0.05 0 -2.44849419727 -1.42342355226 -2.44849419727 -1.42342355226 0.05 0 | |
| 21428571428.6 0.05 0 -2.55170837681 -1.22883798887 -2.55170837681 -1.22883798887 0.05 0 | |
| 22047619047.6 0.05 0 -2.63948850795 -1.02681977951 -2.63948850795 -1.02681977951 0.05 0 | |
| 22666666666.7 0.05 0 -2.71130365118 -0.818590834494 -2.71130365118 -0.818590834494 0.05 0 | |
| 23285714285.7 0.05 0 -2.76671943146 -0.605410629893 -2.76671943146 -0.605410629893 0.05 0 | |
| 23904761904.8 0.05 0 -2.80540066558 -0.388568589539 -2.80540066558 -0.388568589539 0.05 0 | |
| 24523809523.8 0.05 0 -2.82711338948 -0.169376285937 -2.82711338948 -0.169376285937 0.05 0 | |
| 25142857142.9 0.05 0 -2.83172627341 0.0508404928057 -2.83172627341 0.0508404928057 0.05 0 | |
| 25761904761.9 0.05 0 -2.81921141626 0.270749762025 -2.81921141626 0.270749762025 0.05 0 | |
| 26380952381 0.05 0 -2.78964451435 0.489021397033 -2.78964451435 0.489021397033 0.05 0 | |
| 27000000000 0.05 0 -2.74320440355 0.704335178401 -2.74320440355 0.704335178401 0.05 0 | |
| 27619047619 0.05 0 -2.68017197761 0.915388777322 -2.68017197761 0.915388777322 0.05 0 | |
| 28238095238.1 0.05 0 -2.60092848914 1.12090563277 -2.60092848914 1.12090563277 0.05 0 | |
| 28857142857.1 0.05 0 -2.50595324364 1.3196426728 -2.50595324364 1.3196426728 0.05 0 | |
| 29476190476.2 0.05 0 -2.39582070039 1.51039783329 -2.39582070039 1.51039783329 0.05 0 | |
| 30095238095.2 0.05 0 -2.27119699779 1.69201732864 -2.27119699779 1.69201732864 0.05 0 | |
| 30714285714.3 0.05 0 -2.1328359243 1.86340263046 -2.1328359243 1.86340263046 0.05 0 | |
| 31333333333.3 0.05 0 -1.98157435905 2.02351711205 -1.98157435905 2.02351711205 0.05 0 | |
| 31952380952.4 0.05 0 -1.81832721 2.17139231844 -1.81832721 2.17139231844 0.05 0 | |
| 32571428571.4 0.05 0 -1.64408188011 2.30613382411 -1.64408188011 2.30613382411 0.05 0 | |
| 33190476190.5 0.05 0 -1.45989229501 2.42692664293 -1.45989229501 2.42692664293 0.05 0 | |
| 33809523809.5 0.05 0 -1.26687252832 2.53304015764 -1.26687252832 2.53304015764 0.05 0 | |
| 34428571428.6 0.05 0 -1.06619006314 2.62383253895 -1.06619006314 2.62383253895 0.05 0 | |
| 35047619047.6 0.05 0 -0.859058730521 2.69875462773 -0.859058730521 2.69875462773 0.05 0 | |
| 35666666666.7 0.05 0 -0.646731367612 2.75735325654 -0.646731367612 2.75735325654 0.05 0 | |
| 36285714285.7 0.05 0 -0.430492239815 2.79927399064 -0.430492239815 2.79927399064 0.05 0 | |
| 36904761904.8 0.05 0 -0.211649272908 2.82426327181 -0.211649272908 2.82426327181 0.05 0 | |
| 37523809523.8 0.05 0 0.00847385796691 2.83216995199 0.00847385796691 2.83216995199 0.05 0 | |
| 38142857142.9 0.05 0 0.228545734578 2.82294620749 0.228545734578 2.82294620749 0.05 0 | |
| 38761904761.9 0.05 0 0.447235248706 2.7966478283 0.447235248706 2.7966478283 0.05 0 | |
| 39380952381 0.05 0 0.663219653371 2.75343388055 0.663219653371 2.75343388055 0.05 0 | |
| 40000000000 0.05 0 0.875192563491 2.69356574451 0.875192563491 2.69356574451 0.05 0 | |
| </gradio-file> | |
| <gradio-file name="ferrite_isolator.s2p"> | |
| ! ferrite_isolator | |
| ! A ferrite isolator. NON-RECIPROCAL BY DESIGN and entirely realizable -- the medium is not reciprocal. The reciprocity check correctly fires, and that is a true positive for the law but NOT a defect in the device. Any tool reporting this must let the user say so. | |
| # HZ S RI R 50 | |
| 1000000000 0.05 0 0.936616674299 -0.118322202306 0.018732333486 -0.00236644404613 0.05 0 | |
| 1619047619.05 0.05 0 0.924588885489 -0.190752014312 0.0184917777098 -0.00381504028625 0.05 0 | |
| 2238095238.1 0.05 0 0.906968706207 -0.262028059748 0.0181393741241 -0.00524056119496 0.05 0 | |
| 2857142857.14 0.05 0 0.883862712386 -0.331719224327 0.0176772542477 -0.00663438448654 0.05 0 | |
| 3476190476.19 0.05 0 0.855410660994 -0.39940397994 0.0171082132199 -0.00798807959881 0.05 0 | |
| 4095238095.24 0.05 0 0.821784644713 -0.464672934275 0.0164356928943 -0.0092934586855 0.05 0 | |
| 4714285714.29 0.05 0 0.783188051034 -0.527131307031 0.0156637610207 -0.0105426261406 0.05 0 | |
| 5333333333.33 0.05 0 0.739854332063 -0.586401317753 0.0147970866413 -0.0117280263551 0.05 0 | |
| 5952380952.38 0.05 0 0.692045592483 -0.642124470846 0.0138409118497 -0.0128424894169 0.05 0 | |
| 6571428571.43 0.05 0 0.64005100421 -0.693963723939 0.0128010200842 -0.0138792744788 0.05 0 | |
| 7190476190.48 0.05 0 0.584185057333 -0.741605526491 0.0116837011467 -0.0148321105298 0.05 0 | |
| 7809523809.52 0.05 0 0.524785657914 -0.784761716307 0.0104957131583 -0.0156952343261 0.05 0 | |
| 8428571428.57 0.05 0 0.462212084157 -0.823171262492 0.00924424168314 -0.0164634252498 0.05 0 | |
| 9047619047.62 0.05 0 0.396842813311 -0.856601844299 0.00793685626622 -0.017132036886 0.05 0 | |
| 9666666666.67 0.05 0 0.329073232443 -0.884851256327 0.00658146464887 -0.0176970251265 0.05 0 | |
| 10285714285.7 0.05 0 0.259313246934 -0.90774863156 0.00518626493867 -0.0181549726312 0.05 0 | |
| 10904761904.8 0.05 0 0.187984801156 -0.925155474863 0.00375969602312 -0.0185031094973 0.05 0 | |
| 11523809523.8 0.05 0 0.11551932634 -0.936966500669 0.0023103865268 -0.0187393300134 0.05 0 | |
| 12142857142.9 0.05 0 0.0423551310551 -0.943110269803 0.000847102621103 -0.0188622053961 0.05 0 | |
| 12761904761.9 0.05 0 -0.0310652499088 -0.943549621579 -0.000621304998175 -0.0188709924316 0.05 0 | |
| 13380952381 0.05 0 -0.104297732218 -0.938281898572 -0.00208595464436 -0.0187656379714 0.05 0 | |
| 14000000000 0.05 0 -0.176899368047 -0.927338962687 -0.00353798736095 -0.0185467792537 0.05 0 | |
| 14619047619 0.05 0 -0.248431025256 -0.910787002446 -0.00496862050512 -0.0182157400489 0.05 0 | |
| 15238095238.1 0.05 0 -0.318460043486 -0.88872613264 -0.00636920086972 -0.0177745226528 0.05 0 | |
| 15857142857.1 0.05 0 -0.386562851115 -0.861289788789 -0.0077312570223 -0.0172257957758 0.05 0 | |
| 16476190476.2 0.05 0 -0.452327527236 -0.828643920052 -0.00904655054472 -0.016572878401 0.05 0 | |
| 17095238095.2 0.05 0 -0.515356293167 -0.790985985481 -0.0103071258633 -0.0158197197096 0.05 0 | |
| 17714285714.3 0.05 0 -0.575267918421 -0.748543759689 -0.0115053583684 -0.0149708751938 0.05 0 | |
| 18333333333.3 0.05 0 -0.631700026589 -0.701573955148 -0.0126340005318 -0.014031479103 0.05 0 | |
| 18952380952.4 0.05 0 -0.684311287172 -0.650360669462 -0.0136862257434 -0.0130072133892 0.05 0 | |
| 19571428571.4 0.05 0 -0.73278348013 -0.595213666999 -0.0146556696026 -0.01190427334 0.05 0 | |
| 20190476190.5 0.05 0 -0.776823420639 -0.536466505273 -0.0155364684128 -0.0107293301055 0.05 0 | |
| 20809523809.5 0.05 0 -0.816164732424 -0.47447451742 -0.0163232946485 -0.0094894903484 0.05 0 | |
| 21428571428.6 0.05 0 -0.850569458938 -0.409612662958 -0.0170113891788 -0.00819225325915 0.05 0 | |
| 22047619047.6 0.05 0 -0.879829502651 -0.342273259836 -0.017596590053 -0.00684546519672 0.05 0 | |
| 22666666666.7 0.05 0 -0.903767883726 -0.272863611498 -0.0180753576745 -0.00545727222996 0.05 0 | |
| 23285714285.7 0.05 0 -0.922239810487 -0.201803543298 -0.0184447962097 -0.00403607086595 0.05 0 | |
| 23904761904.8 0.05 0 -0.935133555193 -0.12952286318 -0.0187026711039 -0.0025904572636 0.05 0 | |
| 24523809523.8 0.05 0 -0.942371129826 -0.0564587619789 -0.0188474225965 -0.00112917523958 0.05 0 | |
| 25142857142.9 0.05 0 -0.943908757802 0.0169468309352 -0.018878175156 0.000338936618705 0.05 0 | |
| 25761904761.9 0.05 0 -0.939737138753 0.0902499206749 -0.0187947427751 0.0018049984135 0.05 0 | |
| 26380952381 0.05 0 -0.929881504784 0.163007132344 -0.0185976300957 0.00326014264689 0.05 0 | |
| 27000000000 0.05 0 -0.914401467851 0.2347783928 -0.018288029357 0.00469556785601 0.05 0 | |
| 27619047619 0.05 0 -0.893390659203 0.305129592441 -0.0178678131841 0.00610259184881 0.05 0 | |
| 28238095238.1 0.05 0 -0.866976163047 0.373635210923 -0.0173395232609 0.00747270421847 0.05 0 | |
| 28857142857.1 0.05 0 -0.835317747881 0.439880890934 -0.0167063549576 0.00879761781867 0.05 0 | |
| 29476190476.2 0.05 0 -0.798606900128 0.50346594443 -0.0159721380026 0.0100693188886 0.05 0 | |
| 30095238095.2 0.05 0 -0.757065665932 0.564005776213 -0.0151413133186 0.0112801155243 0.05 0 | |
| 30714285714.3 0.05 0 -0.710945308101 0.621134210153 -0.014218906162 0.0124226842031 0.05 0 | |
| 31333333333.3 0.05 0 -0.66052478635 0.674505704016 -0.013210495727 0.0134901140803 0.05 0 | |
| 31952380952.4 0.05 0 -0.60610907 0.72379743948 -0.0121221814 0.0144759487896 0.05 0 | |
| 32571428571.4 0.05 0 -0.548027293371 0.768711274702 -0.0109605458674 0.015374225494 0.05 0 | |
| 33190476190.5 0.05 0 -0.486630765004 0.808975547643 -0.00973261530009 0.0161795109529 0.05 0 | |
| 33809523809.5 0.05 0 -0.422290842773 0.844346719212 -0.00844581685546 0.0168869343842 0.05 0 | |
| 34428571428.6 0.05 0 -0.355396687712 0.874610846318 -0.00710793375424 0.0174922169264 0.05 0 | |
| 35047619047.6 0.05 0 -0.286352910174 0.899584875912 -0.00572705820347 0.0179916975182 0.05 0 | |
| 35666666666.7 0.05 0 -0.215577122537 0.91911775218 -0.00431154245075 0.0183823550436 0.05 0 | |
| 36285714285.7 0.05 0 -0.143497413272 0.933091330213 -0.00286994826543 0.0186618266043 0.05 0 | |
| 36904761904.8 0.05 0 -0.0705497576361 0.941421090603 -0.00141099515272 0.0188284218121 0.05 0 | |
| 37523809523.8 0.05 0 0.0028246193223 0.944056650662 5.6492386446e-05 0.0188811330132 0.05 0 | |
| 38142857142.9 0.05 0 0.0761819115262 0.940982069165 0.00152363823052 0.0188196413833 0.05 0 | |
| 38761904761.9 0.05 0 0.149078416235 0.932215942766 0.00298156832471 0.0186443188553 0.05 0 | |
| 39380952381 0.05 0 0.22107321779 0.917811293518 0.0044214643558 0.0183562258704 0.05 0 | |
| 40000000000 0.05 0 0.291730854497 0.897855248171 0.00583461708994 0.0179571049634 0.05 0 | |
| </gradio-file> | |
| <gradio-file name="noncausal_advance.s2p"> | |
| ! noncausal_advance | |
| ! Phase advances with frequency: the output precedes the input. Passive and reciprocal, so ONLY the causality check should fire. | |
| # HZ S RI R 50 | |
| 1000000000 0.05 0 0.936616674299 0.118322202306 0.936616674299 0.118322202306 0.05 0 | |
| 1619047619.05 0.05 0 0.924588885489 0.190752014312 0.924588885489 0.190752014312 0.05 0 | |
| 2238095238.1 0.05 0 0.906968706207 0.262028059748 0.906968706207 0.262028059748 0.05 0 | |
| 2857142857.14 0.05 0 0.883862712386 0.331719224327 0.883862712386 0.331719224327 0.05 0 | |
| 3476190476.19 0.05 0 0.855410660994 0.39940397994 0.855410660994 0.39940397994 0.05 0 | |
| 4095238095.24 0.05 0 0.821784644713 0.464672934275 0.821784644713 0.464672934275 0.05 0 | |
| 4714285714.29 0.05 0 0.783188051034 0.527131307031 0.783188051034 0.527131307031 0.05 0 | |
| 5333333333.33 0.05 0 0.739854332063 0.586401317753 0.739854332063 0.586401317753 0.05 0 | |
| 5952380952.38 0.05 0 0.692045592483 0.642124470846 0.692045592483 0.642124470846 0.05 0 | |
| 6571428571.43 0.05 0 0.64005100421 0.693963723939 0.64005100421 0.693963723939 0.05 0 | |
| 7190476190.48 0.05 0 0.584185057333 0.741605526491 0.584185057333 0.741605526491 0.05 0 | |
| 7809523809.52 0.05 0 0.524785657914 0.784761716307 0.524785657914 0.784761716307 0.05 0 | |
| 8428571428.57 0.05 0 0.462212084157 0.823171262492 0.462212084157 0.823171262492 0.05 0 | |
| 9047619047.62 0.05 0 0.396842813311 0.856601844299 0.396842813311 0.856601844299 0.05 0 | |
| 9666666666.67 0.05 0 0.329073232443 0.884851256327 0.329073232443 0.884851256327 0.05 0 | |
| 10285714285.7 0.05 0 0.259313246934 0.90774863156 0.259313246934 0.90774863156 0.05 0 | |
| 10904761904.8 0.05 0 0.187984801156 0.925155474863 0.187984801156 0.925155474863 0.05 0 | |
| 11523809523.8 0.05 0 0.11551932634 0.936966500669 0.11551932634 0.936966500669 0.05 0 | |
| 12142857142.9 0.05 0 0.0423551310551 0.943110269803 0.0423551310551 0.943110269803 0.05 0 | |
| 12761904761.9 0.05 0 -0.0310652499088 0.943549621579 -0.0310652499088 0.943549621579 0.05 0 | |
| 13380952381 0.05 0 -0.104297732218 0.938281898572 -0.104297732218 0.938281898572 0.05 0 | |
| 14000000000 0.05 0 -0.176899368047 0.927338962687 -0.176899368047 0.927338962687 0.05 0 | |
| 14619047619 0.05 0 -0.248431025256 0.910787002446 -0.248431025256 0.910787002446 0.05 0 | |
| 15238095238.1 0.05 0 -0.318460043486 0.88872613264 -0.318460043486 0.88872613264 0.05 0 | |
| 15857142857.1 0.05 0 -0.386562851115 0.861289788789 -0.386562851115 0.861289788789 0.05 0 | |
| 16476190476.2 0.05 0 -0.452327527236 0.828643920052 -0.452327527236 0.828643920052 0.05 0 | |
| 17095238095.2 0.05 0 -0.515356293167 0.790985985481 -0.515356293167 0.790985985481 0.05 0 | |
| 17714285714.3 0.05 0 -0.575267918421 0.748543759689 -0.575267918421 0.748543759689 0.05 0 | |
| 18333333333.3 0.05 0 -0.631700026589 0.701573955148 -0.631700026589 0.701573955148 0.05 0 | |
| 18952380952.4 0.05 0 -0.684311287172 0.650360669462 -0.684311287172 0.650360669462 0.05 0 | |
| 19571428571.4 0.05 0 -0.73278348013 0.595213666999 -0.73278348013 0.595213666999 0.05 0 | |
| 20190476190.5 0.05 0 -0.776823420639 0.536466505273 -0.776823420639 0.536466505273 0.05 0 | |
| 20809523809.5 0.05 0 -0.816164732424 0.47447451742 -0.816164732424 0.47447451742 0.05 0 | |
| 21428571428.6 0.05 0 -0.850569458938 0.409612662958 -0.850569458938 0.409612662958 0.05 0 | |
| 22047619047.6 0.05 0 -0.879829502651 0.342273259836 -0.879829502651 0.342273259836 0.05 0 | |
| 22666666666.7 0.05 0 -0.903767883726 0.272863611498 -0.903767883726 0.272863611498 0.05 0 | |
| 23285714285.7 0.05 0 -0.922239810487 0.201803543298 -0.922239810487 0.201803543298 0.05 0 | |
| 23904761904.8 0.05 0 -0.935133555193 0.12952286318 -0.935133555193 0.12952286318 0.05 0 | |
| 24523809523.8 0.05 0 -0.942371129826 0.0564587619789 -0.942371129826 0.0564587619789 0.05 0 | |
| 25142857142.9 0.05 0 -0.943908757802 -0.0169468309352 -0.943908757802 -0.0169468309352 0.05 0 | |
| 25761904761.9 0.05 0 -0.939737138753 -0.0902499206749 -0.939737138753 -0.0902499206749 0.05 0 | |
| 26380952381 0.05 0 -0.929881504784 -0.163007132344 -0.929881504784 -0.163007132344 0.05 0 | |
| 27000000000 0.05 0 -0.914401467851 -0.2347783928 -0.914401467851 -0.2347783928 0.05 0 | |
| 27619047619 0.05 0 -0.893390659203 -0.305129592441 -0.893390659203 -0.305129592441 0.05 0 | |
| 28238095238.1 0.05 0 -0.866976163047 -0.373635210923 -0.866976163047 -0.373635210923 0.05 0 | |
| 28857142857.1 0.05 0 -0.835317747881 -0.439880890934 -0.835317747881 -0.439880890934 0.05 0 | |
| 29476190476.2 0.05 0 -0.798606900128 -0.50346594443 -0.798606900128 -0.50346594443 0.05 0 | |
| 30095238095.2 0.05 0 -0.757065665932 -0.564005776213 -0.757065665932 -0.564005776213 0.05 0 | |
| 30714285714.3 0.05 0 -0.710945308101 -0.621134210153 -0.710945308101 -0.621134210153 0.05 0 | |
| 31333333333.3 0.05 0 -0.66052478635 -0.674505704016 -0.66052478635 -0.674505704016 0.05 0 | |
| 31952380952.4 0.05 0 -0.60610907 -0.72379743948 -0.60610907 -0.72379743948 0.05 0 | |
| 32571428571.4 0.05 0 -0.548027293371 -0.768711274702 -0.548027293371 -0.768711274702 0.05 0 | |
| 33190476190.5 0.05 0 -0.486630765004 -0.808975547643 -0.486630765004 -0.808975547643 0.05 0 | |
| 33809523809.5 0.05 0 -0.422290842773 -0.844346719212 -0.422290842773 -0.844346719212 0.05 0 | |
| 34428571428.6 0.05 0 -0.355396687712 -0.874610846318 -0.355396687712 -0.874610846318 0.05 0 | |
| 35047619047.6 0.05 0 -0.286352910174 -0.899584875912 -0.286352910174 -0.899584875912 0.05 0 | |
| 35666666666.7 0.05 0 -0.215577122537 -0.91911775218 -0.215577122537 -0.91911775218 0.05 0 | |
| 36285714285.7 0.05 0 -0.143497413272 -0.933091330213 -0.143497413272 -0.933091330213 0.05 0 | |
| 36904761904.8 0.05 0 -0.0705497576361 -0.941421090603 -0.0705497576361 -0.941421090603 0.05 0 | |
| 37523809523.8 0.05 0 0.0028246193223 -0.944056650662 0.0028246193223 -0.944056650662 0.05 0 | |
| 38142857142.9 0.05 0 0.0761819115262 -0.940982069165 0.0761819115262 -0.940982069165 0.05 0 | |
| 38761904761.9 0.05 0 0.149078416235 -0.932215942766 0.149078416235 -0.932215942766 0.05 0 | |
| 39380952381 0.05 0 0.22107321779 -0.917811293518 0.22107321779 -0.917811293518 0.05 0 | |
| 40000000000 0.05 0 0.291730854497 -0.897855248171 0.291730854497 -0.897855248171 0.05 0 | |
| </gradio-file> | |
| <gradio-file name="passive_4port.s4p"> | |
| ! passive_4port | |
| ! Four-port with two independent thru paths. Exercises N>2 handling. | |
| # HZ S RI R 50 | |
| 1000000000 0 0 0.897443010235 -0.0677941249751 0 0 0 0 0.897443010235 -0.0677941249751 0 0 0 0 0 0 0 0 0 0 0 0 0.897443010235 -0.0677941249751 0 0 0 0 0.897443010235 -0.0677941249751 0 0 | |
| 1619047619.05 0 0 0.893302471001 -0.109593317785 0 0 0 0 0.893302471001 -0.109593317785 0 0 0 0 0 0 0 0 0 0 0 0 0.893302471001 -0.109593317785 0 0 0 0 0.893302471001 -0.109593317785 0 0 | |
| 2238095238.1 0 0 0.887216168355 -0.151153797869 0 0 0 0 0.887216168355 -0.151153797869 0 0 0 0 0 0 0 0 0 0 0 0 0.887216168355 -0.151153797869 0 0 0 0 0.887216168355 -0.151153797869 0 0 | |
| 2857142857.14 0 0 0.879197359288 -0.192385039493 0 0 0 0 0.879197359288 -0.192385039493 0 0 0 0 0 0 0 0 0 0 0 0 0.879197359288 -0.192385039493 0 0 0 0 0.879197359288 -0.192385039493 0 0 | |
| 3476190476.19 0 0 0.86926351012 -0.23319723406 0 0 0 0 0.86926351012 -0.23319723406 0 0 0 0 0 0 0 0 0 0 0 0 0.86926351012 -0.23319723406 0 0 0 0 0.86926351012 -0.23319723406 0 0 | |
| 4095238095.24 0 0 0.857436258449 -0.27350148573 0 0 0 0 0.857436258449 -0.27350148573 0 0 0 0 0 0 0 0 0 0 0 0 0.857436258449 -0.27350148573 0 0 0 0 0.857436258449 -0.27350148573 0 0 | |
| 4714285714.29 0 0 0.843741366024 -0.313210005044 0 0 0 0 0.843741366024 -0.313210005044 0 0 0 0 0 0 0 0 0 0 0 0 0.843741366024 -0.313210005044 0 0 0 0 0.843741366024 -0.313210005044 0 0 | |
| 5333333333.33 0 0 0.828208662629 -0.352236300153 0 0 0 0 0.828208662629 -0.352236300153 0 0 0 0 0 0 0 0 0 0 0 0 0.828208662629 -0.352236300153 0 0 0 0 0.828208662629 -0.352236300153 0 0 | |
| 5952380952.38 0 0 0.810871981112 -0.390495365206 0 0 0 0 0.810871981112 -0.390495365206 0 0 0 0 0 0 0 0 0 0 0 0 0.810871981112 -0.390495365206 0 0 0 0 0.810871981112 -0.390495365206 0 0 | |
| 6571428571.43 0 0 0.791769083688 -0.427903865506 0 0 0 0 0.791769083688 -0.427903865506 0 0 0 0 0 0 0 0 0 0 0 0 0.791769083688 -0.427903865506 0 0 0 0 0.791769083688 -0.427903865506 0 0 | |
| 7190476190.48 0 0 0.77094157969 -0.464380319033 0 0 0 0 0.77094157969 -0.464380319033 0 0 0 0 0 0 0 0 0 0 0 0 0.77094157969 -0.464380319033 0 0 0 0 0.77094157969 -0.464380319033 0 0 | |
| 7809523809.52 0 0 0.748434834932 -0.49984527392 0 0 0 0 0.748434834932 -0.49984527392 0 0 0 0 0 0 0 0 0 0 0 0 0.748434834932 -0.49984527392 0 0 0 0 0.748434834932 -0.49984527392 0 0 | |
| 8428571428.57 0 0 0.724297872901 -0.534221481514 0 0 0 0 0.724297872901 -0.534221481514 0 0 0 0 0 0 0 0 0 0 0 0 0.724297872901 -0.534221481514 0 0 0 0 0.724297872901 -0.534221481514 0 0 | |
| 9047619047.62 0 0 0.698583267969 -0.56743406464 0 0 0 0 0.698583267969 -0.56743406464 0 0 0 0 0 0 0 0 0 0 0 0 0.698583267969 -0.56743406464 0 0 0 0 0.698583267969 -0.56743406464 0 0 | |
| 9666666666.67 0 0 0.671347030882 -0.599410680691 0 0 0 0 0.671347030882 -0.599410680691 0 0 0 0 0 0 0 0 0 0 0 0 0.671347030882 -0.599410680691 0 0 0 0 0.671347030882 -0.599410680691 0 0 | |
| 10285714285.7 0 0 0.642648486757 -0.630081679204 0 0 0 0 0.642648486757 -0.630081679204 0 0 0 0 0 0 0 0 0 0 0 0 0.642648486757 -0.630081679204 0 0 0 0 0.642648486757 -0.630081679204 0 0 | |
| 10904761904.8 0 0 0.612550145863 -0.659380253574 0 0 0 0 0.612550145863 -0.659380253574 0 0 0 0 0 0 0 0 0 0 0 0 0.612550145863 -0.659380253574 0 0 0 0 0.612550145863 -0.659380253574 0 0 | |
| 11523809523.8 0 0 0.58111756746 -0.687242586565 0 0 0 0 0.58111756746 -0.687242586565 0 0 0 0 0 0 0 0 0 0 0 0 0.58111756746 -0.687242586565 0 0 0 0 0.58111756746 -0.687242586565 0 0 | |
| 12142857142.9 0 0 0.548419217007 -0.713607989318 0 0 0 0 0.548419217007 -0.713607989318 0 0 0 0 0 0 0 0 0 0 0 0 0.548419217007 -0.713607989318 0 0 0 0 0.548419217007 -0.713607989318 0 0 | |
| 12761904761.9 0 0 0.514526317022 -0.738419033539 0 0 0 0 0.514526317022 -0.738419033539 0 0 0 0 0 0 0 0 0 0 0 0 0.514526317022 -0.738419033539 0 0 0 0 0.514526317022 -0.738419033539 0 0 | |
| 13380952381 0 0 0.479512691958 -0.76162167659 0 0 0 0 0.479512691958 -0.76162167659 0 0 0 0 0 0 0 0 0 0 0 0 0.479512691958 -0.76162167659 0 0 0 0 0.479512691958 -0.76162167659 0 0 | |
| 14000000000 0 0 0.443454607393 -0.783165379203 0 0 0 0 0.443454607393 -0.783165379203 0 0 0 0 0 0 0 0 0 0 0 0 0.443454607393 -0.783165379203 0 0 0 0 0.443454607393 -0.783165379203 0 0 | |
| 14619047619 0 0 0.406430603918 -0.80300321556 0 0 0 0 0.406430603918 -0.80300321556 0 0 0 0 0 0 0 0 0 0 0 0 0.406430603918 -0.80300321556 0 0 0 0 0.406430603918 -0.80300321556 0 0 | |
| 15238095238.1 0 0 0.368521326053 -0.821091975508 0 0 0 0 0.368521326053 -0.821091975508 0 0 0 0 0 0 0 0 0 0 0 0 0.368521326053 -0.821091975508 0 0 0 0 0.368521326053 -0.821091975508 0 0 | |
| 15857142857.1 0 0 0.329809346599 -0.837392258679 0 0 0 0 0.329809346599 -0.837392258679 0 0 0 0 0 0 0 0 0 0 0 0 0.329809346599 -0.837392258679 0 0 0 0 0.329809346599 -0.837392258679 0 0 | |
| 16476190476.2 0 0 0.290378986775 -0.851868560307 0 0 0 0 0.290378986775 -0.851868560307 0 0 0 0 0 0 0 0 0 0 0 0 0.290378986775 -0.851868560307 0 0 0 0 0.290378986775 -0.851868560307 0 0 | |
| 17095238095.2 0 0 0.250316132552 -0.864489348566 0 0 0 0 0.250316132552 -0.864489348566 0 0 0 0 0 0 0 0 0 0 0 0 0.250316132552 -0.864489348566 0 0 0 0 0.250316132552 -0.864489348566 0 0 | |
| 17714285714.3 0 0 0.209708047584 -0.875227133251 0 0 0 0 0.209708047584 -0.875227133251 0 0 0 0 0 0 0 0 0 0 0 0 0.209708047584 -0.875227133251 0 0 0 0 0.209708047584 -0.875227133251 0 0 | |
| 18333333333.3 0 0 0.168643183127 -0.884058525656 0 0 0 0 0.168643183127 -0.884058525656 0 0 0 0 0 0 0 0 0 0 0 0 0.168643183127 -0.884058525656 0 0 0 0 0.168643183127 -0.884058525656 0 0 | |
| 18952380952.4 0 0 0.12721098538 -0.890964289519 0 0 0 0 0.12721098538 -0.890964289519 0 0 0 0 0 0 0 0 0 0 0 0 0.12721098538 -0.890964289519 0 0 0 0 0.12721098538 -0.890964289519 0 0 | |
| 19571428571.4 0 0 0.0855017006558 -0.895929382923 0 0 0 0 0.0855017006558 -0.895929382923 0 0 0 0 0 0 0 0 0 0 0 0 0.0855017006558 -0.895929382923 0 0 0 0 0.0855017006558 -0.895929382923 0 0 | |
| 20190476190.5 0 0 0.0436061788102 -0.898942991056 0 0 0 0 0.0436061788102 -0.898942991056 0 0 0 0 0 0 0 0 0 0 0 0 0.0436061788102 -0.898942991056 0 0 0 0 0.0436061788102 -0.898942991056 0 0 | |
| 20809523809.5 0 0 0.00161567535403 -0.899998549773 0 0 0 0 0.00161567535403 -0.899998549773 0 0 0 0 0 0 0 0 0 0 0 0 0.00161567535403 -0.899998549773 0 0 0 0 0.00161567535403 -0.899998549773 0 0 | |
| 21428571428.6 0 0 -0.0403783473155 -0.899093759887 0 0 0 0 -0.0403783473155 -0.899093759887 0 0 0 0 0 0 0 0 0 0 0 0 -0.0403783473155 -0.899093759887 0 0 0 0 -0.0403783473155 -0.899093759887 0 0 | |
| 22047619047.6 0 0 -0.0822844191358 -0.896230592185 0 0 0 0 -0.0822844191358 -0.896230592185 0 0 0 0 0 0 0 0 0 0 0 0 -0.0822844191358 -0.896230592185 0 0 0 0 -0.0822844191358 -0.896230592185 0 0 | |
| 22666666666.7 0 0 -0.124011261616 -0.891415283127 0 0 0 0 -0.124011261616 -0.891415283127 0 0 0 0 0 0 0 0 0 0 0 0 -0.124011261616 -0.891415283127 0 0 0 0 -0.124011261616 -0.891415283127 0 0 | |
| 23285714285.7 0 0 -0.165467986658 -0.88465832127 0 0 0 0 -0.165467986658 -0.88465832127 0 0 0 0 0 0 0 0 0 0 0 0 -0.165467986658 -0.88465832127 0 0 0 0 -0.165467986658 -0.88465832127 0 0 | |
| 23904761904.8 0 0 -0.206564294522 -0.875974424415 0 0 0 0 -0.206564294522 -0.875974424415 0 0 0 0 0 0 0 0 0 0 0 0 -0.206564294522 -0.875974424415 0 0 0 0 -0.206564294522 -0.875974424415 0 0 | |
| 24523809523.8 0 0 -0.247210670522 -0.865382507554 0 0 0 0 -0.247210670522 -0.865382507554 0 0 0 0 0 0 0 0 0 0 0 0 -0.247210670522 -0.865382507554 0 0 0 0 -0.247210670522 -0.865382507554 0 0 | |
| 25142857142.9 0 0 -0.287318579996 -0.852905641668 0 0 0 0 -0.287318579996 -0.852905641668 0 0 0 0 0 0 0 0 0 0 0 0 -0.287318579996 -0.852905641668 0 0 0 0 -0.287318579996 -0.852905641668 0 0 | |
| 25761904761.9 0 0 -0.326800661154 -0.838571003475 0 0 0 0 -0.326800661154 -0.838571003475 0 0 0 0 0 0 0 0 0 0 0 0 -0.326800661154 -0.838571003475 0 0 0 0 -0.326800661154 -0.838571003475 0 0 | |
| 26380952381 0 0 -0.365570915366 -0.822409816234 0 0 0 0 -0.365570915366 -0.822409816234 0 0 0 0 0 0 0 0 0 0 0 0 -0.365570915366 -0.822409816234 0 0 0 0 -0.365570915366 -0.822409816234 0 0 | |
| 27000000000 0 0 -0.403544894481 -0.804457281736 0 0 0 0 -0.403544894481 -0.804457281736 0 0 0 0 0 0 0 0 0 0 0 0 -0.403544894481 -0.804457281736 0 0 0 0 -0.403544894481 -0.804457281736 0 0 | |
| 27619047619 0 0 -0.440639884769 -0.784752503628 0 0 0 0 -0.440639884769 -0.784752503628 0 0 0 0 0 0 0 0 0 0 0 0 -0.440639884769 -0.784752503628 0 0 0 0 -0.440639884769 -0.784752503628 0 0 | |
| 28238095238.1 0 0 -0.476775087085 -0.763338402241 0 0 0 0 -0.476775087085 -0.763338402241 0 0 0 0 0 0 0 0 0 0 0 0 -0.476775087085 -0.763338402241 0 0 0 0 -0.476775087085 -0.763338402241 0 0 | |
| 28857142857.1 0 0 -0.511871792866 -0.740261621096 0 0 0 0 -0.511871792866 -0.740261621096 0 0 0 0 0 0 0 0 0 0 0 0 -0.511871792866 -0.740261621096 0 0 0 0 -0.511871792866 -0.740261621096 0 0 | |
| 29476190476.2 0 0 -0.54585355557 -0.715572425316 0 0 0 0 -0.54585355557 -0.715572425316 0 0 0 0 0 0 0 0 0 0 0 0 -0.54585355557 -0.715572425316 0 0 0 0 -0.54585355557 -0.715572425316 0 0 | |
| 30095238095.2 0 0 -0.578646357185 -0.689324592131 0 0 0 0 -0.578646357185 -0.689324592131 0 0 0 0 0 0 0 0 0 0 0 0 -0.578646357185 -0.689324592131 0 0 0 0 -0.578646357185 -0.689324592131 0 0 | |
| 30714285714.3 0 0 -0.610178769462 -0.661575293748 0 0 0 0 -0.610178769462 -0.661575293748 0 0 0 0 0 0 0 0 0 0 0 0 -0.610178769462 -0.661575293748 0 0 0 0 -0.610178769462 -0.661575293748 0 0 | |
| 31333333333.3 0 0 -0.640382109488 -0.632384972819 0 0 0 0 -0.640382109488 -0.632384972819 0 0 0 0 0 0 0 0 0 0 0 0 -0.640382109488 -0.632384972819 0 0 0 0 -0.640382109488 -0.632384972819 0 0 | |
| 31952380952.4 0 0 -0.669190589297 -0.601817210784 0 0 0 0 -0.669190589297 -0.601817210784 0 0 0 0 0 0 0 0 0 0 0 0 -0.669190589297 -0.601817210784 0 0 0 0 -0.669190589297 -0.601817210784 0 0 | |
| 32571428571.4 0 0 -0.696541459161 -0.569938589384 0 0 0 0 -0.696541459161 -0.569938589384 0 0 0 0 0 0 0 0 0 0 0 0 -0.696541459161 -0.569938589384 0 0 0 0 -0.696541459161 -0.569938589384 0 0 | |
| 33190476190.5 0 0 -0.722375144275 -0.536818545632 0 0 0 0 -0.722375144275 -0.536818545632 0 0 0 0 0 0 0 0 0 0 0 0 -0.722375144275 -0.536818545632 0 0 0 0 -0.722375144275 -0.536818545632 0 0 | |
| 33809523809.5 0 0 -0.746635374515 -0.502529220567 0 0 0 0 -0.746635374515 -0.502529220567 0 0 0 0 0 0 0 0 0 0 0 0 -0.746635374515 -0.502529220567 0 0 0 0 -0.746635374515 -0.502529220567 0 0 | |
| 34428571428.6 0 0 -0.769269307009 -0.467145302121 0 0 0 0 -0.769269307009 -0.467145302121 0 0 0 0 0 0 0 0 0 0 0 0 -0.769269307009 -0.467145302121 0 0 0 0 -0.769269307009 -0.467145302121 0 0 | |
| 35047619047.6 0 0 -0.790227641236 -0.430743862436 0 0 0 0 -0.790227641236 -0.430743862436 0 0 0 0 0 0 0 0 0 0 0 0 -0.790227641236 -0.430743862436 0 0 0 0 -0.790227641236 -0.430743862436 0 0 | |
| 35666666666.7 0 0 -0.80946472641 -0.393404189986 0 0 0 0 -0.80946472641 -0.393404189986 0 0 0 0 0 0 0 0 0 0 0 0 -0.80946472641 -0.393404189986 0 0 0 0 -0.80946472641 -0.393404189986 0 0 | |
| 36285714285.7 0 0 -0.826938660915 -0.355207616872 0 0 0 0 -0.826938660915 -0.355207616872 0 0 0 0 0 0 0 0 0 0 0 0 -0.826938660915 -0.355207616872 0 0 0 0 -0.826938660915 -0.355207616872 0 0 | |
| 36904761904.8 0 0 -0.842611383576 -0.316237341673 0 0 0 0 -0.842611383576 -0.316237341673 0 0 0 0 0 0 0 0 0 0 0 0 -0.842611383576 -0.316237341673 0 0 0 0 -0.842611383576 -0.316237341673 0 0 | |
| 37523809523.8 0 0 -0.856448756559 -0.276578248219 0 0 0 0 -0.856448756559 -0.276578248219 0 0 0 0 0 0 0 0 0 0 0 0 -0.856448756559 -0.276578248219 0 0 0 0 -0.856448756559 -0.276578248219 0 0 | |
| 38142857142.9 0 0 -0.868420639734 -0.236316720703 0 0 0 0 -0.868420639734 -0.236316720703 0 0 0 0 0 0 0 0 0 0 0 0 -0.868420639734 -0.236316720703 0 0 0 0 -0.868420639734 -0.236316720703 0 0 | |
| 38761904761.9 0 0 -0.87850095632 -0.19554045552 0 0 0 0 -0.87850095632 -0.19554045552 0 0 0 0 0 0 0 0 0 0 0 0 -0.87850095632 -0.19554045552 0 0 0 0 -0.87850095632 -0.19554045552 0 0 | |
| 39380952381 0 0 -0.886667749687 -0.154338270253 0 0 0 0 -0.886667749687 -0.154338270253 0 0 0 0 0 0 0 0 0 0 0 0 -0.886667749687 -0.154338270253 0 0 0 0 -0.886667749687 -0.154338270253 0 0 | |
| 40000000000 0 0 -0.892903231183 -0.112799910208 0 0 0 0 -0.892903231183 -0.112799910208 0 0 0 0 0 0 0 0 0 0 0 0 -0.892903231183 -0.112799910208 0 0 0 0 -0.892903231183 -0.112799910208 0 0 | |
| </gradio-file> | |
| <gradio-file name="passive_line.s2p"> | |
| ! passive_line | |
| ! Lossy 20 ps delay line, 0.5 dB insertion loss. The baseline sane case. | |
| # HZ S RI R 50 | |
| 1000000000 0.05 0 0.936616674299 -0.118322202306 0.936616674299 -0.118322202306 0.05 0 | |
| 1619047619.05 0.05 0 0.924588885489 -0.190752014312 0.924588885489 -0.190752014312 0.05 0 | |
| 2238095238.1 0.05 0 0.906968706207 -0.262028059748 0.906968706207 -0.262028059748 0.05 0 | |
| 2857142857.14 0.05 0 0.883862712386 -0.331719224327 0.883862712386 -0.331719224327 0.05 0 | |
| 3476190476.19 0.05 0 0.855410660994 -0.39940397994 0.855410660994 -0.39940397994 0.05 0 | |
| 4095238095.24 0.05 0 0.821784644713 -0.464672934275 0.821784644713 -0.464672934275 0.05 0 | |
| 4714285714.29 0.05 0 0.783188051034 -0.527131307031 0.783188051034 -0.527131307031 0.05 0 | |
| 5333333333.33 0.05 0 0.739854332063 -0.586401317753 0.739854332063 -0.586401317753 0.05 0 | |
| 5952380952.38 0.05 0 0.692045592483 -0.642124470846 0.692045592483 -0.642124470846 0.05 0 | |
| 6571428571.43 0.05 0 0.64005100421 -0.693963723939 0.64005100421 -0.693963723939 0.05 0 | |
| 7190476190.48 0.05 0 0.584185057333 -0.741605526491 0.584185057333 -0.741605526491 0.05 0 | |
| 7809523809.52 0.05 0 0.524785657914 -0.784761716307 0.524785657914 -0.784761716307 0.05 0 | |
| 8428571428.57 0.05 0 0.462212084157 -0.823171262492 0.462212084157 -0.823171262492 0.05 0 | |
| 9047619047.62 0.05 0 0.396842813311 -0.856601844299 0.396842813311 -0.856601844299 0.05 0 | |
| 9666666666.67 0.05 0 0.329073232443 -0.884851256327 0.329073232443 -0.884851256327 0.05 0 | |
| 10285714285.7 0.05 0 0.259313246934 -0.90774863156 0.259313246934 -0.90774863156 0.05 0 | |
| 10904761904.8 0.05 0 0.187984801156 -0.925155474863 0.187984801156 -0.925155474863 0.05 0 | |
| 11523809523.8 0.05 0 0.11551932634 -0.936966500669 0.11551932634 -0.936966500669 0.05 0 | |
| 12142857142.9 0.05 0 0.0423551310551 -0.943110269803 0.0423551310551 -0.943110269803 0.05 0 | |
| 12761904761.9 0.05 0 -0.0310652499088 -0.943549621579 -0.0310652499088 -0.943549621579 0.05 0 | |
| 13380952381 0.05 0 -0.104297732218 -0.938281898572 -0.104297732218 -0.938281898572 0.05 0 | |
| 14000000000 0.05 0 -0.176899368047 -0.927338962687 -0.176899368047 -0.927338962687 0.05 0 | |
| 14619047619 0.05 0 -0.248431025256 -0.910787002446 -0.248431025256 -0.910787002446 0.05 0 | |
| 15238095238.1 0.05 0 -0.318460043486 -0.88872613264 -0.318460043486 -0.88872613264 0.05 0 | |
| 15857142857.1 0.05 0 -0.386562851115 -0.861289788789 -0.386562851115 -0.861289788789 0.05 0 | |
| 16476190476.2 0.05 0 -0.452327527236 -0.828643920052 -0.452327527236 -0.828643920052 0.05 0 | |
| 17095238095.2 0.05 0 -0.515356293167 -0.790985985481 -0.515356293167 -0.790985985481 0.05 0 | |
| 17714285714.3 0.05 0 -0.575267918421 -0.748543759689 -0.575267918421 -0.748543759689 0.05 0 | |
| 18333333333.3 0.05 0 -0.631700026589 -0.701573955148 -0.631700026589 -0.701573955148 0.05 0 | |
| 18952380952.4 0.05 0 -0.684311287172 -0.650360669462 -0.684311287172 -0.650360669462 0.05 0 | |
| 19571428571.4 0.05 0 -0.73278348013 -0.595213666999 -0.73278348013 -0.595213666999 0.05 0 | |
| 20190476190.5 0.05 0 -0.776823420639 -0.536466505273 -0.776823420639 -0.536466505273 0.05 0 | |
| 20809523809.5 0.05 0 -0.816164732424 -0.47447451742 -0.816164732424 -0.47447451742 0.05 0 | |
| 21428571428.6 0.05 0 -0.850569458938 -0.409612662958 -0.850569458938 -0.409612662958 0.05 0 | |
| 22047619047.6 0.05 0 -0.879829502651 -0.342273259836 -0.879829502651 -0.342273259836 0.05 0 | |
| 22666666666.7 0.05 0 -0.903767883726 -0.272863611498 -0.903767883726 -0.272863611498 0.05 0 | |
| 23285714285.7 0.05 0 -0.922239810487 -0.201803543298 -0.922239810487 -0.201803543298 0.05 0 | |
| 23904761904.8 0.05 0 -0.935133555193 -0.12952286318 -0.935133555193 -0.12952286318 0.05 0 | |
| 24523809523.8 0.05 0 -0.942371129826 -0.0564587619789 -0.942371129826 -0.0564587619789 0.05 0 | |
| 25142857142.9 0.05 0 -0.943908757802 0.0169468309352 -0.943908757802 0.0169468309352 0.05 0 | |
| 25761904761.9 0.05 0 -0.939737138753 0.0902499206749 -0.939737138753 0.0902499206749 0.05 0 | |
| 26380952381 0.05 0 -0.929881504784 0.163007132344 -0.929881504784 0.163007132344 0.05 0 | |
| 27000000000 0.05 0 -0.914401467851 0.2347783928 -0.914401467851 0.2347783928 0.05 0 | |
| 27619047619 0.05 0 -0.893390659203 0.305129592441 -0.893390659203 0.305129592441 0.05 0 | |
| 28238095238.1 0.05 0 -0.866976163047 0.373635210923 -0.866976163047 0.373635210923 0.05 0 | |
| 28857142857.1 0.05 0 -0.835317747881 0.439880890934 -0.835317747881 0.439880890934 0.05 0 | |
| 29476190476.2 0.05 0 -0.798606900128 0.50346594443 -0.798606900128 0.50346594443 0.05 0 | |
| 30095238095.2 0.05 0 -0.757065665932 0.564005776213 -0.757065665932 0.564005776213 0.05 0 | |
| 30714285714.3 0.05 0 -0.710945308101 0.621134210153 -0.710945308101 0.621134210153 0.05 0 | |
| 31333333333.3 0.05 0 -0.66052478635 0.674505704016 -0.66052478635 0.674505704016 0.05 0 | |
| 31952380952.4 0.05 0 -0.60610907 0.72379743948 -0.60610907 0.72379743948 0.05 0 | |
| 32571428571.4 0.05 0 -0.548027293371 0.768711274702 -0.548027293371 0.768711274702 0.05 0 | |
| 33190476190.5 0.05 0 -0.486630765004 0.808975547643 -0.486630765004 0.808975547643 0.05 0 | |
| 33809523809.5 0.05 0 -0.422290842773 0.844346719212 -0.422290842773 0.844346719212 0.05 0 | |
| 34428571428.6 0.05 0 -0.355396687712 0.874610846318 -0.355396687712 0.874610846318 0.05 0 | |
| 35047619047.6 0.05 0 -0.286352910174 0.899584875912 -0.286352910174 0.899584875912 0.05 0 | |
| 35666666666.7 0.05 0 -0.215577122537 0.91911775218 -0.215577122537 0.91911775218 0.05 0 | |
| 36285714285.7 0.05 0 -0.143497413272 0.933091330213 -0.143497413272 0.933091330213 0.05 0 | |
| 36904761904.8 0.05 0 -0.0705497576361 0.941421090603 -0.0705497576361 0.941421090603 0.05 0 | |
| 37523809523.8 0.05 0 0.0028246193223 0.944056650662 0.0028246193223 0.944056650662 0.05 0 | |
| 38142857142.9 0.05 0 0.0761819115262 0.940982069165 0.0761819115262 0.940982069165 0.05 0 | |
| 38761904761.9 0.05 0 0.149078416235 0.932215942766 0.149078416235 0.932215942766 0.05 0 | |
| 39380952381 0.05 0 0.22107321779 0.917811293518 0.22107321779 0.917811293518 0.05 0 | |
| 40000000000 0.05 0 0.291730854497 0.897855248171 0.291730854497 0.897855248171 0.05 0 | |
| </gradio-file> | |
| <gradio-file name="demo_logic.py"> | |
| """Demo logic for the physics-lint Space, with no UI framework imported. | |
| Keeping this separate from `app.py` means the behaviour is testable without | |
| launching a browser or installing Gradio -- and it means the numbers shown in | |
| the Space are produced by exactly the code the tests exercise. | |
| """ | |
| from __future__ import annotations | |
| import math | |
| import pathlib | |
| import numpy as np # noqa: E402 | |
| from maxwell_lint import check_ceiling # noqa: E402 | |
| from maxwell_lint.models import (born_second_order, isolated_pair_matrix, # noqa: E402 | |
| mean_field, monopole_closure, random_layout) | |
| from sparam_lint import read_touchstone, run_battery # noqa: E402 | |
| from sparam_lint import run_negative_control as _run_negative_control # noqa: E402 | |
| EXAMPLES_DIR = pathlib.Path("examples") | |
| EXTRACTORS = { | |
| "monopole_closure — global inversion (respects the ceiling)": monopole_closure, | |
| "born_second_order — truncated perturbation series": born_second_order, | |
| "mean_field — averaged screening": mean_field, | |
| "pairwise — no screening at all (k ≡ 1)": isolated_pair_matrix, | |
| } | |
| SCOPE_SPARAM = ( | |
| "Physical admissibility only. A perfectly passive model of entirely the " | |
| "wrong structure passes every law here — passivity is necessary, not " | |
| "sufficient. This does not tell you a model is accurate." | |
| ) | |
| SCOPE_CEILING = ( | |
| "A necessary-condition test. It can tell you an extractor is wrong; it " | |
| "cannot tell you one is right. An extractor returning k = 0.5 everywhere " | |
| "passes the ceiling and is useless. Reference models are thin-wire / " | |
| "monopole forms in a homogeneous medium." | |
| ) | |
| SCOPE_FAMILY = ( | |
| "A theorem about the monopole-closure model, not about Maxwell. The " | |
| "closure-vs-solver gap is additive and disclosed, never absorbed into the " | |
| "bound. Every number here is computational; none is measured." | |
| ) | |
| K_BAR = 10.0 / 11.0 # 0.909090909090909..., the certified bound for this family | |
| # --------------------------------------------------------------- S-parameters | |
| def check_touchstone(path: str) -> tuple[str, str]: | |
| """Run the 5-law battery on a Touchstone file. Returns (markdown, verdict).""" | |
| if not path: | |
| return "_Choose an example or upload a `.s2p` file._", "" | |
| try: | |
| net = read_touchstone(path) | |
| except Exception as exc: | |
| return (f"### Could not parse\n\n```\n{exc}\n```\n\n" | |
| "A file that cannot be parsed is an error, never a quiet pass."), "ERROR" | |
| results = list(run_battery(net.s, net.freq_hz, net.z0)) | |
| failed = [r for r in results if not r.passed] | |
| lines = [ | |
| f"**{net.s.shape[1]}-port · {len(net.freq_hz)} points · " | |
| f"{net.freq_hz[0] / 1e9:.3g}–{net.freq_hz[-1] / 1e9:.3g} GHz · " | |
| f"z₀ = {net.z0:g} Ω**", | |
| "", | |
| "| | Law | Measured |", | |
| "|---|---|---|", | |
| ] | |
| for r in results: | |
| mark = "✅" if r.passed else "❌" | |
| lines.append(f"| {mark} | `{r.name}` | {r.message} |") | |
| if failed: | |
| verdict = (f"**{len(failed)} of {len(results)} laws FAILED** — this network " | |
| "is not physically realizable as a passive device.") | |
| else: | |
| verdict = f"**All {len(results)} laws passed.**" | |
| lines += ["", verdict] | |
| return "\n".join(lines), ("FAIL" if failed else "PASS") | |
| def negative_control_report() -> str: | |
| """Prove the checker still discriminates before anyone trusts a clean report. | |
| Both directions are shown, because either failure mode is disqualifying: a | |
| law that stops rejecting its violator has gone blind, and a law that starts | |
| rejecting a known-good network has gone hysterical. | |
| """ | |
| res = _run_negative_control() | |
| lines = [ | |
| "A checker reporting 100% compliance is indistinguishable from one that " | |
| "has quietly stopped working — a widened tolerance, a transposed " | |
| "reshape, an aliased phase unwrap. So the battery is run against " | |
| "networks built to violate each law, and against one built to satisfy " | |
| "them all.", | |
| "", "| Law | Known-good network | Deliberate violator |", "|---|---|---|", | |
| ] | |
| for law, passed in res["positive_control"].items(): | |
| neg = res["negative_control"][law] | |
| lines.append( | |
| f"| `{law}` | {'✅ passed' if passed else '❌ FALSE ALARM'} | " | |
| f"{'✅ rejected' if neg['rejected'] else '❌ MISSED'} " | |
| f"(worst {neg['worst_value']:.6g}) |" | |
| if neg["worst_value"] is not None else | |
| f"| `{law}` | {'✅ passed' if passed else '❌ FALSE ALARM'} | " | |
| f"{'✅ rejected' if neg['rejected'] else '❌ MISSED'} |") | |
| ok = res["positive_control_all_pass"] and res["negative_control_all_rejected"] | |
| lines += ["", f"**Battery discriminates: {ok}**"] | |
| if not ok: | |
| lines.append("\nDo not trust today's clean verdicts.") | |
| return "\n".join(lines) | |
| def list_examples() -> list[str]: | |
| if not EXAMPLES_DIR.is_dir(): | |
| return [] | |
| return sorted(str(p) for p in EXAMPLES_DIR.glob("*.s*p")) | |
| # ------------------------------------------------------------ screening ceiling | |
| def check_extractor(model_name: str, n: int, pitch_um: float, seed: int) -> str: | |
| """Run one reference extractor against the ceiling on a random array.""" | |
| fn = EXTRACTORS[model_name] | |
| lay = random_layout(int(n), seed=int(seed), pitch_um=float(pitch_um)) | |
| report = check_ceiling(fn(lay), isolated_pair_matrix(lay)) | |
| pct = 100.0 * report.n_violations / max(report.n_pairs, 1) | |
| head = "❌ **predicts impossible physics**" if report.n_violations \ | |
| else "✅ **respects the ceiling**" | |
| lines = [ | |
| head, "", | |
| "| | |", | |
| "|---|---|", | |
| f"| conductors | {int(n)} |", | |
| f"| pairs checked | {report.n_pairs} |", | |
| f"| pairs with k > 1 | **{report.n_violations}** ({pct:.1f}%) |", | |
| f"| largest k | **{report.max_k:.4f}** |", | |
| ] | |
| if report.n_violations: | |
| lines += ["", "A predicted k > 1 is *anti-screening*: it says that adding a " | |
| "grounded conductor between two others **increases** their " | |
| "coupling. No passive arrangement of conductors in a linear " | |
| "medium can do that."] | |
| return "\n".join(lines) | |
| def sweep_all_extractors(n: int, pitch_um: float, seed: int) -> str: | |
| """Every reference model on the same layout — the comparison that matters.""" | |
| lay = random_layout(int(n), seed=int(seed), pitch_um=float(pitch_um)) | |
| iso = isolated_pair_matrix(lay) | |
| lines = ["| Model | pairs k>1 | max k | verdict |", "|---|---|---|---|"] | |
| for name, fn in EXTRACTORS.items(): | |
| rep = check_ceiling(fn(lay), iso) | |
| short = name.split(" — ")[0] | |
| verdict = "❌ impossible" if rep.n_violations else "✅ admissible" | |
| lines.append(f"| `{short}` | {rep.n_violations}/{rep.n_pairs} | " | |
| f"{rep.max_k:.4f} | {verdict} |") | |
| lines += ["", "`pairwise` sits exactly *on* the ceiling (k ≡ 1) — admissible and " | |
| "maximally wrong: it assumes no screening at all."] | |
| return "\n".join(lines) | |
| # --------------------------------------------------------------- the theorem | |
| def family_layout(d0_um: float, pt_mult: float, sep_mult: float, jog_mult: float): | |
| """Two tight pairs: the family the certified bound is proven over.""" | |
| pt = 1.6 * d0_um * pt_mult * 1e-6 | |
| sep = pt * sep_mult | |
| jog = jog_mult * sep | |
| return (np.array([[0.0, 0.0], [pt, 0.0], [sep, jog], [sep + pt, jog]]), | |
| np.full(4, d0_um * 1e-6 / 2.0)) | |
| def family_k(d0_um: float, pt_mult: float, sep_mult: float, jog_mult: float) -> float: | |
| """Worst-pair screening factor at one point of the family box.""" | |
| xy, radius = family_layout(d0_um, pt_mult, sep_mult, jog_mult) | |
| p = np.zeros((4, 4)) | |
| for i in range(4): | |
| for j in range(4): | |
| p[i, j] = -math.log(radius[i]) if i == j else \ | |
| -math.log(float(np.hypot(*(xy[i] - xy[j])))) | |
| c = np.linalg.inv(p) | |
| worst = 0.0 | |
| for i in range(4): | |
| for j in range(4): | |
| if i == j: | |
| continue | |
| r = float(np.hypot(*(xy[i] - xy[j]))) | |
| pp = np.array([[-math.log(radius[i]), -math.log(r)], | |
| [-math.log(r), -math.log(radius[j])]]) | |
| iso = abs(np.linalg.inv(pp)[0, 1]) | |
| if iso > 0: | |
| worst = max(worst, abs(c[i, j]) / iso) | |
| return worst | |
| def probe_family(d0_um: float, pt_mult: float, sep_mult: float, | |
| jog_mult: float) -> str: | |
| """Try to break the certified bound at a user-chosen point in the family.""" | |
| k = family_k(d0_um, pt_mult, sep_mult, jog_mult) | |
| err = 100.0 / k - 100.0 | |
| within = k <= K_BAR | |
| head = ("✅ **inside the certified bound**" if within else | |
| "🚨 **ABOVE the certified bound — you have refuted the theorem**") | |
| return "\n".join([ | |
| head, "", | |
| "| | |", "|---|---|", | |
| f"| worst-pair k | **{k:.12f}** |", | |
| f"| certified bound | {K_BAR:.12f} |", | |
| f"| margin | {K_BAR - k:+.12f} |", | |
| f"| pairwise over-predicts by | **{err:.4f}%** |", | |
| "", | |
| "The bound is proven for **every** layout in the family box by interval " | |
| "branch-and-bound — 237,490 certified leaves, zero failure regions. " | |
| "Sampling here cannot prove it; it can only refute it. Try.", | |
| ]) | |
| def family_bounds() -> dict[str, tuple[float, float]]: | |
| return {"d0_um": (25.0, 60.0), "pt_mult": (1.0, 1.2), | |
| "sep_mult": (2.5, 4.5), "jog_mult": (-0.4, 0.4)} | |
| </gradio-file> | |
| <gradio-file name="app.py" entrypoint> | |
| import pathlib | |
| pathlib.Path("examples").mkdir(exist_ok=True) | |
| pathlib.Path("examples/active_gain.s2p").write_text(pathlib.Path("active_gain.s2p").read_text()) | |
| pathlib.Path("examples/ferrite_isolator.s2p").write_text(pathlib.Path("ferrite_isolator.s2p").read_text()) | |
| pathlib.Path("examples/noncausal_advance.s2p").write_text(pathlib.Path("noncausal_advance.s2p").read_text()) | |
| pathlib.Path("examples/passive_4port.s4p").write_text(pathlib.Path("passive_4port.s4p").read_text()) | |
| pathlib.Path("examples/passive_line.s2p").write_text(pathlib.Path("passive_line.s2p").read_text()) | |
| """physics-lint — browser build (Gradio Lite / Pyodide). | |
| All computation happens in `demo_logic`, which imports no UI framework, so the | |
| numbers shown here are produced by exactly the code the test suite exercises. | |
| Run locally: | |
| pip install -r requirements.txt | |
| python app.py | |
| """ | |
| from __future__ import annotations | |
| import gradio as gr | |
| import demo_logic as dl | |
| CSS = """ | |
| .verdict-pass textarea, .verdict-pass { border-left: 4px solid #16a34a; } | |
| .verdict-fail textarea, .verdict-fail { border-left: 4px solid #dc2626; } | |
| footer { visibility: hidden; } | |
| """ | |
| INTRO = """ | |
| # physics-lint | |
| **Is this model physically possible?** | |
| Three checks that answer that question in three different places — an | |
| S-parameter file, a coupling extractor, and a certified bound on what screening | |
| can do. Each one can tell you something is *wrong*; none can tell you something | |
| is *right*. That distinction is the point, and it is repeated on every tab. | |
| Everything here runs in-process from open-source packages. Nothing is uploaded | |
| anywhere. | |
| """ | |
| def _tab_sparam() -> None: | |
| gr.Markdown( | |
| "### Five laws every passive linear network must obey\n\n" | |
| "Vendor models, simulator exports and measurements all end up as " | |
| "Touchstone files, and some of them describe networks that cannot " | |
| "exist: they produce power from nothing, respond before they are " | |
| "excited, or present negative resistance. Simulators believe them " | |
| "anyway." | |
| ) | |
| examples = dl.list_examples() | |
| with gr.Row(): | |
| with gr.Column(scale=1): | |
| picker = gr.Dropdown( | |
| choices=examples, | |
| value=next((e for e in examples if "passive_line" in e), None), | |
| label="Example network", | |
| ) | |
| upload = gr.File(label="…or upload your own .sNp", | |
| file_types=[".s1p", ".s2p", ".s3p", ".s4p"]) | |
| run = gr.Button("Check", variant="primary") | |
| gr.Markdown( | |
| "**Try `active_gain`** — the same line with 3× gain bolted onto " | |
| "the through path.\n\n" | |
| "**Try `ferrite_isolator`** — physically real *and* fails " | |
| "reciprocity, because its medium is non-reciprocal. A tool that " | |
| "treats every law failure as a defect rejects legitimate hardware." | |
| ) | |
| with gr.Column(scale=2): | |
| out = gr.Markdown() | |
| def _go(sel, up): | |
| path = up.name if up is not None else sel | |
| md, _ = dl.check_touchstone(path) | |
| return md | |
| run.click(_go, [picker, upload], out) | |
| picker.change(_go, [picker, upload], out) | |
| upload.change(_go, [picker, upload], out) | |
| gr.Markdown("### Does the checker still discriminate?") | |
| ctrl_btn = gr.Button("Run the negative control") | |
| ctrl_out = gr.Markdown() | |
| ctrl_btn.click(lambda: dl.negative_control_report(), None, ctrl_out) | |
| gr.Markdown(f"> **Scope.** {dl.SCOPE_SPARAM}") | |
| def _tab_ceiling() -> None: | |
| gr.Markdown( | |
| "### The screening ceiling\n\n" | |
| "Pack conductors together and every other conductor screens the field " | |
| "between any two, so a pair's mutual capacitance inside an array is at " | |
| "most its isolated-pair value:\n\n" | |
| "$$k = |C_\\text{full}| / |C_\\text{iso}| \\le 1$$\n\n" | |
| "A predicted `k > 1` is **anti-screening** — it says adding a grounded " | |
| "conductor between two others *increases* their coupling. No passive " | |
| "arrangement of conductors in a linear medium can do that." | |
| ) | |
| with gr.Row(): | |
| with gr.Column(scale=1): | |
| model = gr.Dropdown(choices=list(dl.EXTRACTORS), | |
| value=list(dl.EXTRACTORS)[1], label="Extractor") | |
| n = gr.Slider(4, 16, value=8, step=1, label="Conductors") | |
| pitch = gr.Slider(40, 150, value=80, step=5, label="Nominal pitch (µm)") | |
| seed = gr.Slider(0, 20, value=1, step=1, label="Layout seed") | |
| one = gr.Button("Check this extractor", variant="primary") | |
| allb = gr.Button("Compare all four") | |
| with gr.Column(scale=2): | |
| out = gr.Markdown() | |
| one.click(dl.check_extractor, [model, n, pitch, seed], out) | |
| allb.click(dl.sweep_all_extractors, [n, pitch, seed], out) | |
| gr.Markdown( | |
| "`born_second_order` is a truncated perturbation series — the thing a " | |
| "competent engineer reaches for when a full solve is too slow. It is " | |
| "not a strawman. Truncating an alternating series overshoots, and the " | |
| "overshoot drives the prediction into the impossible region." | |
| ) | |
| gr.Markdown(f"> **Scope.** {dl.SCOPE_CEILING}") | |
| def _tab_theorem() -> None: | |
| b = dl.family_bounds() | |
| gr.Markdown( | |
| "### Try to break a machine-certified bound\n\n" | |
| "For a four-conductor family — two tight pairs, four free parameters — " | |
| "interval branch-and-bound has certified that **every** layout satisfies " | |
| f"`k ≤ {dl.K_BAR:.12f}`. 237,490 certified leaves, zero failure regions, " | |
| "full volume coverage.\n\n" | |
| "The consequence: a pairwise-superposition extractor assumes `k ≡ 1`, so " | |
| "it over-predicts the worst coupling by **at least 10%** on every member " | |
| "of the family. Not on average. Always.\n\n" | |
| "Move the sliders. If you find a point above the bound, the theorem is " | |
| "wrong and we want to know." | |
| ) | |
| with gr.Row(): | |
| with gr.Column(scale=1): | |
| d0 = gr.Slider(*b["d0_um"], value=40.0, step=0.1, | |
| label="d₀ — conductor diameter (µm)") | |
| ptm = gr.Slider(*b["pt_mult"], value=1.1, step=0.001, | |
| label="pt_mult — pitch multiplier") | |
| sepm = gr.Slider(*b["sep_mult"], value=3.5, step=0.01, | |
| label="sep_mult — pair separation") | |
| jogm = gr.Slider(*b["jog_mult"], value=0.0, step=0.001, | |
| label="jog_mult — vertical offset") | |
| go = gr.Button("Evaluate", variant="primary") | |
| with gr.Column(scale=2): | |
| out = gr.Markdown() | |
| for c in (d0, ptm, sepm, jogm): | |
| c.change(dl.probe_family, [d0, ptm, sepm, jogm], out) | |
| go.click(dl.probe_family, [d0, ptm, sepm, jogm], out) | |
| gr.Markdown( | |
| "The certified bound is 0.909090909091; the worst layout adversarial " | |
| "search has found is ≈0.9053. That gap is the price of a first-order " | |
| "interval relaxation, not a claim about physics." | |
| ) | |
| gr.Markdown(f"> **Scope.** {dl.SCOPE_FAMILY}") | |
| def build() -> gr.Blocks: | |
| with gr.Blocks(title="physics-lint", css=CSS, | |
| theme=gr.themes.Soft()) as demo: | |
| gr.Markdown(INTRO) | |
| with gr.Tabs(): | |
| with gr.Tab("S-parameters"): | |
| _tab_sparam() | |
| with gr.Tab("Coupling extractors"): | |
| _tab_ceiling() | |
| with gr.Tab("The certified bound"): | |
| _tab_theorem() | |
| gr.Markdown( | |
| "---\n" | |
| "Built from [`sparam-lint`](https://github.com/nickharris808/sparam-lint) " | |
| "and [`maxwell-lint`](https://github.com/nickharris808/maxwell-lint) " | |
| "(Apache-2.0). The certified bound is published as the " | |
| "[`screening-ceiling`](https://huggingface.co/datasets/nickh007/screening-ceiling) " | |
| "dataset with a zero-dependency verifier.\n\n" | |
| "These tools **grade** a model. Producing one that is passive by " | |
| "construction and accurate at speed in the many-body regime is the " | |
| "[ChipletOS](https://chipletos.com) closed core." | |
| ) | |
| return demo | |
| build().launch() | |
| </gradio-file> | |
| </gradio-lite> | |
| </body> | |
| </html> | |