Programma
La sera della finale dei Mondiali, quasi tutti guardavano il calcio. Un angolo dell'internet osservava fare un passo la storia della matematica.
Il ricercatore di Anthropic Levent Alpöge ha pubblicato un breve messaggio su X. Diceva che la congettura di Jacobiano era falsa. Un problema irrisolto dal 1939. Ha attribuito il merito a un collega per aver suggerito il problema. E a Claude Fable 5 per aver fatto il lavoro durante la partita.
Il giorno dopo, i matematici l'hanno verificata a mano. Ha retto.
Ma "L'IA risolve un problema matematico vecchio di 87 anni" è un titolo che corre più veloce dei dettagli. Quindi rallentiamo. Cosa c'è davvero di nuovo? Cosa no? E puoi verificarlo da solo?
Puoi. In circa quindici righe di Python. Ci arriviamo tra poco.
La risposta breve
Claude Fable 5 ha contribuito a costruire un'applicazione polinomiale dallo spazio complesso tridimensionale a sé stesso, scritta ℂ³ → ℂ³. Il suo determinante jacobiano è la costante -2 ovunque, esattamente la condizione della congettura di Keller del 1939, eppure l'applicazione manda tre diversi punti di input nello stesso output. Quel singolo esempio smentisce la congettura in dimensione tre e superiori. La versione originaria a due variabili del problema è ancora aperta, e non c'è ancora un articolo peer-reviewed, solo un calcolo verificato e un preprint.
Questa è tutta la storia in un paragrafo. Il resto dell'articolo spiega perché ogni inciso conta.
Cos'è la congettura di Jacobiano?
Immagina una funzione che prende una lista di numeri e ne restituisce un'altra. È una "mappa" da uno spazio a un altro. I matematici pongono una domanda semplice su mappe di questo tipo: puoi sempre tornare indietro? Se conosci l'output, puoi recuperare l'input esatto che l'ha generato?
Se hai fatto un po' di machine learning, hai già incontrato l'oggetto al centro di questa domanda, probabilmente senza la drammaticità. Lo Jacobiano è la matrice delle derivate parziali di una mappa: la cosa che la backpropagation moltiplica a ogni livello. Anche i normalizing flows hanno bisogno del suo determinante, per tracciare come la massa di probabilità si estende mentre attraversa la rete. Stessa matrice. Quartieri diversi.
L'analisi ti offre un test locale di reversibilità basato proprio su questa matrice: il determinante jacobiano. Se non è zero in un punto, la mappa è reversibile vicino a quel punto.
Ma vicino a un punto non è lo stesso che ovunque. Ecco l'esempio più pulito che conosco, e richiede due righe:
import numpy as np
f = lambda x, y: (np.exp(x) * np.cos(y), np.exp(x) * np.sin(y))
print(f(0, 0)) # (1.0, 0.0)
print(f(0, 2 * np.pi)) # (1.0, ~0.0) — same output, different input
Il determinante jacobiano di questa mappa è e²ˣ, che non è mai zero. Supera il test locale in ogni singolo punto del piano. Eppure non può essere invertita, perché si avvolge: due strade diverse, stessa casa.
Nota però che questo esempio usa un'esponenziale. Nel 1939, il matematico tedesco Ott-Heinrich Keller si chiese se i polinomi si comportassero meglio. La sua domanda: se il determinante jacobiano di una mappa polinomiale non è solo non nullo ovunque, ma una costante fissa ovunque, questo garantisce finalmente una piena reversibilità globale?
Per 87 anni, nessuno sapeva rispondere. Nessuna dimostrazione. Nessun controesempio. È questa la congettura che Claude Fable 5 ha appena incrinato.
Cosa ha effettivamente trovato Claude Fable 5
Il post di Alpöge includeva un'applicazione polinomiale esplicita da ℂ³ a sé stessa. Il suo determinante jacobiano risulta una costante, -2, in ogni singolo punto. È la condizione esatta di Keller. Eppure tre punti distinti entrano, e tutti e tre escono uguali.
Chiunque abbia uno strumento di algebra computazionale può inserirli e verificare. È proprio quello che è successo: i matematici hanno fatto i conti nel giro di poche ore, e l'aritmetica tornava.
Poiché il controesempio vive in tre dimensioni, rompe la congettura anche in ogni dimensione superiore. Prendi la mappa 3D, aggiungi variabili extra lasciate intatte, e ottieni un controesempio funzionante in quattro dimensioni, cinque o cento. L'imbottitura funziona solo verso l'alto, però. Non può comprimere un controesempio 3D in due variabili, ed è per questo che esiste l'ultima sezione di questo articolo.
Verificalo tu stesso in Python
Qui una storia di IA di frontiera diventa un esercizio che puoi eseguire in un notebook. Vale la pena farlo. C'è qualcosa di chiarificatore nel vedere il controesempio reggere in aritmetica esatta sulla tua macchina. Ti servirà sympy, nient'altro.
Per prima cosa, definisci la mappa e conferma il determinante:
import sympy as sp
x, y, z = sp.symbols("x y z")
# The map Claude Fable 5 helped construct, from C^3 to C^3
f1 = (1 + x * y) ** 3 * z + y**2 * (1 + x * y) * (4 + 3 * x * y)
f2 = y + 3 * x * (1 + x * y) ** 2 * z + 3 * x * y**2 * (4 + 3 * x * y)
f3 = 2 * x - 3 * x**2 * y - x**3 * z
# Keller's condition: the Jacobian determinant must be a nonzero constant
jacobian = sp.Matrix([f1, f2, f3]).jacobian([x, y, z])
print(sp.simplify(jacobian.det()))
-2
Non "circa -2". Esattamente -2, simbolicamente, per ogni punto in ℂ³. Una condizione spuntata.
Ora la collisione. Ho trovato questi tre punti chiedendo a SymPy di risolvere F(v) = F(1, 1, 1). Il post originale di Alpöge elenca un proprio insieme, e funzionano entrambi:
s = sp.sqrt(53)
points = [
(1, 1, 1),
(sp.Rational(-1, 2) - 7 * s / 106, 25 - 3 * s, -134090 + 18420 * s),
(sp.Rational(-1, 2) + 7 * s / 106, 25 + 3 * s, -134090 - 18420 * s),
]
for p in points:
image = [sp.simplify(f.subs({x: p[0], y: p[1], z: p[2]}))
for f in (f1, f2, f3)]
print(image)
[22, 34, -2]
[22, 34, -2]
[22, 34, -2]
Tre input davvero diversi. Un output. Se tre input danno un'unica risposta, non può esistere un inverso, e la congettura di Keller cade. Hai appena verificato, in aritmetica esatta, il calcolo che ha chiuso un problema vecchio di 87 anni.
Se hai saltato il codice, ecco il riassunto: entrambe le metà dell'affermazione, determinante costante e punti che collidono, passano la verifica simbolica. Nessun affidamento sul floating point.
Aspetta, qualcuno non l'aveva già smentita?
Prima di andare oltre, vale la pena affrontare qualcosa che potresti aver visto nelle risposte al post di Alpöge, perché c'è un risultato più vecchio in quest'area che torna spesso e la distinzione è importante.
Nel 1994, Sergey Pinchuk trovò una mappa polinomiale a due variabili e valori reali che era localmente invertibile ovunque ma non globalmente invertibile. È una costruzione nota, e viene spontaneo supporre che la versione di Fable 5 sia solo quell'idea stirata in una terza dimensione.
Non lo è. La mappa di Pinchuk richiede solo che il suo determinante jacobiano sia non nullo. Il valore può variare da punto a punto, e il tutto funziona solo sui numeri reali. Questo risponde a una domanda più debole, a volte chiamata la "forte congettura reale di Jacobiano". L'originale di Keller chiede numeri complessi e una costante fissa, un'asticella che la costruzione di Pinchuk non era pensata per superare. I matematici conoscono questo divario da tre decenni.
Perché i numeri complessi alzano l'asticella? In breve: sui reali, un polinomio può evitare i problemi semplicemente non avendo soluzioni reali nei punti critici. x² + 1 non tocca mai zero sulla retta reale, ma su ℂ deve. Lo spazio complesso non lascia a una mappa luoghi in cui nascondersi, quindi soddisfare lì la condizione di Keller è una richiesta molto più forte. L'esponenziale di prima lo suggeriva già, dato che l'avvolgimento che l'ha rotto è un fenomeno tipicamente da numeri complessi.
I due risultati hanno aria di famiglia. Entrambi sfruttano il divario tra invertibile-in-ogni-intorno e invertibile-sull'intero-spazio. È un segno di come la matematica si costruisce su sé stessa, non la prova che non sia successo nulla di nuovo.
Cosa resta irrisolto
Il caso a due variabili è ancora aperto. È la versione originale e più studiata della congettura, per mappe dal piano a sé stesso, e come detto prima, nessuna imbottitura porta un controesempio 3D a scendere fin lì. Diversi matematici considerano il caso del piano il problema più difficile e centrale. È ora il nucleo superstite della congettura, non una versione più piccola di quella appena risolta.
Questo non ha nemmeno passato la peer review. Al momento è un calcolo verificato e un preprint, non un articolo referato. Dato che tutto si riduce ai due calcoli che hai appena eseguito, probabilmente la verifica non è il punto critico, ma il resoconto deve dire le cose come stanno.
C'è anche un divario più profondo. Nessuno sa spiegare appieno perché il controesempio funziona. Un controllo simbolico conferma che la collisione è reale; non fornisce però la storia che c'è dietro, il tipo di spiegazione che un matematico potrebbe ricostruire da zero. Akhil Mathew, il matematico dell'Università di Chicago che ha suggerito il problema, l'ha detto bene: puoi verificare la risposta, ma sarebbe meglio avere una storia da raccontare.
Anche il processo di scoperta resta un po' nebuloso. Un umano ha posto la domanda, un'IA ha fatto il lavoro, un umano ha annunciato il risultato. Quella riga dei crediti non mostra i prompt, i falsi inizi, o quanto indirizzamento ci sia stato lungo la strada. È una vera questione su come accreditare le dimostrazioni assistite dall'IA, ed è separata dal fatto che la matematica regga. Regge.
Considerazioni finali
La matematica è solida. Una congettura rimasta aperta per decenni ha un vero buco dalla dimensione tre in su, confermato in modo indipendente con strumenti standard, e non è un riciclo del risultato di Pinchuk del 1994. Quello che non è, è una soluzione completa della "congettura di Jacobiano". Il caso del piano resta in piedi, e il risultato arriva senza il tipo di spiegazione che la matematica di solito apprezza quanto la risposta stessa.
È anche parte di un modello più ampio. I modelli di frontiera hanno intaccato problemi aperti da lungo tempo per tutto il 2026, sia in combinatoria che in teoria dei numeri. Leggi questo come un altro dato in quella tendenza, non un caso isolato.
Per chi sta imparando a lavorare con l'IA su problemi tecnici, la lezione non è "l'IA sa fare ricerca matematica adesso". È più ristretta: questi modelli stanno diventando bravi a produrre oggetti concreti in domini in cui il successo ha un verificatore esatto e, come hai visto sopra, tu puoi essere quel verificatore con un pip install sympy. La generazione corre avanti. La verifica tiene il passo. La comprensione ha ancora un po' di strada da fare.
Algebra lineare e Python simbolico sono le due competenze da costruire qui: determinanti, invertibilità e l'abitudine di verificare le affermazioni in aritmetica esatta invece di fidarsi. La prossima volta che esce un risultato del genere, sarai pronto a fare il controllo da solo prima di fine giornata.
Vinod Chugani ha iniziato la sua carriera a Tokyo come il più giovane Head dell'Hedge Fund Sales Desk di JPMorgan e in seguito ha stabilito un record personale di vendite a Lehman Brothers, poi ha costruito un'attività di distribuzione di elettronica in 30 paesi superando i 100 milioni di SG$ di fatturato prima di passare ai dati. Laureato in Economia alla Duke e diplomato alla NYC Data Science Academy, è stato uno dei tre beneficiari di borsa di studio su oltre 100 candidati per il corso Building AI Applications di Hugo Bowne-Anderson su Maven. Oggi scrive per DataCamp, KDnuggets, Machine Learning Mastery e Statology su argomenti che vanno dalla statistica all'AI agentica, e fa da mentor a professionisti dei dati alla NYC Data Science Academy con oltre 1.000 sessioni one-to-one all'attivo.
FAQs
La congettura di Jacobiano è ora completamente risolta?
No. Il controesempio la risolve (negativamente) per la dimensione tre e superiori. Il caso originario a due variabili, che molti matematici considerano il problema centrale, resta aperto.
Posso davvero verificare da solo il controesempio?
Sì. I due snippet SymPy in questo articolo confermano entrambe le metà dell'affermazione in aritmetica simbolica esatta: il determinante jacobiano è identicamente -2 e tre punti distinti mappano nello stesso output.
L'IA ha fatto tutto da sola?
No. Un matematico ha posto il problema, Claude Fable 5 ha prodotto la costruzione, e un umano l'ha verificata e annunciata. Il resoconto pubblico non mostra i prompt o la guida coinvolta, quindi la divisione del lavoro è solo in parte visibile.
In cosa differisce dal controesempio di Pinchuk del 1994?
La mappa di Pinchuk è a due variabili, a valori reali, e richiede solo un determinante jacobiano non nullo (non costante) — una condizione più debole. La nuova mappa è complessa, tridimensionale e ha un determinante davvero costante, che è ciò che la congettura di Keller richiede.
Dove compare lo Jacobiano nella data science?
Ovunque compaiano le derivate di funzioni multivariate: la backpropagation moltiplica gli Jacobiani strato dopo strato, e i normalizing flow usano i determinanti jacobiani per tracciare come le trasformazioni dilatano la densità di probabilità.
