Most of the examples on this page have completely wrong output: https://docs.sciml.ai/DiffEqDocs/stable/solvers/nonautonomous_linear_ode/
The reason is that the MatrixOperator is passed update_func (should be returning a new matrix), but the update_func used instead mutates the matrix.