-
Notifications
You must be signed in to change notification settings - Fork 11
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
Use * to denote matrix multiplication #2232
base: main
Are you sure you want to change the base?
Conversation
f469f2c
to
2445aee
Compare
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.
Changing the meaning of \cdot
, via an exported symbol seems like it could lead to a lot of confusion.
I prefer that we start with #2229-- you can pick the symbol if you don't like either of my two suggestions. Then, we can deprecate the use of \cstar
, or whatever symbol we decide, update ClimaAtmos and all dependencies accordingly.
Frankly, I would suggest that we simply stick to a new symbol altogether, but I'm also fine with eventually overloading things without exporting any symbols.
@charleskawczynski, are you not also exporting the ⋅ symbol in #2229? I was merely trying to recreate your PR without the introduction of yet another symbol. Regardless, this symbol is only being exported in order to avoid breaking ClimaAtmos until we make a major release of ClimaCore. In the interest of getting this PR merged in, I will revert I am opposed to merging in #2229 as that introduces a new unnecessary symbol. We should stick to |
2445aee
to
688e285
Compare
688e285
to
4b94ca2
Compare
4b94ca2
to
8957b5d
Compare
#2229 does still export
Yes, but it's changing the meaning of the symbol, which can lead to a lot of confusion.
It does. Can we deprecate
That's fair, so long we have a path towards deprecating the old pattern. Why did we use I think the right path here is to deprecate the existing pattern, and then (perhaps slowly) transition to a new pattern. Can we temporarily leave |
As we've discussed offline, it is not possible to deprecate the ⋅ symbol because |
This PR removes the alias
const ⋅ = MultiplyColumnwiseBandMatrixField()
and allows us to use the standard*
symbol to denote matrix multiplication. All internal uses of⋅
have been replaced with*
, and the exported⋅
symbol has been replaced withconst ⋅ = *
. This export is necessary to avoid breaking ClimaAtmos for now, but it should be removed before the next major release of ClimaCore. (The⋅
symbol cannot be marked as deprecated because@deprecate
only works for function calls.)This PR supersedes #2229 and closes #1774.