-
Notifications
You must be signed in to change notification settings - Fork 19
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
Transformed cube (#15) #96
base: master
Are you sure you want to change the base?
Conversation
Added the transformation from real space to unit cube using the Promolecular density function of a single coordinate. Added the inverse transformation from unit-cube to real space using a root-solver of a single coordinate.
* Promolecular Cubic Grid Transformation is added. * Bracket initalization is added as private func. * Padding multiple arrays with zeros is added st have array size. * Full Grid transformation from unit-cube to real space.
Need this for integration
Also added the promolecular trick.
Follows changes were made - Added and Fixed docuentation. - Added jacobian of transformation - Added steepest-ascent - Added utility to transform individual points
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## master #96 +/- ##
===========================================
- Coverage 100.00% 99.12% -0.88%
===========================================
Files 14 14
Lines 1385 1592 +207
===========================================
+ Hits 1385 1578 +193
- Misses 0 14 +14 ☔ View full report in Codecov by Sentry. |
Private data class that holds the coefficients, exponents, dimensions and compute its density.
From code review, it was not necessary.
Providing number of points seems more natural than providing the stepsize for Promolecular Cubic, Uniform Grid Transformation.
Code review suggestion to use masked arrays for boundary points and small values of promolecular with a user-defined tolerance.
Suggested in code review, able to handle insufficient brackets.
Cubic grid is a tensor product of one-dimensional grids. Promolecular transform is modeled on a cubic grid.
Since the bounds [-1, 1] is used in onedgrids.py, the default bounds is changed to be consistent.
Since cubic grids are not supported, I tested integration with GaussChebslev oned grid.
Added - convert index to indices to grid transform - convert indices to index to grid transform - interpolation and its derivative - hessian
dataclass is included in python3.7. Acknowledgement to Derrick
Also removed an if statement that wasnt really needed and to improve coverage
@Ali-Tehrani does this need to be dusted off after the cubic grid is merged? If not, is it ready to be reviewed? |
|
- Makes it easier for viewing and generalizes some test to work over a wider range of points
- Makes it consistent for the cubic grid class
Useful for promolecular transformation
- Useful for promolecular transform where the grid to interpolate is different - Make inteprolate its own function due to problems with sub-classing in python
- Needed to say a point is on the boundary
- Increases generality
- Matches the HyperRectangle class
- For promolecular transform
Added new changes:
|
This is not urgent, but in the interest of getting it (eventually) merged, I've assigned @marco-2023 to it. @marco-2023 we can talk about this at some point. One nice feature of this grid is that it is easy to adapt, at least in principle. The easiest way to iteratively refine the grid is to take each grid point and identify its closest neighbors. The value of This would need to be thought through carefully, but this is the basic idea. It is a reasonably efficient procedure once an initial kd-tree is constructed, I think. |
Promolecular Transformation of a Cubic grid class. This is regarding issue #15.
Functionality
TODO
May 16, 2023. All of the TODO except for the "Directional derivative tests" are now fixed/added.