sparam_lint-0.1.0-py3-none-any.whl maxwell_lint-0.1.0-py3-none-any.whl ! 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 ! 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 ! 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 ! 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 ! 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 """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)} 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()