Un problema di Riemann, così chiamato dal nome del matematico e fisico tedesco Bernhard Riemann, è un problema ai valori iniziali che consiste in una legge di conservazione e da una condizione iniziale composta da due stati costanti separati da una singola discontinuità. Il problema di Riemann è particolarmente utile alla comprensione e risoluzione di sistemi iperbolici come le equazioni di Eulero, poiché alcune proprietà come le onde di shock e di rarefazione, analizzabili nel contesto di un problema di Riemann, compaiono naturalmente nella loro soluzione sotto forma di caratteristiche.
In analisi numerica, i problemi di Riemann figurano all'interno dei metodi numerici dei volumi finiti: per questo sono ampiamente usati in gasdinamica e fluidodinamica computazionale, nell'ambito delle quali i problemi di Riemann vengono risolti per mezzo di appositi solutori.
Come esempio si investigano le proprietà del problema di Riemann monodimensionale applicato alla gasdinamica. Esso è costituito dalle leggi linearizzate della dinamica dei gas (in cui e sono rispettivamente la densità e la velocità delle particelle del gas, è un valore di densità di riferimento e si assume senza perdita di generalità):
corredate dalla seguente condizione iniziale:
Il punto separa i due differenti stati iniziali, definiti sinistro e destro rispettivamente. Il sistema di equazioni differenziali può essere riscritto in forma conservativa:
dove
e il pedice indica la derivazione parziale rispetto a o .
Gli autovalori della matrice , e , rappresentano le velocità di propagazione delle onde all'interno del mezzo. La struttura del problema di Riemann in esame consiste quindi in due impulsi che si propagano a partire dall'origine del sistema di riferimento (), il primo con velocità pari a , il secondo con velocità pari ad . Nel piano cartesiano queste onde seguono le cosiddette curve caratteristiche del sistema, che in questo caso sono due rette di pendenza pari a e : e . A sinistra della caratteristica si conserva lo stato iniziale sinistro ; a destra della caratteristica si mantiene lo stato iniziale destro . Nel dominio compreso tra le due caratteristiche si genera uno stato costante incognito .
Gli autovettori corrispondenti a e sono
e rispetto a questi possono essere decomposti gli stati iniziali: per qualche valore di , , , si può quindi scrivere
La soluzione incognita si ottiene infine in funzione degli stati iniziali:
e la soluzione completa (costante a tratti) del problema di Riemann nel dominio è: