Source: https://ljll.math.upmc.fr/dalibard/cours/DM-Kruzkhov.pdf