Fix bug with deepcopy
When deepcopying a circuit, the nodes were also deepcopied. This is a problem because nodes are supposed to be singletons. When the user wanted to analyse a deepcopied circuit that had previously been analysed, the input component would be added with different nodes even though those nodes would exist in the circuit already (same name, but different memory locations), leading to singular matrices when solving. The fix is to implement special deepcopy behaviour for circuits using __deepcopy__. This is not ideal; it might be worth removing the singleton property of nodes and make them circuit-specific.
Showing with 57 additions and 0 deletions