-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Misc.Fixes 2 #198
Misc.Fixes 2 #198
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## devel #198 +/- ##
==========================================
+ Coverage 66.09% 67.86% +1.77%
==========================================
Files 51 51
Lines 2548 2483 -65
==========================================
+ Hits 1684 1685 +1
+ Misses 864 798 -66 ☔ View full report in Codecov by Sentry. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very nice PR with many improvements. There's only one open comment I think and then we can merge.
reuse sigma^{-1}*sigma_0 product
* use sorted searches * use dict to map indicator to param index
* extract common code to calculate_lambda() * use 3-arg dot() * use in-place ops
avoid unnecessary allocations
* use eachcol() within comprehension
if the series don't converge
as symbolic Neumann series is a very comp.intensive operation
don't allow missing n_obs
* convert to param_range() which gets the range for a single matrix * use findfirst/findlast() instead of manual loop
* rename from get_matrix_derivative(): it's not a getter, and gradient is a better term * construct sparse matrix directly, which is much more efficient * parameters arg is not needed
Thanks again for very fast review! The next round of changes may substantially change some internal structs like RAMMatrices. So potentially you can release the current fixes as the new patch version. |
71f3a89
into
StructuralEquationModels:devel
Ah thanks for re-fixing the I-A computation^^ |
Second round of cherry-picking from #193.
This time there are:
AeqB = A == B; @test AeqB
we do@test A == B
directly, which provides better diagnostic when the test failsThese commits do not affect the API (except that
n_man
andn_obs
are now restricted toInt
-- in all of their usages in the current code they are converted back to Int from Float64).