10 interesting stories served every morning and every evening.

AI Isn’t Outthinking Mathematicians. It’s Out-Remembering Them.

davidepiffer.com

When an AI sys­tem solves a dif­fi­cult math­e­mat­i­cal prob­lem, the usual ex­pla­na­tion is that it has be­come more in­tel­li­gent.

Perhaps it has ab­sorbed mil­lions of math­e­mat­i­cal ex­am­ples. Perhaps re­in­force­ment learn­ing has taught it bet­ter rea­son­ing strate­gies. Perhaps it is be­gin­ning to de­velop some­thing re­sem­bling gen­uine math­e­mat­i­cal in­tu­ition.

All of these ex­pla­na­tions may con­tain some truth. But they over­look a sim­pler pos­si­bil­ity:

AI has ac­cess to a vastly larger work­ing mem­ory than the hu­man brain.

Or, more pre­cisely, it has ac­cess to an enor­mous ex­ter­nal sym­bolic work­space that per­forms many of the func­tions that work­ing mem­ory per­forms in hu­mans.

This dif­fer­ence may be es­pe­cially im­por­tant in math­e­mat­ics.

A hu­man math­e­mati­cian can hold only a small num­ber of un­fa­mil­iar el­e­ments in mind si­mul­ta­ne­ously. An AI model can keep the en­tire prob­lem state­ment, hun­dreds of in­ter­me­di­ate equa­tions, sev­eral aban­doned ap­proaches, de­f­i­n­i­tions, con­straints and ear­lier con­clu­sions in­side its con­text win­dow.

We nor­mally in­ter­pret the re­sult­ing per­for­mance as ev­i­dence of su­pe­rior rea­son­ing. But some of it may in­stead re­flect the re­moval of one of the most im­por­tant bi­o­log­i­cal lim­its on hu­man rea­son­ing: our ex­tremely re­stricted work­ing-mem­ory ca­pac­ity.

Working mem­ory is the men­tal sys­tem that al­lows us to hold and ma­nip­u­late in­for­ma­tion over short pe­ri­ods.

When solv­ing an equa­tion, you must re­mem­ber what each vari­able rep­re­sents, which op­er­a­tions have al­ready been per­formed and what the cur­rent goal is. During a proof, you may need to keep track of as­sump­tions, in­ter­me­di­ate lem­mas, ex­cep­tions and mul­ti­ple pos­si­ble cases.

Human work­ing mem­ory is re­mark­ably lim­ited.

Its ex­act ca­pac­ity de­pends on the task and on how in­for­ma­tion is or­ga­nized, but the gen­eral lim­i­ta­tion is ob­vi­ous from every­day ex­pe­ri­ence. Try mul­ti­ply­ing two three-digit num­bers in your head. The un­der­ly­ing op­er­a­tions are sim­ple. The dif­fi­culty comes largely from hav­ing to pre­serve par­tial re­sults while per­form­ing ad­di­tional cal­cu­la­tions.

Writing the num­bers down trans­forms the prob­lem.

Paper does not make you more in­tel­li­gent. It ex­pands your ef­fec­tive work­ing mem­ory.

The same prin­ci­ple ap­plies at higher lev­els of math­e­mat­ics. A math­e­mati­cian uses no­ta­tion, scratch pa­per, di­a­grams and pre­vi­ously writ­ten lem­mas not merely to com­mu­ni­cate the so­lu­tion, but to make the rea­son­ing cog­ni­tively pos­si­ble.

Experts com­pen­sate through chunking.” A novice sees a long se­quence of sym­bols. An ex­pert rec­og­nizes a fa­mil­iar struc­ture and treats it as a sin­gle con­cep­tual ob­ject. This al­lows far more in­for­ma­tion to fit in­side the same bi­o­log­i­cal work­ing-mem­ory limit.

But chunk­ing does not elim­i­nate the limit. It merely com­presses the in­for­ma­tion.

An AI model faces a very dif­fer­ent con­straint.

The im­por­tance of work­ing mem­ory for math­e­mat­ics is not merely the­o­ret­i­cal. It is vis­i­ble in the dif­fer­ences be­tween hu­man be­ings.

Working mem­ory is strongly re­lated to gen­eral in­tel­li­gence, which raises an ob­vi­ous ques­tion: does it in­de­pen­dently pre­dict math­e­mat­i­cal per­for­mance, or is it merely an­other im­per­fect mea­sure of IQ?

Several stud­ies sug­gest that it con­tributes some­thing be­yond con­ven­tional in­tel­li­gence mea­sures. Alloway and Passolunghi (2011), for ex­am­ple, ex­am­ined work­ing mem­ory, ver­bal abil­ity and math­e­mat­i­cal skills in chil­dren. They found that work­ing-mem­ory mea­sures made a dis­tinct con­tri­bu­tion to math­e­mat­i­cal per­for­mance rather than sim­ply re­pro­duc­ing the as­so­ci­a­tion be­tween math­e­mat­ics and gen­eral ver­bal abil­ity.

In a sep­a­rate six-year lon­gi­tu­di­nal study, Alloway and Alloway (2010) mea­sured chil­dren at age five and then ex­am­ined their aca­d­e­mic achieve­ment six years later. Early work­ing-mem­ory per­for­mance pre­dicted later lit­er­acy and nu­mer­acy even af­ter IQ was in­cluded in the analy­sis. Indeed, work­ing mem­ory was a stronger pre­dic­tor of the later aca­d­e­mic out­comes than the IQ mea­sure used in the study.

Blankenship and col­leagues (2015) sim­i­larly re­ported that work­ing mem­ory ex­plained unique vari­a­tion in math­e­mat­i­cal flu­ency and cal­cu­la­tion af­ter sta­tis­ti­cally con­trol­ling for IQ and age. A large meta-analy­sis by Friso-van den Bos and col­leagues (2013) also found a con­sis­tent re­la­tion­ship be­tween work­ing mem­ory and math­e­mat­ics across pri­mary-school stud­ies, al­though the strength of the re­la­tion­ship var­ied ac­cord­ing to the type of work­ing-mem­ory and math­e­mat­i­cal task be­ing mea­sured.

These find­ings should not be ex­ag­ger­ated. Working mem­ory and in­tel­li­gence over­lap sub­stan­tially, and sta­tis­ti­cal con­trol can­not per­fectly iso­late them as in­de­pen­dent psy­cho­log­i­cal mech­a­nisms. Nor does the ev­i­dence im­ply that com­mer­cially train­ing work­ing mem­ory will nec­es­sar­ily pro­duce large im­prove­ments in in­tel­li­gence or math­e­mat­ics.

The nar­rower con­clu­sion is nev­er­the­less im­por­tant: among chil­dren with sim­i­lar mea­sured in­tel­li­gence, dif­fer­ences in the abil­ity to hold, up­date and ma­nip­u­late in­for­ma­tion still pre­dict dif­fer­ences in math­e­mat­i­cal per­for­mance.

This pro­vides a cru­cial clue for un­der­stand­ing AI. If hu­man math­e­mat­i­cal per­for­mance is partly capped by a work­ing-mem­ory bot­tle­neck, then giv­ing a ma­chine an enor­mous sym­bolic work­space changes the na­ture of the con­test. The ma­chine may ap­pear more math­e­mat­i­cally in­tel­li­gent partly be­cause it is much less con­strained by a cog­ni­tive lim­i­ta­tion that sup­presses hu­man per­for­mance.

A mod­ern lan­guage model can process an enor­mous se­quence of to­kens at once. This se­quence may in­clude the orig­i­nal ques­tion, de­f­i­n­i­tions, ex­am­ples, in­ter­me­di­ate cal­cu­la­tions and the mod­el’s own ear­lier rea­son­ing.

The con­text win­dow is not iden­ti­cal to hu­man work­ing mem­ory. It is bet­ter un­der­stood as a gi­gan­tic ex­ter­nal note­book com­bined with an im­per­fect sys­tem for search­ing and us­ing what has been writ­ten in it.

This dis­tinc­tion mat­ters.

Humans pos­sess a form of ac­tive in­ter­nal mem­ory. We can silently choose a num­ber, hold it in mind, trans­form it and re­place it with a new value with­out say­ing or writ­ing any­thing.

Standard lan­guage mod­els are much weaker at main­tain­ing this kind of pri­vate, con­tin­u­ously up­dated men­tal state. Their most sta­ble form of mem­ory is usu­ally the se­quence of to­kens that has al­ready been gen­er­ated.

If the model writes:

x=6

and later writes:

x+3=9,

those state­ments re­main in­side the con­text. The model can at­tend to them again when gen­er­at­ing the next step.

Its rea­son­ing is there­fore of­ten ex­ter­nal­ized. The text is not merely a re­port of a com­pleted thought process. The text is part of the mech­a­nism by which the rea­son­ing oc­curs.

Humans do some­thing sim­i­lar when us­ing scratch pa­per. The ma­jor dif­fer­ence is scale.

An un­aided hu­man may strug­gle to keep five un­fa­mil­iar con­di­tions ac­tive si­mul­ta­ne­ously. An AI can pre­serve dozens or hun­dreds of them in ex­plicit form.

This does not mean that every item in a long con­text is re­trieved per­fectly. Models can over­look rel­e­vant in­for­ma­tion, be­come dis­tracted or lose track of de­tails. Advertised con­text length is not the same as per­fectly us­able mem­ory.

Nevertheless, the dif­fer­ence in po­ten­tial ca­pac­ity is enor­mous.

The con­text-win­dow ad­van­tage is not equally use­ful in every kind of rea­son­ing.

It mat­ters es­pe­cially for math­e­mat­ics be­cause math­e­mat­i­cal rea­son­ing can be trans­lated un­usu­ally well into ex­plicit sym­bols.

Almost every rel­e­vant el­e­ment of a math­e­mat­i­cal prob­lem can be writ­ten down:

the as­sump­tions;

the as­sump­tions;

the de­f­i­n­i­tions;

the de­f­i­n­i­tions;

the known equa­tions;

the known equa­tions;

the cur­rent ob­jec­tive;

the cur­rent ob­jec­tive;

the re­sults al­ready proved;

the re­sults al­ready proved;

the cases that have been elim­i­nated;

the cases that have been elim­i­nated;

the con­di­tions un­der which each step re­mains valid.

the con­di­tions un­der which each step re­mains valid.

Once writ­ten, this in­for­ma­tion re­mains sta­ble.

If (x) is de­fined as an in­te­ger at the be­gin­ning of a proof, it re­mains an in­te­ger un­less the proof ex­plic­itly changes the de­f­i­n­i­tion. A strict in­equal­ity does not grad­u­ally be­come a non-strict in­equal­ity be­cause of changes in mood, con­text or in­ter­pre­ta­tion.

Mathematical sym­bols are de­signed to re­duce am­bi­gu­ity.

This makes math­e­mat­ics al­most per­fectly suited to an in­tel­li­gence that op­er­ates through a large tex­tual work­space.

Consider a prob­lem re­quir­ing the solver to re­mem­ber that:

n is odd;

n is odd;

p is prime;

p is prime;

x≠0

x≠0

