You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently the code checks the type of most input parameters given by the user. Though this might not be very Pythonic it is certainly useful to catch non-sensical input early on and provide the user with a helpful error message.
However, this input checking is not done consistently and leads to a lot of boiler plate code. This should be made consistant and avoid boilerplate.
The text was updated successfully, but these errors were encountered:
A related point I found is that our use of optional arguments also seems inconsistent: we have optional arguments for internal functions that are always specified in the code (albeit sometimes with the special value None). I think we will always want to specify them in the backend code to be explicit, i.e., there is little reason for them to be optional.
degeneracy_maps in BaseTempoBackend is an example.
Small bug that should be addressed with this issue.
If one provides a callable that returns a string rather than a float in the gammas argument of a System, _check_tdependent_gammas_linblad_operators passes but the actual calculation fails with a numpy error.
This is because _check_tdependent_gammas_linblad_operators just tries to convert the gamma to a float (which it can for a string) rather than assert that is the actual return type. There are likely other instances of this flaw in the code.
Currently the code checks the type of most input parameters given by the user. Though this might not be very Pythonic it is certainly useful to catch non-sensical input early on and provide the user with a helpful error message.
However, this input checking is not done consistently and leads to a lot of boiler plate code. This should be made consistant and avoid boilerplate.
The text was updated successfully, but these errors were encountered: