-
Notifications
You must be signed in to change notification settings - Fork 112
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
Simplify Reductors and Models #592
Conversation
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.
Looks generally clearer to me.
src/pymor/reductors/basic.py
Outdated
rom.disable_logging() | ||
def extend_basis(self, U, basis, method='gram_schmidt', pod_modes=1, pod_orthonormalize=True, | ||
check_orthonormality=None, check_tol=None, copy_U=True): | ||
if check_orthonormality is None: |
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.
Is it intentional to leave check_orthonormality
potentially unset below?
Should this be check_orthonormality = check_orthonormality or (basis in self.products)
?
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.
There is a default for check_orthonormality
in the free extend_basis
function.
BTW, regarding the use of inner products in |
Looks ok to me. I guess the idea is to remove I would prefer |
0fa6cad
to
fde9ccf
Compare
no longer depend on operators dict
fde9ccf
to
4d487d6
Compare
and simplify implementation
So, the new I have also removed Documentation still needs updating. @pmli, for now I have added an |
Notebooks and demos appear to be working.
Agreed. |
@pmli, ah sorry, Regarding the logging: I have added a kind of ugly hack to prevent the estimator assembly log message from being displayed when there is no estimator to assemble. I would like to keep the other log messages in principle as they seem useful to me to see where time is spent. (I would not like to disable them for |
I've added the About logging, I agree about leaving "Operator projection" and "Building ROM" messages. My issue is that it pollutes the table in |
@pmli, regarding logging: I think there is more important stuff right now than improving the logging, so I would go for 'e.g., by restructuring the table' .. |
This is non-functional code to give the @pymor/pymor-devs an idea of what I have in mind for the future Reductor design. It's probably more helpful to look at the new
reductors/basic.py
instead of looking at the diff. Comments welcome ..As you can see, I have decided to completely remove the projection code from the base class. My impression was that there were too many corner cases to take care of and it might be clearer to explicitly write down the projections.
Fixes #587 when finished.