and that one branch of the ar­gu­ment has al­ready pro­duced a con­tra­dic­tion.

A hu­man may un­der­stand the ba­sic strat­egy but di­vide by x be­fore es­tab­lish­ing that x≠0. The er­ror is not nec­es­sar­ily caused by a lack of in­tel­li­gence. It may be a fail­ure of book­keep­ing.

An AI can re­state the ac­tive con­straints at each stage:

We are work­ing un­der the as­sump­tions that (n) is odd, (p) is prime and (x≠0).

We are work­ing un­der the as­sump­tions that (n) is odd, (p) is prime and (x≠0).

The con­text be­comes a ledger of the rea­son­ing state.

Many dif­fi­cult math­e­mat­i­cal prob­lems con­tain a pro­found in­sight some­where near the be­gin­ning, but they also con­tain a large amount of less glam­orous work af­ter­ward: ex­pand­ing ex­pres­sions, check­ing cases, car­ry­ing con­di­tions through trans­for­ma­tions and mak­ing sure that the fi­nal con­clu­sion is com­pat­i­ble with every ear­lier as­sump­tion.

A ma­chine does not need to pos­sess deeper in­sight than a hu­man to gain an ad­van­tage here. It may sim­ply be bet­ter equipped to pre­serve the en­tire state of the prob­lem while com­plet­ing a long se­quence of op­er­a­tions.

Mathematics is highly com­po­si­tional.

A proof can of­ten be rep­re­sented as:

A → B → C → D

If each step is valid and the chain is pre­served ac­cu­rately, the con­clu­sion fol­lows.

A large work­ing space al­lows the model to con­struct much longer chains be­fore los­ing the thread.

This is im­por­tant be­cause the dif­fi­culty of a prob­lem does not de­pend only on the dif­fi­culty of each in­di­vid­ual step. It also de­pends on how many steps must be co­or­di­nated.

A per­son may be per­fectly ca­pa­ble of un­der­stand­ing every lo­cal in­fer­ence in a 100-step ar­gu­ment while still be­ing un­able to gen­er­ate the en­tire ar­gu­ment un­aided. The prob­lem ex­ceeds the per­son’s abil­ity to main­tain the global struc­ture.

AI can po­ten­tially com­pen­sate by writ­ing down nearly every­thing.

This may ex­plain why ad­di­tional thinking time” of­ten im­proves model per­for­mance. More com­pu­ta­tion al­lows the sys­tem to pro­duce more in­ter­me­di­ate states, ex­am­ine al­ter­na­tive branches and pre­serve par­tial con­clu­sions.

What looks like deeper thought may some­times be broader search con­ducted in­side a much larger note­book.

Now com­pare a math­e­mat­i­cal prob­lem with a so­cial ques­tion:

Why has Maria sud­denly stopped re­ply­ing to my mes­sages?

Why has Maria sud­denly stopped re­ply­ing to my mes­sages?

A larger con­text win­dow might al­low an AI to ex­am­ine years of cor­re­spon­dence. It could iden­tify changes in tone, tim­ing and vo­cab­u­lary.

But the de­ci­sive in­for­ma­tion may still be miss­ing.

Perhaps Maria is an­gry. Perhaps she is busy. Perhaps she is ill. Perhaps she has lost her phone. Perhaps she is avoid­ing an un­re­lated prob­lem.

No amount of mem­ory can re­trieve facts that were never ob­served.

The chal­lenge is not sim­ply to pre­serve a known set of premises and de­rive their con­se­quences. It is to rea­son un­der un­cer­tainty about hid­den causes.

Informal rea­son­ing also de­pends heav­ily on con­cepts whose mean­ings are un­sta­ble.

Words such as fair,” successful,” responsible,” harmful” or intelligent” do not pos­sess the ex­act­ness of math­e­mat­i­cal vari­ables. Their mean­ing de­pends on cul­ture, goals and con­text.

A model can re­mem­ber every sen­tence in a dis­cus­sion while still mis­un­der­stand­ing what the par­tic­i­pants mean.

The same ap­plies to po­lit­i­cal analy­sis, his­tor­i­cal in­ter­pre­ta­tion, busi­ness strat­egy and psy­cho­log­i­cal judg­ment. In these do­mains, the cen­tral prob­lem is of­ten not work­ing-mem­ory ca­pac­ity. It is iden­ti­fy­ing the cor­rect causal model when the ev­i­dence is in­com­plete and am­bigu­ous.

A larger note­book helps, but it does not solve the fun­da­men­tal prob­lem.

Auto-research with codex: How I achieved a 232x Faster Kernel over baseline with Codex in GPU Mode's qr_v2 problem

sankalp.bearblog.dev

08 Jul, 2026

Table of Contents

Intro Contest in short Problem in­tro

Contest in short

Problem in­tro

Why this prob­lem is auto-re­search-able

Learning Enough to Ask Better Questions

(Optional) Math for QR de­com­po­si­tion: Householder re­flec­tions

Make se­r­ial work small with the help of the blocked Householder al­go­rithm

Other chal­lenges

Codex-maxxing Kernel progress break­throughs Breakthrough ideas

Kernel progress break­throughs

Breakthrough ideas

Introducing idea di­ver­sity to es­cape the lo­cal max­ima

Implementation Hints

What I could have done bet­ter

Conclusion

References

Acknowledgements

Intro

Contest in short

GPU Mode, in col­lab with Core Automation, re­cently hosted an auto-re­search themed con­test. The prob­lem state­ment was to im­ple­ment batched square com­pact-House­holder QR fac­tor­iza­tion aka QR de­com­po­si­tion. I placed 12th out of 183 par­tic­i­pants, end­ing up with a 232x speedup over the base­line so­lu­tion. This post is about how I got there. I will go through my ap­proach, learn­ings, and bot­tle­necks I ran into dur­ing the con­test. It was my first se­ri­ous at­tempt at auto-re­search. Some peo­ple will call this loop en­gi­neer­ing”, and hon­estly that is fine too.

Note that you don’t need to go through the math­e­mat­ics or the prob­lem it­self in de­tail to fol­low most of this blog post. I have fo­cused on my ap­proach while keep­ing the math and the prob­lem it­self sec­ondary as most peo­ple who will read this won’t have par­tic­i­pated in the con­test.

You can check out the full con­test page here: Problem Link and Leaderboard

This con­test was part of GPU Mode’s Linear Algebra Kernels in the Age of Research se­ries.

Problem in­tro

We were given a batch of square FP32 CUDA ma­tri­ces A with shape batch x n x n, and had to re­turn the same com­pact Householder QR rep­re­sen­ta­tion as torch.geqrf(A): an H ma­trix whose up­per tri­an­gle is R and whose lower tri­an­gle stores Householder vec­tors, plus a tau vec­tor of re­flec­tor co­ef­fi­cients. The checker re­built Q with torch.linalg.house­hold­er_prod­uct(H, tau), took R = triu(H), and ver­i­fied:

A≈QR,Q⊤Q≈I,Q⊤A≈R

Among cor­rect sub­mis­sions, the leader­board ranked run­time by geo­met­ric mean across shapes and con­di­tion­ing cases. The im­por­tant sizes were batched square ma­tri­ces like 512 x 512, with larger 1024, 2048, and 4096 cases too. Low-bit FP16, FP8, or NVFP4 was al­lowed in­ter­nally, but re­turned fac­tors still had to sat­isfy FP32-style QR checks.

A tiny 3 x 3 ex­am­ple is:

A=[12−5146167−68−424−41]=[6/7−69/175−58/1753/7158/1756/175−2/76/35−33/35]⏟Q[1421−140175−700035]⏟R

Here Q is or­thog­o­nal, which means its columns are unit-length and per­pen­dic­u­lar to each other, and R is up­per tri­an­gu­lar, which means every­thing be­low the di­ag­o­nal is zero. The con­test was not ask­ing us to print dense Q and R di­rectly; it asked for the com­pact Householder ver­sion that lets the checker re­con­struct Q and read R from the up­per tri­an­gle.

For the 3×3 ex­am­ple above, the very first re­flec­tor maps the first col­umn (12, 6, −4) straight onto (−14, 0, 0) in one shot. The −14 be­comes R11. How that works is in the math sec­tion.

Why this prob­lem is auto-re­search-able

GPU Mode pro­vides par­tic­i­pants with the pop­corn CLI mak­ing it agent-friendly. Agents can use this to test, bench­mark, and sub­mit to the leader­board di­rectly. The checker also pro­vided shape-wise feed­back along with the over­all geo­met­ric mean tim­ing.

Astute ob­servers will no­tice this is an apt setup for writ­ing a loop. Agents yearn for tight feed­back loops. They al­low them to hill-climb to their heart’s con­tent.

GPU Mode con­tests usu­ally give you some way to it­er­ate on ker­nels. Either you sub­mit di­rectly, or a spon­sor like Modal chips in cred­its. Here the or­ga­niz­ers ba­si­cally al­lowed un­lim­ited sub­mis­sions as long as you spaced them out. If you did­n’t, the queues got long and every­body’s runs timed out. At one point the work­space even ran out of Modal cred­its be­cause every­one had been ham­mer­ing sub­mis­sions. It’s a nice way to make learn­ing ac­ces­si­ble.

Over the course of 14 days, I made over 1500 sub­mis­sions.

Learning Enough to Ask Better Questions

I have known the ba­sics of GPU ker­nel op­ti­miza­tion (mainly in Triton with some un­der­stand­ing of CUDA) for a year, but haven’t worked in this do­main pro­fes­sion­ally. What I am try­ing to tell you is that I was an un­der­dog among the peo­ple around me on the leader­board. The per­son just above me on the leader­board (CUDA Colonel) is a prin­ci­pal en­gi­neer at NVIDIA.

Anyway aura farm­ing aside, since I know the ba­sics and had re­cently read about GatedDeltaNet, I was fresh on the gen­eral GPU ker­nel lingo.

The bet­ter you know some­thing, the bet­ter you can prompt the LLMs, be­cause you con­vert un­known un­knowns into known un­knowns.

At the same time, it’s worth not­ing that this con­test was doable with­out do­main knowl­edge - like you prob­a­bly won’t make it to the top 10, but you can get a re­spectable speedup over base­line by just re­ly­ing on your har­ness/​agent loop or what­ever.

My first steps in the con­test were to learn what QR de­com­po­si­tion is and how it can be done. There are a bunch of ways to do it - like Gram-Schmidt and Householder re­flec­tions. The con­test man­dated Householder re­flec­tions. I went back and forth with Claude and watched a few YouTube videos to build in­tu­ition. After my dis­cus­sions with Claude, it was clear that we needed to use the blocked Householder al­go­rithm as the main ar­chi­tec­ture with the trail­ing WY-update. As it turns out, GPT-5.5 also had a good idea about this. QR de­com­po­si­tion is a fairly well known prob­lem.

I found the con­cept in­ter­est­ing as ma­trix de­com­po­si­tions show up in sev­eral mod­ern op­ti­mizer vari­ants for LLM train­ing, es­pe­cially in meth­ods that use ma­trix pre­con­di­tion­ing, such as Shampoo-style op­ti­miz­ers and re­lated ap­proaches. Muon (used by Kimi) is an­other good ex­am­ple: in­stead of treat­ing a weight up­date as one gi­ant flat­tened vec­tor, it keeps the ma­trix struc­ture around and or­thog­o­nal­izes the mo­men­tum up­date, usu­ally through a few Newton-Schulz it­er­a­tions that ap­prox­i­mate the po­lar fac­tor.

(Optional) Math for QR de­com­po­si­tion: Householder re­flec­tions

I rec­om­mend skim­ming through this sec­tion if you are cu­ri­ous about the math oth­er­wise feel free to skip. The only thing to note is that there is a se­quen­tial de­pen­dency in Householder QR which makes it prob­lem­atic to do GEMM. We use blocked Householder to make it more ma­trix-mul­ti­pli­ca­tion shaped.

The con­tract

Quickly re­view­ing the con­tract: in­put is a batch of square FP32 ma­tri­ces A; out­put is the com­pact (H, tau) for­mat that torch.geqrf re­turns. The up­per tri­an­gle of H is R. Below the di­ag­o­nal, H stores the Householder vec­tors, and tau stores one scalar per col­umn. The checker re­builds Q from (H, tau) and ver­i­fies A ≈ QR.

Mirrors

Forget ma­tri­ces for a sec­ond. In a bath­room mir­ror, your re­flec­tion is ex­actly as far be­hind the glass as you are in front of it, straight through.

If x⟂ is the part of x stick­ing out per­pen­dic­u­lar to the glass, re­flec­tion just sub­tracts that part twice:

xre­flected=x−2x⟂

So a Householder re­flec­tion is about find­ing the per­pen­dic­u­lar part and sub­tract­ing it twice.

Storing the mir­ror

A Householder vec­tor is the mir­ror, stored com­pactly. In code, we don’t carry around the whole mir­ror plane. We store one vec­tor v stick­ing straight out of it. The mir­ror is every­thing per­pen­dic­u­lar to v, and the re­flec­tion moves along v.

The per­pen­dic­u­lar part is just the shadow of x along v, which is v⊤xv⊤v copies of v. Plug that into the sub­trac­tion above:

ℋx=x−τv(v⊤x),τ=2v⊤v

So tau is just 2v⊤v: the fac­tor of 2 and the length of v bun­dled into one pre­com­puted num­ber. v picks the mir­ror, tau scales the up­date. (I’ll write the math­e­mat­i­cal re­flec­tor as ℋj and re­serve H for the com­pact out­put ma­trix.)

Householder re­flec­tion in 2D tau = 0.00

Why QR cares about mir­rors

QR wants to turn A into an up­per-tri­an­gu­lar ma­trix R. Column 1 should be­come some­thing like (*, 0, 0), col­umn 2 should have ze­ros be­low row 2, and so on.

A Householder mir­ror is use­ful be­cause it can do that to a col­umn in one shot. Take the first col­umn of the 3×3 ex­am­ple above: (12, 6, -4). We want to send it to the x-axis so the lower en­tries be­come zero. A re­flec­tion can only change di­rec­tion, not length, so the tar­get must also have length 14. One valid tar­get is (-14, 0, 0). After that re­flec­tion, the 6 and -4 en­tries are gone, which is ex­actly what we wanted.

How do we find the mir­ror? It sits halfway be­tween the col­umn and its tar­get, so v, the vec­tor pok­ing through the mir­ror, is just the col­umn mi­nus its tar­get:

v = (12, 6, -4) - (-14, 0, 0) = (26, 6, -4)

The Householder up­date

Then com­pute tau = 2 / (vᵀv). The re­flec­tor it­self is:

ℋ=I−τvv⊤,τ=2v⊤v

ℋx=(I−τvv⊤)x

ℋx=x−τv(v⊤x)

ℋAactive=(I−τvv⊤)Aactive

ℋAactive=Aactive−τv(v⊤Aactive)

This turns the cur­rent col­umn into (-14, 0, 0) and rewrites the other columns con­sis­tently, so the next re­flec­tor is built from the up­dated ma­trix.

We keep do­ing this once per col­umn. In rough no­ta­tion, the re­peated up­dates look like:

A(1)=A(0)−τ1v1(v1⊤A(0))

A(2)=A(1)−τ2v2(v2⊤A(1))

A(3)=A(2)−τ3v3(v3⊤A(2))

R=A(n)

Each line uses the ma­trix pro­duced by the pre­vi­ous line. Each re­flec­tor ze­roes out every­thing be­low the di­ag­o­nal of its col­umn with­out dis­turb­ing the columns al­ready fin­ished. After the last one, A has walked down to an up­per-tri­an­gu­lar R:

A=ℋ1ℋ2⋯ℋn⏟QR

Mirrors don’t change lengths or an­gles, so each ℋj is or­thog­o­nal, and so is their prod­uct Q. That’s where the or­thog­o­nal­ity the checker ver­i­fies comes from for free.

What’s the com­pact for­mat

Once col­umn j is processed, every­thing be­low its di­ag­o­nal is dead space. geqrf reuses those slots to stash the tail of v_j (the lead­ing 1 is im­plicit). On and above the di­ag­o­nal you’re look­ing at R; be­low it, the re­flec­tors; and tau rides along as a sep­a­rate vec­tor. That’s why the checker needs both H and tau to re­build Q.

Compact geqrf stor­age (n = 6) hover a col­umn

H  (upper tri­an­gle = R, be­low di­ag­o­nal = re­flec­tor tails)

tau  (one scalar per re­flec­tor)

r en­tries of R tail of vj τj

Make se­r­ial work small with the help of the blocked Householder al­go­rithm

Householder QR ze­roes out A be­low the di­ag­o­nal one col­umn at a time. Each step builds a re­flec­tor from the cur­rent col­umn and ap­plies it to every­thing on the right. The prob­lem is re­flec­tor j+1 is built from the ma­trix af­ter re­flec­tor j has al­ready hit it. So you can’t re­order the steps and you can’t fuse them. It’s se­r­ial, and the se­r­ial ma­trix-vec­tor work runs in the slow vec­tor lanes of the SM while the ten­sor cores just sit there idle.

Householder QR, one re­flec­tor at a time (n = 5) math view: ze­ros ap­pear, trail­ing block gets rewrit­ten

orig­i­nal a fi­nal en­try of R rewrit­ten by this re­flec­tor 0 zeroed (vj gets stashed here)

The clas­sic fix is the blocked al­go­rithm. You pick a nar­row panel of b columns (say 32 or 64) and do all the se­r­ial work in­side it. That’s fine, be­cause the panel is only b columns wide, so it stays cheap. Then, in­stead of ap­ply­ing the pan­el’s b re­flec­tors to the rest of the ma­trix one at a time, you com­press them into a sin­gle rank-b up­date (the WY rep­re­sen­ta­tion”) and hit the en­tire trail­ing block in one shot with three back-to-back ma­trix mul­ti­plies. The se­r­ial work stays con­fined to the panel, and every­thing else turns into GEMMs, which is ex­actly the shape the ten­sor cores want.

Concretely, the WY rep­re­sen­ta­tion col­lapses a pan­el’s b re­flec­tors into a sin­gle rank-b up­date. Stack the pan­el’s Householder vec­tors as columns of V=[v1,v2,…,vb], build a small b×b up­per-tri­an­gu­lar T, then:

ℋ1ℋ2⋯ℋb=I−VTV⊤

and the trail­ing-block up­date be­comes three GEMM-shaped steps:

W=V⊤Atrail

Z=T⊤W

Atrail←Atrail−VZ

Blocked Householder (n = 6, panel width b = 2) con­fine the se­r­ial work, GEMM the rest

Just a moment...

alz-journals.onlinelibrary.wiley.com

Oxiis Intelligent Bike Booster|Bike Booster|ASUS Global

www.asus.com

ASUS Oxiis E250G1

Ride Easy. Explore More.

Oxiis is a uni­ver­sal, fric­tion-drive mo­tor sys­tem that trans­forms any con­ven­tional bi­cy­cle into a smart e-bike. Its name fuses the Greek Oxis (agility) and Axis (pivot)—perfectly re­flect­ing how its high-per­for­mance drive core de­liv­ers ul­ti­mate ac­cel­er­a­tion and in­stant, nim­ble re­spon­sive­ness right to your ride.

Focus on es­sen­tials

Adaptive boost tech­nol­ogy

Precisely de­tects in­clines, pro­vid­ing seam­less as­sis­tance for ef­fort­less climbs.

Peak power 500W

Instant burst, ef­fort­lessly con­quer­ing chal­leng­ing ter­rains, mak­ing every ride eas­ier.

Wireless ca­dence sen­sor

Ditch the wires. Simple to in­stall, smart to ride.

Smart brake-de­tect­ing tail­light

Enhances night vis­i­bil­ity and safety, safe­guard­ing your jour­ney.

Design

Simple de­sign. Impressive ben­e­fits.

The ASUS Oxiis E250G1 de­signed with the user in mind: min­i­mum struc­ture, max­i­mum util­ity. Every de­tail is metic­u­lously crafted to el­e­vate your daily ex­pe­ri­ence, de­liv­er­ing seam­less in­ter­ac­tion and a func­tional mas­ter­piece of pre­mium qual­ity and beauty.

Premium alu­minum con­struc­tion

Built to last with high-grade, rugged ma­te­ri­als.

Anti-slip tech­nol­ogy

Dynamically pres­sure au­to­mat­i­cally grips the tire for ef­fi­cient, slip-free power trans­fer.

Easy in­stal­la­tion

Quick trans­for­ma­tion. Zero mod­i­fi­ca­tions to gears or brakes.

Efficient heat dis­si­pa­tion

Reduced risk of over­heat­ing.

Battery

Removable mod­u­lar bat­tery

Easy to charge and swap, of­fer­ing ul­ti­mate free­dom for your jour­ney.

100W USB-C® PD

2 hours fast charge

158 Wh

bat­tery ca­pac­ity

Flight-safe for carry on lug­gage (Requires air­line ap­proval pri­or­ity to fly­ing)

Compatibility

Universal de­sign, per­fect fit

ASUS Oxiis E250G1 works with a wide range of bike frame types, in­clud­ing city, road, gravel, and fold­ing bikes, as well as hy­brid or hard­tail moun­tain bikes.

Accommodates

Find your fit

To guar­an­tee op­ti­mal per­for­mance, seam­less in­stal­la­tion, and max­i­mum safety, please dou­ble-check that your bike’s spe­cific tire width, wheel size, and seat post mea­sure­ments fully meet our cri­te­ria be­fore your first setup.

Tire width

Supports tire widths up to 60 mm.

Tire size

Compatible with tire sizes from 16 to 29 inches, plus 700C.

Seat post

Fits 25.4 – 34.9 mm posts (spacers in­cluded).

Installation Guide

Easy in­stal­la­tion

No com­plex tools are needed to in­stall ASUS Oxiis E250G1.

App

ASUS Oxiis app

Three modes. One seam­less ex­pe­ri­ence.

