Source: https://ocw.mit.edu/courses/civil-and-environmental-engineering/1-022-introduction-to-network-models-fall-2018/related-resources/MIT1_022F18_RelatedResource5.pdf