Implement the missing functions of the simulator (atom3/Formalisms/CausalBlockDiagram/ST_CBD/ST_Simulator.py) to accomplish the following requirements:
///////////////////////////////////////////////////////////////////////////
// Input for the solver is of the form: [M1, M2], where
// 
//      [[ C11, C12, C13 ],
// M1 =  [ C21, C22, C23 ],
//       [ C31, C32, C33 ]]
//
// M2 =  [ C1,  C2,  C3 ]
//
// represents the following linear equation system:
// {
//   C11*x + C12*y + C13*z = C1
//   C21*z + C22*y + C23*z = C2 
//   C31*z + C32*y + C33*z = C3
// }
// where x, y, and x are signals (block outputs) inside a strong component.
///////////////////////////////////////////////////////////////////////////
 
      [50% -- 5% per item] Test all aspects of your simulator: 
    
For the last 10%: optimizations.
An old tutorial is available here.