-
Notifications
You must be signed in to change notification settings - Fork 15
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
Major dependency updates after numpy 2.0.0 #509
base: main
Are you sure you want to change the base?
Conversation
…ikit-learn, scipy versions updated accordingly. Pyscipopt now contains bundled solver library, no longer needs stand-alone binary installation.
…with np.int32_t, replace all double types with np.float64_t to ensure compatibility with numpy 2. Require further changes and tests in the frontend functions that uses them.
In order to ensure compatibility across platform, the current approach I take is to enforce all int and long type variables that appears in smol/utils/cluster cython modules to be np.int32_t, while all double types to be np.float64_t. Thus, the functions that use these modules in the Python frontend will be responsible to check and convert into the correct input format before calling the Cython backend. For example: @lbluque @kamronald There might be a smarter solution. If you have better suggestions please feel free to reach out! |
…to int and double type in order to pass compilation.
…Several tests still won't pass in test_cofe.
@lbluque Please note that test_cofe/test_expansion/test_prune is not completely safe. Pruning may occasionally throw out an orbit entirely, causing inconsistency between ints.shape and orbit_multiplicities.shape. I encountered this rare case just now. Fixed by replacing with "expansion.cluster_subspace.orbit_multiplicities". |
…rune. All tests in test_cofe now pass.
Summary
Major changes:
Todos
If this is work in progress, what else needs to be done?
Checklist
Tip: Install
pre-commit
hooks to auto-check types and linting before every commit: