Is this sufficient for your example?
Setters for D and C could also be added.
However, it is not possible to change the dimension ng, i.e. the number of rows in D and C after creating the solver.
I’m afraid it’s not enough to just update the boundary. It would be great if setters for D and C could be added, and I think fixed size D and C are sufficient for most applications.