text: Write the code for a toy version of a custom computational graph library. Implement the graph data structure: node should store the primitive math operation, edge should store a numpy array, and implement a function to compute the graph by doing a topological sort, then pass data through the graph while doing the math operation on each node.