-- >>> let identity = fromList [[1,0,0],[0,1,0],[0,0,1]] :: Mat3 Double
-- >>> let b = vec3d (1, 2, 3::Double)
-- >>> backward_substitute identity b
-- >>> let identity = fromList [[1,0,0],[0,1,0],[0,0,1]] :: Mat3 Double
-- >>> let b = vec3d (1, 2, 3::Double)
-- >>> backward_substitute identity b