Switch modes ef­fort­lessly us­ing the in­te­grated but­ton or ded­i­cated app.

Eco mode: Efficient sup­port for flat ter­rain and tail­winds.

Normal mode: Smooth, bal­anced power for every­day ad­ven­tures.

Sport mode: Instant boost for steep climbs and high-speed per­for­mance.

Spec

Product Specifications

Motor Power

250W (Rated) / 500W (Peak)

Range

50 km (31 miles) in eco mode

Battery

158.4 Wh / 36 V

Weight

3.7 kg (including bat­tery)

Dimensions

400 x 84 x 128 mm (L x W x H)

Max Speed

32 km/​h (Limited to 25 km/​h in spe­cific re­gions)

Charging Time

2 hours (100W PD Charger re­quired)

Waterproof Rating

IPX4

App Compatibility

Android & iOS

Get lo­cal ASUS Zenbook 14 avail­abil­ity alerts - and more from ASUS/ROG

Working With AI Feels More Like Leadership Than Coding

allen.bargi.org

allen@bargi:~/​notes$ cat work­ing-with-ai.md

For most of my ca­reer, code gave me cer­tainty. A pro­gram did what its in­struc­tions told it to do. If the same in­put pro­duced a dif­fer­ent re­sult, we called it a bug.

People were never like that. As a leader, I can ex­plain a task and get ex­actly what I asked for. I can also get some­thing bet­ter be­cause a col­league un­der­stood the in­tent be­hind the re­quest. Sometimes the re­sult shows that I was not as clear as I thought.

Working with AI feels closer to the sec­ond ex­pe­ri­ence.

AI runs on soft­ware, but work­ing with it is not fully pre­dictable. The same re­quest can pro­duce a dif­fer­ent an­swer. It can make a use­ful con­nec­tion, miss an ob­vi­ous point, or sur­prise me with an ap­proach I had not con­sid­ered.

This is frus­trat­ing when I treat AI like a com­piler. It be­comes more use­ful when I treat the in­ter­ac­tion as a form of col­lab­o­ra­tion.

That does not make AI a per­son. It has no lived ex­pe­ri­ence, ac­count­abil­ity, or hu­man judg­ment. The com­par­i­son is about how we work. Good lead­ers do more than is­sue in­struc­tions. They share con­text, ex­plain the de­sired out­come, set bound­aries, and re­spond to what comes back.

The same habits im­prove my work with AI. A good prompt helps, but a shared work­ing con­text helps more. Examples, cor­rec­tions, and reusable in­struc­tions re­duce mis­un­der­stand­ings. Over time, the sys­tem be­comes bet­ter aligned with how I think and what I need from it.

The in­vest­ment is not in pre­tend­ing that AI is hu­man. It is in be­com­ing bet­ter at ex­press­ing in­tent.

We spent years learn­ing how to tell com­put­ers ex­actly what to do. Now we also need to ex­plain why the work mat­ters, what a good re­sult looks like, and where judg­ment is needed.

For me, that is the shift. AI is mak­ing soft­ware work less like is­su­ing com­mands to a ma­chine and more like lead­ing through a con­ver­sa­tion. The tech­nol­ogy is new. The lead­er­ship skills are not.

This note led to a thought­ful dis­cus­sion on Hacker News. I rec­om­mend read­ing through all the com­ments; the agree­ment, crit­i­cism, and dif­fer­ent ex­pe­ri­ences add more to the idea than I could fit here.

Just a moment...

www.smithsonianmag.com

Abdominal Fat Predicts Heart Disease Risk Better Than BMI - American College of Cardiology

www.acc.org

Contact: Olivia Walther, owalther@acc.org ,

WASHINGTON (Aug 11, 2026) -

The size of a per­son’s mid­sec­tion is a bet­ter in­di­ca­tor of car­dio­vas­cu­lar dis­ease risk when com­pared to their body mass in­dex (BMI) alone, ac­cord­ing to a study pub­lished in JACC, the flag­ship jour­nal of the American College of Cardiology. BMI has tra­di­tion­ally been used to de­ter­mine over­weight or obe­sity, com­mon risk fac­tors for heart dis­ease, but this study shows that not ac­count­ing for waist cir­cum­fer­ence (WC) or waist-to-hip ra­tio (WHR) can lead to mis­clas­si­fi­ca­tion of car­dio­vas­cu­lar dis­ease risk.

Indeed, it ap­pears that WC and WHR re­clas­sify risk de­fined by tra­di­tional BMI thresh­olds,” said Michael J. Blaha, MD, MPH, se­nior au­thor of the study and di­rec­tor of clin­i­cal re­search at Johns Hopkins Ciccarone Center for the Prevention of Cardiovascular Disease. We saw in­di­vid­u­als with clin­i­cally de­ter­mined nor­mal weight who had el­e­vated cen­tral adi­pos­ity and high WHR, as­so­ci­at­ing them with higher risk across most out­comes.”

BMI is cal­cu­lated by di­vid­ing weight in kilo­grams by height in me­ters squared and is a com­mon prac­tice for di­ag­nos­ing obe­sity. However, BMI can­not ac­count for dis­tri­b­u­tion of body fat. Studies have shown that vis­ceral fat, which is fat that sur­rounds the in­ter­nal or­gans in the ab­dom­i­nal area, is as­so­ci­ated with chronic dis­eases like heart dis­ease and di­a­betes, while sub­cu­ta­neous fat, which is lo­cated di­rectly un­der the skin, is not as strongly as­so­ci­ated.

Despite ev­i­dence link­ing cen­tral adi­pos­ity, the ac­cu­mu­la­tion of both vis­ceral and sub­cu­ta­neous fat in the ab­dom­i­nal area, to ad­verse car­dio­vas­cu­lar health out­comes, BMI is still the most used met­ric to de­ter­mine over­weight and obe­sity and fu­ture car­dio­vas­cu­lar risk.

This study ex­am­ines whether adding WC and WHR to BMI bet­ter pre­dicts fu­ture car­dio­vas­cu­lar risk. Researchers from the Cross Cohort Collaboration looked at over 260,000 peo­ple over an av­er­age of 20 years who had ei­ther WC or WHR data and at least one of nine out­comes: time to first fa­tal and non-fa­tal my­ocar­dial in­farc­tion, fa­tal and non-fa­tal stroke, heart fail­ure, atrial fib­ril­la­tion, to­tal coro­nary heart dis­ease (CHD), to­tal car­dio­vas­cu­lar dis­ease (CVD), CHD mor­tal­ity, CVD mor­tal­ity and/​or all-cause mor­tal­ity.

In in­di­vid­u­als with nor­mal weight as de­ter­mined by BMI, 5% had high WC and 18% had high WHR; among those with over­weight, 39% had high WC and 40% had high WHR. Among those with obe­sity, 9% had low WC and 45% had low WHR.

Those in­di­vid­u­als with nor­mal weight or over­weight and clin­i­cally de­fined high WC or WHR were as­so­ci­ated with a 15% - 50% greater risk for most of the nine stud­ied out­comes. Those with obe­sity and low WC were not found to be as­so­ci­ated with a sig­nif­i­cantly dif­fer­ent risk of out­comes com­pared with those who had nor­mal weight and low WC, ex­cept for all-cause mor­tal­ity, for which risk was sig­nif­i­cantly lower.

Our find­ings em­pha­size the crit­i­cal role of iden­ti­fy­ing el­e­vated cen­tral adi­pos­ity, even in in­di­vid­u­als with a nor­mal BMI or with a BMI in the over­weight range. Relying solely on BMI may re­sult in mis­clas­si­fi­ca­tion of car­dio­vas­cu­lar risk across a wide range of car­dio­vas­cu­lar out­comes,” Zeina A. Dardari, PhD, MS, lead au­thor of the study, said. We en­cour­age clin­i­cians to con­sider cen­tral adi­pos­ity dis­tri­b­u­tion across the en­tire BMI spec­trum when eval­u­at­ing car­dio­vas­cu­lar risk in pri­mary pre­ven­tion set­tings.”

Limitations of the study in­clude that it did not have mea­sures of phys­i­cal ac­tiv­ity, diet or ge­netic obe­sity risk, which have all been shown to play a role in the de­vel­op­ment of CVD. It also in­cluded only one as­sess­ment of WC and WHR, which could limit un­der­stand­ing of how changes in cen­tral fat ac­cu­mu­la­tion over time in­flu­ences CVD risk.

It is time to aban­don a sole fo­cus on body mass in­dex,” said Harlan M. Krumholz, MD, SM, MACC, FAHA, Editor-in-Chief of JACC and the Harold H. Hines, Jr Professor at the Yale School of Medicine. This enor­mously im­por­tant study, based on data from hun­dreds of thou­sands of par­tic­i­pants in large-scale co­hort stud­ies, au­thor­i­ta­tively shows that waist cir­cum­fer­ence and waist-to-hip ra­tio pro­vide crit­i­cal in­for­ma­tion about car­dio­vas­cu­lar risk, even among peo­ple with a BMI con­sid­ered nor­mal. Where fat is dis­trib­uted mat­ters, and these sim­ple mea­sures should be part of rou­tine car­dio­vas­cu­lar risk as­sess­ment.”

For an em­bar­goed copy of the study Risk Reclassification Beyond BMI by Waist Circumference and Waist-to-Hip Ratio Across Nine Cardiovascular Outcomes: Results from the Cross-Cohort Collaboration,” con­tact JACC Media Relations Manager Olivia Walther at owalther@acc.org.

The American College of Cardiology (ACC) is a global leader ded­i­cated to trans­form­ing car­dio­vas­cu­lar care and im­prov­ing heart health for all. For more than 75 years, the ACC has em­pow­ered a com­mu­nity of over 60,000 car­dio­vas­cu­lar pro­fes­sion­als across more than 140 coun­tries with cut­ting-edge ed­u­ca­tion and ad­vo­cacy, rig­or­ous pro­fes­sional cre­den­tials, and trusted clin­i­cal guid­ance. From its world-class JACC Journals and NCDR reg­istries to its Accreditation Services, global net­work of Chapters and Sections, and CardioSmart pa­tient ini­tia­tives, the College is com­mit­ted to cre­at­ing a world where sci­ence, knowl­edge and in­no­va­tion op­ti­mize pa­tient care and out­comes. Learn more at www.ACC.org or con­nect on so­cial me­dia at @ACCinTouch.

The ACCs JACC Journals rank among the top car­dio­vas­cu­lar jour­nals in the world for sci­en­tific im­pact. The flag­ship jour­nal, the Journal of the American College of Cardiology (JACC) — and spe­cialty jour­nals con­sist­ing of JACC: Advances, JACC: Asia, JACC: Basic to Translational Science, JACC: CardioOncology, JACC: Cardiovascular Imaging, JACC: Cardiovascular Interventions, JACC: Case Reports, JACC: Clinical Electrophysiology and JACC: Heart Failure — pride them­selves on pub­lish­ing the top peer-re­viewed re­search on all as­pects of car­dio­vas­cu­lar dis­ease. Learn more at JACC.org.

###

< Back to Listings

Eigendrum - draw a shape and hear it as a real drum

