Timo Stienstra
Timo Stienstra
I'm leaning towards setting the Cramer solve default determinant method to `None` and implement a custom algorithm based on Bird, which also takes into account that a lot of the...
Was already getting some suspicions, when investigating your code, but this makes it clearer.
> a custom algorithm based on Bird, which also takes into account that a lot of the matrices we need to compute have a lot of entries which are the...
> How are you timing this and with what sort of inputs? The inputs are those given in `test_kane3.py` when initializing `KanesMethod`. > Does your method of timing take into...
After some time of playing around, I actually found out that yes most of the time in `mu` is spend on that `total -= X[i][i]`. However that is only approximately...
Thanks for the explanation on timing. I've already had the problem with `timeit` using cache multiple times. So I'm indeed used to make sure that I start in a fresh...
> I will also test whether the use of `SDM' speeds up the computation, as it would be an easy gain. Just tried using `SDM`, this however seemed to lead...
> Is this still the case? No, it was solved in [the following way](https://github.com/sympy/sympy/pull/25179/files#diff-b2e0d0f5a60eee1b9f825efbd85bd1f313b503e909a8ddff6dc099351a47db65R760-R765): > Okay the problem is that the matrices are from time to time so small that...
I just ran `test_kane3.py` locally and noticed the following. `lambda M, rhs: M.cramer_solve(rhs, det_method="laplace")` passes without a problem with the max allowed error `1e-12` `lambda M, rhs: M.cramer_solve(rhs, det_method="bird")` does...
```py def det_comparer(A): det_laplace = _det_laplace(A) det_bird = _det_bird(A) p, p_vals = zip(*test_dict.items()) # test_dict is val_dict with v = 5 error = abs(lambdify(p, det_laplace - det_bird, cse=True)(*p_vals)) if error...