-
Notifications
You must be signed in to change notification settings - Fork 42
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
miscellaneous updates #66
Conversation
5b27df7
to
22a9666
Compare
Codecov Report
@@ Coverage Diff @@
## master #66 +/- ##
=========================================
- Coverage 98.62% 98.2% -0.42%
=========================================
Files 8 8
Lines 435 445 +10
=========================================
+ Hits 429 437 +8
- Misses 6 8 +2
Continue to review full report at Codecov.
|
Codecov Report
@@ Coverage Diff @@
## master #66 +/- ##
==========================================
- Coverage 97.67% 97.49% -0.18%
==========================================
Files 8 8
Lines 473 479 +6
==========================================
+ Hits 462 467 +5
- Misses 11 12 +1
Continue to review full report at Codecov.
|
Lot's of activity here. I have been of the radar the last two weeks. I will try to start reviewing all of this next week; but I have other awaiting duties as well. Regarding the |
Regarding the transpose/adjoint of a functionmap, I don't know what the check really buys. Suppose you did not define We could try to check that |
Great to have you back and your eyes on it! The idea of this PR is to experiment with some potential changes and see whether they work at all, and finally cherry-pick whatever we feel is worth it. I don't have enough (maybe any) knowledge about what the compiler can eliminate and what not, but since this is not a great deal anyway, I'll remove the Making |
Perhaps you're right. The |
76de043
to
5824128
Compare
Ready for review. 😉 |
5824128
to
67c762d
Compare
Looks great; no comments; ready to merge. |
add size(A, i)I realized we more often use
size(A, i)
instead ofsize(A)
, and the interface requests to havesize(A)
, andsize(A, i)
computes by defaultsize(A)[i]
. As for the API, I think this is fine, but I felt we should have specialized methods for individual sizes whenever possible to save unnecessary computations. In all cases that effort is trivial compared to others, but still in some cases there is a little work to be done.make FunctionMap adjoint/transpose-invariantWe were handling adjoints/transposes of
FunctionMaps
a bit loose. We never checked at construction whether the adjoint is defined, and we never checked whether the adjoint is also in-place.Since all information is available, I thought we may as well construct a newEDIT: That doesn't work well. Instead, I added some test. Strictly speaking, we still can define aFunctionMap
, and at that point guess again whetherfc
is also in-place or not. Also, this saves us one hierarchical level.FunctionMap
wheref
is in-place, andfc
isn't. This is still not caught a priori, but will yield an error at multiplication.I think we were a bit too loose at that point, compared to our signature. Most linalg operations in Base are restricted to such vectors anyway.
alpha
andbeta
true and and false per default, consistent withLinearAlgebra
's 5-argmul!
.