baselashraf81.github.io

how it works

A drum­head clamped at its rim can only vi­brate in cer­tain shapes, at cer­tain fre­quen­cies. Those shapes and fre­quen­cies are the so­lu­tions of

−∇²u = λu  inside the shape,  u = 0 on the edge

Each so­lu­tion u is a mode, a stand­ing wave, and each λ gives a fre­quency pro­por­tional to √λ. This is an eigen­value prob­lem, and for al­most every shape it has no for­mula. So Eigendrum solves it nu­mer­i­cally: it cov­ers your shape with a mesh of tri­an­gles, builds the fi­nite el­e­ment stiff­ness and mass ma­tri­ces, and finds the small­est eigen­val­ues of Kφ = λMφ.

why you can trust the num­bers

A few shapes have spec­tra that can be writ­ten down ex­actly, and the solver is tested against them on every change. A cir­cle’s fre­quen­cies are the ze­ros of Bessel func­tions; a rec­tan­gle’s are π²(m²/​a² + n²/​b²). The solver re­pro­duces both to bet­ter than a tenth of a per­cent, and be­cause a con­form­ing fi­nite el­e­ment method min­imises en­ergy over a re­stricted space, its an­swers are guar­an­teed slight over­es­ti­mates, never un­der. The mea­sured er­ror is in the num­bers”.

where you strike it mat­ters

Striking a spot dri­ves each mode in pro­por­tion to how much that mode moves there. Hit a line where a mode stands still and you can­not ex­cite it at all. That was not pro­grammed in; it falls out of pro­ject­ing the mal­let onto the modes.

So a strike is never one mode: it is every mode at once, in a mix­ture set by where your mal­let landed. The rules along the mode list are that mix­ture, and the modes marked with a square were the ones your mal­let could not reach. Pressing a row in­stead plays that sin­gle mode alone - some­thing no mal­let can do, and the only way to hear what one fre­quency of a shape ac­tu­ally sounds like.

drums from equa­tions

Besides trac­ing an out­line you can write one. r(t) gives the ra­dius as t sweeps one full turn, so 1 + 0.3cos(5t) is a five-lobed flower; a para­met­ric x(t), y(t) pair reaches the closed curves po­lar can­not, like a nephroid or an egg. This is not a short­cut for draw­ing. It reaches shapes no hand traces ac­cu­rately - eleven even lobes, a super­el­lipse part­way be­tween a cir­cle and a square - and it makes a shape some­thing you vary: change one num­ber and hear what moved.

A writ­ten shape trav­els as its own text. The link for a for­mula holds the for­mula, so it is some­thing you can read and re­type rather than a few hun­dred char­ac­ters of en­coded out­line, and edit­ing it in the ad­dress bar works. Anything too thin to mesh hon­estly is re­fused rather than an­swered, be­cause a sliver would still re­turn num­bers and they would be wrong.

can one hear the shape of a drum?

Mark Kac asked ex­actly that in 1966. In 1992 Carolyn Gordon, David Webb and Scott Wolpert an­swered no, by build­ing two dif­fer­ent shapes with iden­ti­cal spec­tra. Both are in the form list as Kac drum I and II. Each is made from the same seven tri­an­gles, re­arranged. They en­close the same area and the same perime­ter, and every fre­quency matches. Switch be­tween them and lis­ten: the out­lines are plainly dif­fer­ent and the sound is not.

what’s physics, and what’s just a slider

The fre­quency ra­tios, the mode shapes, and the pitch of the fun­da­men­tal are all baked into the out­line - you can’t touch them. What you can move is the wave speed (tension and den­sity): the pitch slider names the note a cir­cle of this area would sound, and your ac­tual shape lands above or be­low that on its own. Since every shape gets scaled to the same area first, that off­set is gen­uinely about the shape - roughly six semi­tones of spread across the built-in pre­sets, with the cir­cle al­ways low­est thanks to Faber-Krahn’s in­equal­ity. Fade time is a real slider too, since that’s ma­te­r­ial and air, not some­thing the maths pins down.

The mal­let works the same way. Its width is a slider; its con­tact time is fixed at a few mil­lisec­onds, be­cause no real beater is in­stant, and one that was would slam every mode equally hard. Both change how much of a mode a strike can reach - nei­ther one can shift where a mode ac­tu­ally sits. Damping is Rayleigh damp­ing, so loss rises with the square of fre­quency: the high over­tones die away first, which is why a drum dark­ens as it rings.

where it lives, and how to reach me

Eigendrum is hosted at eigen­drum.com. That is the ad­dress to link to and to cite; the older base­lashraf81.github.io/​eigen­drum is a mir­ror that now redi­rects there.

For ad­ver­tis­ing or part­ner­ship en­quiries, write to u2679054@uel.ac.uk. For any­thing wrong with the maths or the in­ter­face, an is­sue on the repos­i­tory is bet­ter, be­cause then the fix is pub­lic.

colophon

No build step and no ap­pli­ca­tion back­end: the mesh, the solve and the au­dio all run on your own ma­chine. The de­ployed site uses Vercel Analytics and Google Analytics; it car­ries no ad­ver­tis­ing net­work and no con­sent ban­ner. Support to­ward the do­main and host­ing is vol­un­tary, via the link above. The shape you draw lives in the ad­dress bar af­ter the #, which browsers never send to a server, and an­a­lyt­ics is con­fig­ured not to record it. Details in the pri­vacy no­tice. Set in Jost* by in­de­struc­tible type*. After Kac, Can One Hear the Shape of a Drum? (1966); Gordon, Webb and Wolpert (1992); and Driscoll, Eigenmodes of Isospectral Drums (1997), whose co­or­di­nates the two Kac drums use.

Source, in­clud­ing the solver and the tests that check it against the closed-form spec­tra: github.com/​Base­lAshraf81/​eigen­drum

Free to use, with no ac­count and noth­ing to in­stall. If you would like to put some­thing to­wards it, or would rather it were not ad-sup­ported: ko-fi.com/​base­lashraf

Super El Niño Keeps Growing as New Forecasts Reach Record Territory Ahead of Winter

www.severe-weather.eu

Super El Niño con­tin­ues to strengthen rapidly across the trop­i­cal Pacific, with new ocean and at­mos­pheric data show­ing an­other ac­cel­er­a­tion in its de­vel­op­ment. The lat­est long-range fore­casts have raised the pro­jected peak again, push­ing the 2026 event deeper into his­toric ter­ri­tory later this year.

Behind this rapid growth is an un­usu­ally strong com­bi­na­tion of west­erly winds and sub­sur­face ocean heat. Recent data shows record-level west­erly wind anom­alies across the equa­to­r­ial Pacific, while a pow­er­ful Kelvin Wave con­tin­ues to spread east­ward be­neath the sur­face, pro­vid­ing ad­di­tional warm wa­ter that pow­ers the Super El Niño.

In this spe­cial­ized fore­cast ar­ti­cle, I break down the lat­est ocean and at­mos­pheric data be­hind the rapidly grow­ing Super El Niño, in­clud­ing the record west­erly wind anom­alies and chang­ing long-range fore­casts. I also look at how the at­mos­phere is al­ready re­spond­ing, and what the lat­est Fall and Winter 2026/2027 pre­dic­tions show for the United States, Canada, and Europe.

Super El Niño Dynamics: How Extreme Events Reshape Global Circulation

In the past few months, we have been track­ing the growth of a Super El Niño event that is al­ready a ma­jor global weather dri­ver for 2026/2027. This Super El Niño is grow­ing rapidly, and with the fore­casts con­stantly ad­just­ing its peak strength higher, we have to mon­i­tor its de­vel­op­ment on a reg­u­lar ba­sis.

Currently, we have just en­tered a very strong El Niño phase, so be­low you can see the usual changes it brings to the at­mos­pheric cir­cu­la­tion. The up­ward and down­ward at­mos­pheric mo­tion and cir­cu­la­tion in the trop­i­cal re­gions is called a Walker Cell, and is es­pe­cially sen­si­tive to strong ENSO events. Image by ESA.

In sim­ple terms, the El Niño causes a pres­sure drop in the cen­tral and east­ern trop­i­cal Pacific and a high-pres­sure zone over the west­ern Pacific. This cir­cu­la­tion change af­fects the global at­mos­phere and sig­nif­i­cantly in­flu­ences pres­sure pat­terns, winds, rain­fall, and the over­all sea­sonal weather sys­tem.

While a mod­er­ate event pro­duces a mild wave pat­tern, a Super El Niño trig­gers a far more ag­gres­sive shift in the jet stream. The tran­si­tion from a Moderate to an Extreme El Niño leads to a deeper Pacific trough and a stronger Canadian ridge, form­ing an at­mos­pheric high­way.

This fa­vors milder con­di­tions in the north while dri­ving an ac­tive storm track across the south­ern United States. The im­age above is from a study (linked be­low) that com­pared pres­sure anom­alies at 5km (3.1miles) dur­ing Winter for mod­er­ate and strong El Niño events.

Below is my com­bined analy­sis im­age of the last 4 Super El Niño events, show­ing ocean tem­per­a­ture anom­alies. You can see a strong warm anom­aly across the cen­tral and east­ern trop­i­cal Pacific. This close prox­im­ity to North America means di­rect and strong im­pacts on the sea­sonal weather in the United States and Canada in the Northern Hemisphere.

El Niño events hap­pen every few years, but Super events are rare, and usu­ally oc­cur once per decade or less.

But how does an El Niño even reach a Super” sta­tus? To keep it sim­ple, a west­erly wind burst can pile up warm wa­ter in the west­ern Pacific. This cre­ates a warm oceanic layer at depth known as a Kelvin Wave, rais­ing ocean heat con­tent in the west­ern Pacific, spread­ing east, and ris­ing to the sur­face.

The lat­est analy­sis data now shows the ex­act same process un­fold­ing rapidly, but with an en­ergy sig­na­ture that ex­ceeds most (if not all) pre­vi­ous su­per events.

Kelvin Wave: Subsurface Heat Drives Rapid El Niño Growth

The lat­est NOAA CRW ocean analy­sis be­low shows the ENSO area cov­ered in sub­stan­tial warm anom­alies. You can see the peak warmth in the east­ern parts reach­ing more than 5 de­grees above nor­mal over a large area, peak­ing at over 6 de­grees anom­aly. This is an ex­cep­tion­ally strong anom­aly for this stage of de­vel­op­ment, in­di­cat­ing un­usu­ally rapid El Niño growth.

The analy­sis be­low also shows the 30-day ocean tem­per­a­ture anom­aly change. It re­veals a broad warm­ing trend as the El Niño is emerg­ing, in­creas­ing by more than 1.5 de­grees over a very large area. Such a trend marks ac­cel­er­ated growth, with at least 3 months of fur­ther de­vel­op­ment ahead.

The un­usu­ally rapid growth can be seen in the lat­est analy­sis graph be­low, for the main ENSO re­gion. This is based on the rel­a­tive ENSO in­dex, which nor­mal­izes the data across past decades, mak­ing all El Niño events di­rectly com­pa­ra­ble. I pro­duced this plot us­ing BOM weekly data.

As you can see, there has been ac­cel­er­ated El Niño growth and strength­en­ing since Spring. The 2026 event has al­ready sur­passed the last Super El Niño event (2015 – 2016) in speed and strength. It is al­ready not far from the peak strength of the last Super event, af­ter hav­ing one of the fastest de­vel­op­ment cy­cles in decades.

Looking at the medium-range fore­cast be­low, the day-10 fore­cast shows con­tin­ued ex­pan­sion of the +5 de­gree (+9°F) anom­aly area, in­di­cat­ing no real break in the cur­rent growth. The 2026 event is de­vel­op­ing at an ex­cep­tional rate, with the lat­est data putting its cur­rent tra­jec­tory among the strongest in the his­tor­i­cal record.

Exceptional sur­face anom­alies are only half the story. The true power that is dri­ving this rapid warm­ing and Super El Niño de­vel­op­ment sits deep be­low the ocean sur­face.

Below you can see the sub­sur­face tem­per­a­ture anom­aly across the trop­i­cal Pacific in the top 250m (800ft) of the ocean. This re­veals the core (engine) of the 2026/2027 Super El Niño event: a pow­er­ful down­welling Kelvin Wave, with peak anom­alies over 9 de­grees (16°F) above nor­mal. It is push­ing east­ward and ris­ing to­ward the sur­face.

In sim­ple terms, the ocean sur­face anom­alies are just the sur­face foot­print of this mas­sive sub­sur­face warm core. As this warm wa­ter steadily sur­faces, it pro­vides a con­tin­u­ous sup­ply of ther­mal en­ergy to keep the El Niño strong and healthy well into the Winter sea­son.

I pro­duced a video be­low that shows the de­vel­op­ment of sub­sur­face tem­per­a­ture anom­alies in the past week un­der the ENSO re­gion. It shows clear move­ment and growth of this large Kelvin Wave and its even­tual rise as a Super El Niño in the east­ern parts.

These sub­sur­face Kelvin waves are dri­ven by the west­erly wind bursts across the trop­i­cal Pacific, push­ing the warmer sub­sur­face ocean wa­ters to the east, where they rise to the sur­face. And there are more west­erly winds com­ing to the Pacific, boost­ing the Super El Niño even higher to­wards Winter.

Westerly Wind Bursts: Record Pacific Anomalies Drive El Niño Growth

Below is the zonal wind rank­ing for June and July 2026, which I cal­cu­lated us­ing ERA5 data. It nicely shows how the west­erly wind anom­aly in the past two months com­pares to the past 86 years. You can see that a broad re­gion of the west­ern and cen­tral equa­to­r­ial Pacific recorded its strongest low-level west­erly wind anom­alies on record, with sur­round­ing ar­eas rank­ing in the top five.

This is sci­en­tif­i­cally sig­nif­i­cant be­cause achiev­ing an ab­solute record across an 86-year dataset for a two-month av­er­age re­quires sus­tained, broad trade wind col­lapse. It shows that the at­mos­phere re­ally is sup­port­ive for one of the strongest El Niño events to de­velop.

The re­sult is vis­i­ble in the ocean heat con­tent be­low, which looks at the ocean down to 300m (1000ft) depth. It per­fectly shows an ex­pand­ing warm sub­sur­face anom­aly across the trop­i­cal Pacific and ENSO re­gions from Spring to now, dri­ven by the west­erly wind bursts that push the warm Kelvin Wave east­ward.

But the story does­n’t end here, since con­tin­ued west­erly winds will help sus­tain and fur­ther strengthen the Super El Niño anom­alies at and be­low the ocean sur­face.

Below is the lat­est analy­sis and fore­cast of the winds across the trop­ics. You can al­ready see the strong west­erly wind burst anom­alies (warm hues) in the analy­sis part, dri­ving the El Niño warm­ing. But the fore­cast now also shows even stronger west­erly anom­alies across the Pacific in August, which will help fur­ther grow and strengthen the 2026/2027 Super El Niño event.

The ex­tended-range ECMWF fore­cast main­tains con­tin­u­ous west­erly wind anom­alies across the west­ern and cen­tral Pacific through late September. In en­sem­ble fore­cast­ing, a sig­nal this per­sis­tent be­yond 10 days in­di­cates an ex­cep­tion­ally ro­bust ocean-at­mos­phere cou­pling that will con­tin­u­ously sup­press trade winds and force trop­i­cal Pacific warm­ing.

The in­di­vid­ual west­erly wind burst events oc­cur on a daily or weekly scale, mak­ing it hard for sea­sonal fore­casts to sim­u­late them prop­erly. And since they are the key to El Niño growth and strength, this means the true ex­tent of the 2026 Super El Niño event was hid­den un­til re­cent weeks.

Latest El Niño Forecast: New Runs Push Further Into Record Territory

Because sea­sonal mod­els can­not prop­erly sim­u­late in­di­vid­ual fu­ture west­erly wind events, they of­ten un­der­pre­dict the ini­tial rapid growth of an El Niño. This is un­til the winds ac­tu­ally oc­cur, launch an oceanic Kelvin Wave, and al­low the mod­els to phys­i­cally see the re­sult­ing El Niño warm­ing.

This has cre­ated a very strong vi­sual fore­cast trend, with each new fore­cast show­ing a stronger peak El Niño anom­aly.

Below is a com­par­i­son I pro­duced us­ing the last seven ECMWF fore­casts, re­leased since early February. You can clearly see that each new run shows a stronger event, with the last three runs push­ing it into record-strong ter­ri­tory, above all the strongest Super El Niño events.

The same trend is also vis­i­ble on the NMME multi-model fore­cast, also trend­ing with a stronger Super El Niño with each con­sec­u­tive run since February at least. The anom­aly val­ues for the main ENSO re­gion now peak close to +4 de­grees, mak­ing this a record-strong event if ver­i­fied.

The term Super El Niño is com­monly used for events in which sea sur­face tem­per­a­ture anom­alies in the main ENSO re­gion reach or ex­ceed +2 de­grees above the long-term av­er­age. All fore­casts now in­di­cate that this event will reach far above that, ex­ceed­ing even the ex­treme +3 thresh­old (unofficial) in a lot of sce­nar­ios.

Below is the lat­est ECMWF fore­cast av­er­age for the November-December pe­riod, re­veal­ing a sig­nif­i­cant Super El Niño event. Peak anom­alies reach +7 in the east­ern parts, out­side of the main re­gion, but over­all, we are ob­serv­ing a his­toric event un­fold­ing.

El Niño events al­ways peak later in the year, with the lat­est fore­casts trend­ing to­ward a max anom­aly around November-December as seen above. The multi-model fore­cast be­low for November shows a very strong event, with the Super El Niño and re­lated anom­alies cov­er­ing over 10% of the global ocean sur­face.

But the strong anom­alies do not end in the ocean. The at­mos­phere is al­ready re­spond­ing to this El Niño event, with stronger im­pacts com­ing in Fall and Winter 2026/2027, as in­di­cated by the lat­est long-range data.

Atmospheric Forcing: Super El Niño Establishes a Global Standing Wave

To de­tect the vis­i­ble at­mos­pheric im­pact of the Super El Niño, we need to find its cir­cu­la­tion in the Walker cell, the trop­i­cal ris­ing and sink­ing of air.

Below is the lat­est 30-day analy­sis of the Velocity Potential pa­ra­me­ter from GDAS data, which shows broad ar­eas of ris­ing and sink­ing air in the at­mos­phere. You can see a large ris­ing air anom­aly (teal) di­rectly over the cen­tral and east­ern Pacific, forced by the lower pres­sure and rain­fall of the El Niño, and strong sink­ing (brown) to­wards the west.

These ar­eas of ris­ing and sink­ing air (Walker cell) are usu­ally dy­namic, mov­ing around the globe with dif­fer­ent at­mos­pheric waves and dri­vers. But when a Super El Niño ap­pears, the strong ocean heat and en­ergy over­pow­ers these mov­ing weather dri­vers.

It can force the at­mos­phere to lock down, cre­at­ing what sci­en­tists call an at­mos­pheric stand­ing wave. You can see this in the ECMWF ex­tended fore­cast be­low, which shows the main ar­eas of the Walker cell al­most fixed/​sta­tion­ary over time, for the du­ra­tion of the fore­cast into late September.

You can clearly see the two main ar­eas of ris­ing and sink­ing mo­tion: Low pres­sure over the trop­i­cal Pacific and the sta­ble sink­ing air over the Indian Ocean, which re­veal the stand­ing wave for­ma­tion.

But just look­ing at two dif­fer­ent col­ors does­n’t re­veal the full pic­ture. For that rea­son, NOAA has cre­ated the Multivariate ENSO Index (MEI). This in­dex com­bines oceanic and at­mos­pheric data into a sin­gle mea­sure of the ENSO state. This re­veals how strongly the El Niño sig­nal is es­tab­lished across both the ocean and at­mos­phere.

You can see the MEI table be­low, which shows the bi-monthly value for 2026, com­pared to the last 3 Super El Niño events. The lat­est value shows that 2026 reached a record-high June-July (JJ) value of +2.4, the high­est for this pe­riod in the NOAA record since it be­gan in 1979.

Values above +2 are found only dur­ing the strongest El Niño events, but not this early. This con­firms just how strongly the oceanic and at­mos­pheric sig­nals have al­ready de­vel­oped in 2026. The in­dex un­der­went an ex­cep­tional +3.4 point jump in just four bi-monthly pe­ri­ods, climb­ing from a cool -1 in February-March to +2.4 in June-July.

This means the weather in your back­yard is di­rectly or in­di­rectly con­nected to what’s hap­pen­ing in the trop­i­cal Pacific, no mat­ter how far away you live.

With a his­toric 2026/2027 Super El Niño event un­fold­ing, we are en­ter­ing al­most un­charted ter­ri­tory in terms of at­mos­pheric im­pacts. The biggest im­pact in the Northern Hemisphere ar­rives dur­ing Fall and more in Winter, when the pres­sure sys­tems are at their strongest.

Fall 2026 Forecast: El Niño Winter Pattern Appears Early

The lat­est Fall pres­sure pat­tern fore­cast shows a much more evolved pat­tern than nor­mally ex­pected, look­ing more sim­i­lar to an El Niño Winter sig­na­ture.

You can see be­low that it shows a stronger-than-usual at­mos­pheric im­pact in Fall al­ready, due to the strength of this El Niño event. The key is a high-pres­sure anom­aly over Canada, with the El Niño Pacific low, and a wave of low-pres­sure sys­tems over the south­ern United States.

Further east, a low-pres­sure area sits over the North Atlantic, reach­ing into the UK and Ireland. This cre­ates a pro­nounced west­erly flow over the con­ti­nent and brings a warmer southerly air­mass ris­ing to­wards the north.

This is re­ally in­ter­est­ing to see, be­cause it breaks the usual Fall El Niño pat­tern, and in­stead looks more like an El Niño Winter pat­tern, seen be­low. It has the same low-pres­sure area in the North Pacific, a high-pres­sure zone over Canada, and a low-pres­sure storm track across the south­ern United States and into the Atlantic, just as the Fall fore­cast above.

This re­ally shows just how strong the Super El Niño global forc­ing is, al­ready ev­i­dent in the cur­rent Summer sea­son with the for­ma­tion of an at­mos­pheric stand­ing wave.

The tem­per­a­ture fore­cast be­low shows warmer tem­per­a­tures over the north­ern United States and Canada un­der the main high-pres­sure area. Temperatures are mostly around nor­mal in the south-cen­tral and east­ern United States, due to a more per­sis­tent low-pres­sure storm track start­ing in the south­ern half of the United States.

This is the October-December pe­riod in the fore­cast, which cov­ers the core Fall sea­son and the early tran­si­tion into Winter.

The pre­cip­i­ta­tion fore­cast for the same pe­riod also shows a very evolved El Niño sig­na­ture, with in­creased rain­fall over most of the United States, es­pe­cially in the south­east and east, due to the am­pli­fied Pacific jet stream. Drier con­di­tions are fore­cast over the north­west­ern U.S. and south­ern Canada.

Over Europe, we can see the im­pact of the low-pres­sure area in the North Atlantic, bring­ing warmer-than-nor­mal sur­face tem­per­a­tures over much of the con­ti­nent. Warmer anom­alies are fo­cused on the cen­tral, west­ern, and south­east­ern re­gions, dri­ven by the west­erly and south­west­erly flow.

The west­erly and south­west­erly flow from the Atlantic low-pres­sure area also brings in a lot of mois­ture, in­creas­ing pre­cip­i­ta­tion po­ten­tial over much of the con­ti­nent. This is vis­i­ble in the pre­cip­i­ta­tion fore­cast (right), in­di­cat­ing above-nor­mal pre­cip­i­ta­tion over most of Europe.

All these fore­casts show that we can ex­pect a strong pat­tern evo­lu­tion from the his­toric El Niño event. But the full strength forc­ing usu­ally oc­curs in Winter, with the lat­est round of fore­casts in­di­cat­ing a highly am­pli­fied Winter pat­tern.

Winter 2026/2027 Forecast: An Amplified Pattern Builds Across North America

The win­ter sea­son is the most high-im­pact part of the year, and usu­ally of most in­ter­est to most peo­ple. It also packs the most en­ergy in the weather sys­tems, mak­ing it the most im­pact­ful part of the year in a Super El Niño event.

Below is the very lat­est ECMWF pres­sure anom­aly fore­cast, re­leased in the past few days. This is the win­ter fore­cast for the December-February pe­riod, and it shows a strong El Niño forc­ing at play. The key parts are the deep low-pres­sure zone in the North Pacific and the block­ing high-pres­sure area over Canada.

The fore­cast also shows a high-am­pli­tude pres­sure pat­tern across the south­ern and east­ern United States. This is aligned with a strong Pacific jet stream, the key com­po­nent of a Super El Niño Winter. It’s worth adding that this pe­riod is 4 – 6 months in the fu­ture, but al­ready shows such strong anom­alies.

Such a pres­sure pat­tern trans­lates into a sharp tem­per­a­ture dif­fer­ence be­tween the United States and Canada. You can see above-nor­mal tem­per­a­tures un­der the high-pres­sure zone in Canada and the north­ern United States, also in­clud­ing the U.S. West Coast, and the Northeast.

The deep south­ern low-pres­sure sys­tems al­low cooler-than-nor­mal tem­per­a­tures across Texas, the Gulf Coast, and the Southeast. This is pri­mar­ily dri­ven by an ac­tive south­ern jet stream zone, which brings per­sis­tent cloud cover and rain.

As we move into mid-late win­ter, there are some in­di­ca­tions of the Super El Niño pat­tern go­ing into over­drive. The February fore­cast be­low shows a much deeper pres­sure wave over the United States for mid-late Winter, with the whole at­mos­pheric wave shifted east.

This north­ern block­ing is forc­ing a deep, highly ac­tive low-pres­sure zone from the Pacific straight through the cen­tral, south­ern, and east­ern United States. In such a con­fig­u­ra­tion, this sig­nals a po­ten­tially colder-than-nor­mal mid and late win­ter sea­son over parts of the United States.

The cor­re­spond­ing tem­per­a­ture fore­cast for February shows a sur­pris­ing cold anom­aly over a large part of the United States, reach­ing up into south­west­ern Canada. This would make for a very in­ter­est­ing Winter sea­son, as it could lead to po­ten­tially good snow­storm sce­nar­ios across the cen­tral, east­ern, and north­east­ern United States.

I do have to add that this is just a re­cent de­vel­op­ing trend, so it’s not a fixed fore­cast by any means. But it is a cal­cu­la­tion based on real oceanic and at­mos­pheric con­di­tions. I will fur­ther mon­i­tor this de­vel­op­ment, es­pe­cially since it is gain­ing sup­port from other long-range pre­dic­tions.

A Super El Niño pat­tern also strongly im­pacts the snow­fall po­ten­tial. When an ac­tive south­ern jet stream over­laps pe­ri­odic cold air drops from Canada, it can shift the pri­mary win­ter storm cor­ri­dor far­ther south than usual.

Below is the lat­est ECMWF snow­fall fore­cast, and it shows ex­actly this de­vel­op­ment. We can see re­duced snow to­tals across the Northern United States and south­ern Canada, but above-nor­mal snow­fall po­ten­tial across the Central and Eastern United States, and south­east­ern Canada.

Good snow­fall po­ten­tial is in­di­cated across the Southwestern and Southeastern U.S., the Central Plains, parts of the Midwest, East, and into the Mid-Atlantic.

Areas across Canada, the Pacific Northwest, and the north­ern Great Lakes show be­low-av­er­age snow­fall anom­alies, dri­ven by warmer tem­per­a­tures and a north­ern ridge that pushes the po­lar air away.

The most im­por­tant thing for snow­fall is where the mois­ture flow in­ter­sects cold air. This fore­cast setup el­e­vates the po­ten­tial for ma­jor win­ter storms, ice events, and heavy snow­fall from the Southern Plains and Mid-Atlantic into the in­te­rior Northeast. But it does rely on hav­ing a cold enough air mass to work with.

Europe Winter 2026/2027: Westerly Pattern Favors a Milder Season

Below is the very lat­est win­ter pat­tern fore­cast by ECMWF. It shows the highly am­pli­fied pres­sure over North America, also im­pact­ing the weather down­stream. The main fea­ture for Europe comes from the low-pres­sure area ex­ten­sion into its north­west­ern and north­ern parts.

This cre­ates a strong pres­sure dif­fer­ence from north to south, boost­ing the west­erly flow into Europe from the Atlantic, while also al­low­ing some northerly flow over the north and north­west.

This is re­flected in the lat­est December-February tem­per­a­ture fore­cast be­low, where you can see mostly above-nor­mal tem­per­a­tures dur­ing the win­ter sea­son. This is the re­sult of a dom­i­nant mild west­erly flow. It still al­lows some northerly flow into the UK and Ireland, as low-pres­sure ar­eas move from the Atlantic into north­ern Europe.

The main snow­fall po­ten­tial in such a pat­tern comes with in­di­vid­ual low-pres­sure sys­tems mov­ing fur­ther in­land and to the south, bring­ing along a more northerly flow. The over­all sea­sonal pat­tern is not that fa­vor­able for broad snow­fall over Europe. The ex­cep­tions are the north and north­east, and the cen­tral higher el­e­va­tions.

I will write full in-depth fore­cast ar­ti­cles for Fall and Winter 2026/2027 over the United States, Canada, and Europe, once all the nec­es­sary data is avail­able.

Scientific Research Used in this Article

Super El Niño Development: Formation Mechanism for 2015/16 Super El Niño — Chen et al. (2017).

Extreme El Niño Teleconnections: A Distinct and Reproducible Teleconnection Pattern over North America dur­ing Extreme El Niño Events — Beniche et al. (2024).

Westerly Wind Bursts: The Essential Role of Westerly Wind Bursts in ENSO Dynamics and Extreme Events Quantified in Model Wind Stress Shaving” Experiments — Yu and Fedorov (2022).

Forecast and analy­sis im­ages in this ar­ti­cle are from ECMWF, CyclonicWX, weath­er­mod­els.com, and WeatherBell (using a com­mer­cial li­cense).

El Niño dri­ving the August weather shift: Super El Niño Drives an August Weather Shift as Fall and Winter Signals Strengthen

New ocean anom­alies emerg­ing: A New Ocean Anomaly Joins Super El Niño, Reshaping the Winter 2026/2027 Forecast

We will keep you up­dated on the global weather pat­tern de­vel­op­ment, so book­mark our page. Also, if you have seen this ar­ti­cle in the Google App (Discover) feed, click the like (♥) or the star but­ton there to see more of our fore­casts and our lat­est ar­ti­cles on weather and na­ture in gen­eral.

The mathematical beauty of hyperbezier curves

linebender.org

Raph Levien, August 8, 2026

I have for many decades been fas­ci­nated by the prospect of a curve fam­ily bet­ter suited for in­ter­ac­tive de­sign than cu­bic Béziers. In that search, I have come to a new-found re­spect for those Béziers. In par­tic­u­lar, though other curves like Euler spi­rals are bet­ter at rep­re­sent­ing smooth curves, they fall short at rep­re­sent­ing re­gions large cur­va­ture vari­a­tion, where cu­bic Béziers ex­cel. The great strength of Béziers is their ver­sa­til­ity.

So, to find a strictly bet­ter curve fam­ily, one re­quire­ment is clear: the fam­ily should con­tain both smooth cur­va­ture vari­a­tion and higher-ten­sion re­gions where cur­va­ture peaks. Polynomial spi­rals, or Spiro curves, the sub­ject of my PhD the­sis, fail to achieve this goal.

After con­sid­er­able search and re­ject­ing a num­ber of can­di­dates, I now bring a pro­posal for a curve fam­ily which I think is a very strong can­di­date for sup­plant­ing cu­bic Béziers in 2D vec­tor graphic de­sign.

Without fur­ther ado, the curve fam­ily is rep­re­sented by the Cesàro equa­tion, spec­i­fy­ing cur­va­ture as a func­tion of arc length:

$$\kappa(s) = \frac{as+b}{(cs^2+ds+1)^{1.5}}$$

This curve be­haves sur­pris­ingly sim­i­larly to a cu­bic Bézier, es­pe­cially at smaller an­gles, but when pushed has very dif­fer­ent be­hav­ior. Overall it has smoother cur­va­ture vari­a­tion and is more likely to have mo­not­o­nic cur­va­ture. It con­tains within it a few valu­able an­a­lytic curves, and is also good at ap­prox­i­mat­ing a wide range of oth­ers. The re­main­der of this blog post is de­voted to show­ing its be­hav­ior in a wide range of con­texts.

Approximation of cu­bic Béziers

