you say it returns transformation_matrix but the code returns something call simulation_matrix and it sets the attribute. Should we store this as an attribute or just return it?