-
Notifications
You must be signed in to change notification settings - Fork 37
Optimization module improvements and new spline grids #143
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
Conversation
Caveats: * Disables Python tests. * Searches Python 3.x include path with a rather dirty hack * NumPy interface for DataVector/DataMatrix not tested
* Add Lagrange*BasisDerivX for X = 1, 2, 3. * Use coefficients in scientific notation instead of using very long quotients (slightly more readable code). * Add new bases to pysgpp and jsgpp.
Have been too eager with my last commit.
Theoretically, Lagrange bases are easier to be hierarchize. Practically, things are not that easy as for each hierarhical level, a linear system has still to be solved. The system should be banded (d = 1) or at least sparse (d > 1); but for now, it's too complicated to implement that. So, remove the Hierarchisation operations from sgpp::base and add naive MultipleHierarchisation operations in sgpp::optimization.
TODOs: * Add to SWIG interfaces. * Add tests. * Add comments/documentation. * Do a little more testing (other functions, higher dimensionalities, other grids, ...).
GCC sometimes fails with internal compiler error on mingw-w64 (e.g., "in gt_ggc_m_S, at ggc-page.c:1474" or "segmentation fault"). Disabling -Wmisleading-indentation (from -Wall) seems to fix the problem. Although GCC says when the warning is not disabled that "pysgpp\pysgpp_wrap.cc:322190:0: note: -Wmisleading-indentation is disabled from this point onwards, since column-tracking was disabled due to the size of the code/headers", it still crashes...
MichaelReh
left a comment
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 good to me.
However, this pull request is so large, that I could not review everything in detail.
|
@MichaelReh Thanks. Sorry that the PR is too big. The branch is a remnant of the SVN days at TUM, and has since been carried over to GitLab and then to GitHub (of course with some merging in between). I'll use smaller feature branches in the future. |
|
This is now ready to merge. #157 is already contained in here and can be closed, if this is merged. |
This is for merging the changes made during writing my PhD thesis from the
sgoptto themasterbranch.Rough changelog:
basemodule:NotAKnotBsplineBoundaryGridModNotAKnotBsplineGridNaturalBsplineBoundaryGridFundamentalNotAKnotSplineBoundaryGridFundamentalSplineBoundaryGridWeaklyFundamentalNotAKnotSplineBoundaryGridModWeaklyFundamentalNotAKnotSplineGridcombigridmodule:datadrivenmodule:LearnerSGDEandGridTypeParseroptimizationmodule:IterativeGridGeneratorfor fuzzy logic based on Ritter-Novakevalmethods toScalarFunction/VectorFunctionand gradientsScaledScalarFunctionfunction type and gradientsoptimizationclasses with respect to grid generation and hierarchizationpdemodule:test_OperationMomentonpdeSConstructcpplintTODO:
Fixes #63.