The hy­per­bezier closely ap­prox­i­mates cu­bic Béziers at low de­flec­tion an­gles at the end­points. I will show rather than try to pre­sent math­e­matic rea­son­ing. Below is an in­ter­ac­tive tester that maps cu­bic Bézier con­trol points to a cor­re­spond­ing hy­per­bezier. The Bézier is shown in gray for com­par­i­son.

op­tions

cu­bic Bézier cur­va­ture comb

At larger an­gles, and also when the arm lengths” of the con­trol han­dles get larger, the fit with the cu­bic Bézier is not par­tic­u­larly close, but the con­trol scheme is still a use­ful way of set­ting the pa­ra­me­ters for the hy­per­bezier curve (setting the poly­no­mial co­ef­fi­cients di­rectly is not at all in­tu­itive).

Note that this pa­ra­me­ter map­ping is a first us­able draft, and may not be the fi­nal ver­sion. That said, in an in­ter­ac­tive edit­ing con­text, a per­fect map­ping is not re­quired, as it’s al­ways pos­si­ble to tweak the con­trol points to reach any de­sired curve shape.

The de­tails of the map­ping can be found in the JavaScript source for this page, but the ba­sic prin­ci­ple is that the arm lengths set the de­nom­i­na­tor, then the nu­mer­a­tor is solved to make the end­point tan­gents match.

Exact an­a­lyt­i­cal curves

The most ob­vi­ous an­a­lyt­i­cal curve con­tained in the fam­ily is the Euler spi­ral, which is clearly at­tained when $c == d == 0$. The Euler spi­ral has smooth cur­va­ture vari­a­tion (it is a so­lu­tion to the Minimum Variation Curve prob­lem) and mo­not­o­nic cur­va­ture. An ex­act cir­cu­lar arc is also within the pa­ra­me­ter space, sim­ply when $a == 0$ as well. Cubic Béziers, by com­par­i­son, only ap­prox­i­mate cir­cu­lar arcs.

There a few other log-aes­thetic curves lurk­ing in the pa­ra­me­ter space, mean­ing cur­va­ture is sim­ply the ar­clength raised to a par­tic­u­lar power. Reachable ex­po­nents in­clude -3, -2, -1.5, and -0.5 (alternatively, us­ing the con­ven­tion from the log-aes­thetic pa­pers, α can be 1/3, 1/2, 2/3, and 2). The last of these is the cir­cle in­vo­lute, which is in­ter­est­ing be­cause it is its own par­al­lel curve, among other things. And the first of these is the evo­lute of the Euler spi­ral.

The pa­ra­me­ter map­ping de­scribed above is de­signed so that when the con­trol points lie on the double parabola” in my Euler spi­ral par­al­lel curve blog post, then the re­sult is an ex­act Euler spi­ral.

Superellipses and squir­cles

A cu­bic Bézier can do super­el­lipses up to a cer­tain point, but does not ap­proach a sharp cor­ner; some­where be­fore then it starts de­vel­op­ing ad­di­tional in­flec­tion points, while a true super­el­lipse or squir­cle is of course con­vex.

The hy­per­bezier can go all the way to a sharp cor­ner, and vi­su­ally looks pretty close to the super­el­lipse. It’s not in­cred­i­bly ac­cu­rate (for mod­er­ate ex­po­nents like 5, the best cu­bic Bézier fit is slightly bet­ter, in fact), but vi­su­ally does the right thing. It’s prob­a­bly best to say that the hy­per­bezier is a sub­tly dif­fer­ent squir­cle than the super­el­lipse, nei­ther bet­ter nor worse.

Hyperbola

Another fun­da­men­tal curve is the hy­per­bola. It is round at the turn, but cur­va­ture tails off and the curve reaches a lin­ear as­ymp­tote on both sides. Cubic Béziers do not fit this curve well, and do not ex­hibit that as­ymp­totic be­hav­ior. But the hy­per­bezier fits it nat­u­rally and with very high ac­cu­racy.

We can also ap­pre­ci­ate the re­la­tion­ship math­e­mat­i­cally. In both, the cur­va­ture tails off as $\kappa \approx s^{-3}$ as­ymp­tot­i­cally. In ad­di­tion, us­ing the small an­gle ap­prox­i­ma­tion $\sin \theta \approx \theta, \cos \theta \approx 1$, in­te­grat­ing the Whewell equa­tion (see be­low) of the even-sym­met­ric hy­per­bezier yields the hy­per­bola ex­actly. This close re­la­tion­ship is one of the in­spi­ra­tions of the name; it is some­thing of a fu­sion be­tween a hy­per­bola and a Bézier. Another in­spi­ra­tion, in­ci­den­tally, is that the log-aes­thetic so­lu­tions, in­clud­ing the Euler spi­ral, are rep­re­sented by hy­per­ge­o­met­ric func­tions.

Elastica

An im­por­tant curve fam­ily to con­sider is the elas­tica, an ide­al­ized thin flex­i­ble strip. The math be­hind the elas­tica has hun­dreds of years of his­tory, but more to the point it is both a smooth curve (it can be char­ac­ter­ized as the ex­act so­lu­tion to the Minimum Energy Curve prob­lem) and can ex­hibit large cur­va­ture vari­a­tion when placed un­der ten­sion. To my eyes, it’s a more pleas­ing and nat­ural curve, as it’s based in phys­i­cal re­al­ity in a way that cu­bic Béziers aren’t. Ideally we’d be able to ap­prox­i­mate it well, and the fact that Spiro curves can’t is a strong case against them. Fortunately, our hy­per­bezier does rea­son­ably well. As in the case of the super­el­lipse, it’s a fairly de­cent vi­sual match, though again not a pre­cise ap­prox­i­ma­tion.

Some math­e­mat­i­cal prop­er­ties

This sec­tion is a grab-bag of some math­e­mat­i­cal prop­er­ties of the hy­per­bezier curve.

An ap­peal­ing prop­erty is that the Cesàro equa­tion is eas­ily in­te­grated, yield­ing a Whewell equa­tion:

$$\theta(s) = \frac{a’s+b’}{\sqrt{(cs^2+ds+1)}}$$

Here, the pa­ra­me­ters in the nu­mer­a­tor aren’t the same as the Cesàro equa­tion (though they are read­ily de­rived), but the qua­dratic poly­no­mial in the de­nom­i­na­tor is the same. Another round of in­te­gra­tion (which I be­lieve will be es­pe­cially use­ful for curve fit­ting) also yields sim­ple an­a­lyt­i­cal equa­tions, re­veal­ing that a close re­la­tion to trig func­tions.

The de­riva­tion of pa­ra­me­ters for the Whewell equa­tion fol­lows fairly straight­for­wardly from the fol­low­ing in­te­gral, which has a pleas­ing sym­me­try:

$$\int \frac{as+b}{(cs^2 + 1)^{1.5}} ds = \frac{bs-a/c}{\sqrt{cs^2 + 1}} + C$$

Going in the op­po­site di­rec­tion, the de­riv­a­tive is also straight­for­ward, yield­ing a qua­dratic over the same poly­no­mial in the de­nom­i­na­tor, this time with an ex­po­nent of 2.5. To com­pute roots, iden­ti­fy­ing the cur­va­ture ex­trema, in­volves merely solv­ing the qua­dratic.

Because the de­nom­i­na­tor is pos­i­tive, there is at most one in­flec­tion point, at $s = -b/a$, when it is in range [0, 1]. That clearly sig­nals that it can’t ac­cu­rately ap­prox­i­mate all cu­bic Béziers, as those can have two in­flec­tion points. In my ex­pe­ri­ence, in­stances of cu­bic Béziers with two in­flec­tion points are rarely used in de­signs (it might be in­ter­est­ing to look at a cor­pus of vec­tor graph­ics to quan­tify this).

I have ex­per­i­mented with other val­ues for the ex­po­nent than 1.5. A value of 1 would be ap­peal­ingly sim­ple, as it would re­sem­ble Padé ap­prox­i­ma­tion, but I found it can­not rep­re­sent high-ten­sion curves in a nu­mer­i­cally sta­ble way. I also con­sid­ered an ex­po­nent of 2, but the in­te­grals don’t come out as cleanly and over­all it did­n’t match cu­bic Béziers as closely. Perhaps this is not sur­pris­ing, as the ex­po­nent of 1.5 re­sem­bles the equa­tion for cur­va­ture of a para­met­ric curve $\mathbf{x}(t)$:

$$\kappa = \frac{\mathbf{x}′ \times \mathbf{x}‘’}{(\mathbf{x}′ \cdot \mathbf{x}’)^{1.5}}$$

In gen­eral, arc length pa­ram­e­trized curves are in many ways more pleas­ant to work with than gen­eral para­met­ric curves; there’s a non­triv­ial cal­cu­la­tion to solve the in­verse arc prob­lem for Béziers.

Future work

In this post, I pre­sent the curve fam­ily to the world. I wel­come and en­cour­age ex­per­i­men­ta­tion. Of course, there is lots to be done to make the math­e­mat­i­cal idea into a prac­ti­cal tool. For one, it should be wired up into a spline. I ex­pect to fol­low the ideas in The hy­per­bezier pen tool by Colin Rofls, which was based on an ear­lier draft of the hy­per­bezier math. This ear­lier draft had some of the de­sired be­hav­ior of the cur­rent pro­posal, but also some flaws, in­clud­ing not be­ing able to ap­prox­i­mate sharp super­el­lipses, and also not be­ing closed un­der sub­di­vi­sion. On the other hand, it had a straight­for­ward so­lu­tion to the prob­lem of map­ping Bézier-like con­trol points to the pa­ra­me­ters.

One idea from the above spline that I think is worth pre­serv­ing is mak­ing splines G2 con­tin­u­ous by con­struc­tion. Such ap­proaches don’t work well with cu­bic Béziers be­cause there are mul­ti­ple lo­cal min­ima, cre­at­ing sad­dle points in the op­ti­miza­tion ter­rain.

Another promis­ing di­rec­tion is work­ing out curve fit­ting. While I haven’t got­ten deep into it yet, I ex­pect curve fit­ting to be fairly straight­for­ward, es­pe­cially com­pared with cu­bic Béziers. I’m es­pe­cially in­ter­ested in fit­ting touch or pen data. As usual for this prob­lem, a cen­tral part of the chal­lenge is find­ing good sub­di­vi­sion points.

I hope to land bet­ter im­ple­men­ta­tions in the spline repos­i­tory, but make no guar­an­tees how fast that will go.

Acknowledgements

I’ve been work­ing on this for years, and have ben­e­fited from dis­cus­sions with many peo­ple, in­clud­ing Colin Rofls, Alex Ionuț, Jacob Rus, and Trevor David Black (apologies if I’ve missed some­one; just let me know). Special credit goes to Muhammad Ragib Hasin, who im­proved many of the nu­mer­i­cal and solv­ing tech­niques for pa­ra­me­ter map­ping. AI as­sis­tance was used to re­fine the cur­rent ver­sion of pa­ra­me­ter map­ping and to pre­pare the vi­su­als for this post.

To add this web app to your iOS home screen tap the share button and select "Add to the Home Screen".

10HN is also available as an iOS App

If you visit 10HN only rarely, check out the the best articles from the past week.

Visit pancik.com for more.