Closed MatthiasSachs closed 2 years ago
@MatthiasSachs thank you so far for taking this on. Can you please get as much as possible of these fixes done. If in doubt, send me a message please. I will be done with meetings at 10 and will then take over finishing this PR.
@zhanglw0521 looks like the ideas are mostly there, just needs cleanup. Hopefully we can get this done. I'll ping you as soon as I think it is ready for you to use.
One additional comment: I have the impression that the basis construction is relative slow now, and the resulting bases surprisingly large. I am not sure if this is correct or a bug, and it might be good idea to compare basis sizes against Christoph's and Liwei's implementation.
One additional comment: I have the impression that the basis construction is relative slow now, and the resulting bases surprisingly large. I am not sure if this is correct or a bug, and it might be good idea to compare basis sizes against Christoph's and Liwei's implementation.
I think I fixed the bug. I guess the constructors for PNormSparseBasis
and CategorySparseBasis
are not very pretty/clean though as the user needs to provide exactly one of the optional arguments default_maxdeg
and maxdeg
.
is this ready for review?
PR is ready for review. I commented out some code that would only work if made some changes in sparsegrids.jl
(i.e., replace degree
by level
). Not sure why git thinks that there is conflict...?
so far I've just done the merging with main and some cleanup to make the code easier to read. I will next think about putting the "levelset" interface in. But we could decide to merge this now. However after the levelest and intersections are ready I think we need to reconsider these basis selectors. I can see them getting messier and messier.
Basis selectors for additional constraints implemenented. This includes 1) constraints described as sublevel-sets of a levelset function that is bounded from below by a degree function, and 2) arbitrary constraints, that don't need to satisfy any condition in regard to the degree function.
In particular, a basis selector for bond-environment basis functions was added.