This is originally a part B question in MATH 405/607E https://www.math.ubc.ca/~wetton/m405.html.
It is a simple 1D multigrid solver for understanding basic knowledge, only V-cycle imlemented.
This code follows the multigrid tutorial: http://www.math.ust.hk/~mamu/courses/531/tutorial_with_corrections.pdf