Recent Releases of ntpoly
ntpoly - Version 3.1.1
Minor release for compatibility with other packages.
Features:
* Subroutine to scale a matrix by a diagonal matrix.
* Matrices to help with preserving symmetry (test symmetry deviation, symmetrize matrix)
* Added a subroutine test_ntpoly_link that sits outside of any module, that can be used to test linking.
Bug Fixes: * unused be_verbose argument in process grid constructor removed
- Fortran
Published by william-dawson over 1 year ago
ntpoly - Version 3.1.0
Features: * Small benchmark driver * Some automatic convergence detection * Rudimentary method to estimate homo-lumo gap * Python documentation
Improvements: * Memory optimizations in multiply * Early exit for WOM * Intermediate energies printed by WOM (for heat capacity estimate) * Write comment feature for the logger * Merge triplet lists function
Bug Fixes: * Fix use of fractional charge in dense eigensolver * Extra warnings added to the debug setting, with appropriate fixes * When number of matrix elements couldn't fit in int4, there was a bug * TRS4 had some issues with division by zero for the exact solution * Enforce F2003 standard
- Fortran
Published by william-dawson about 2 years ago
ntpoly - Version 2.7.2
Minor update to version 2.7.2. This release backports some critical fixes from the version 3 series (#231).
- Fortran
Published by william-dawson about 2 years ago
ntpoly - Check BigDFT 3.1.0 Pre-release
Pre-release for testing with BigDFT
- Fortran
Published by william-dawson over 2 years ago
ntpoly - Version 3.0.0
Version upped to 3 because of a significant change to the density matrix solver interfaces (not because there are a ton of new features). Basically, instead of an integer for the number of electrons, it now takes in a float which is the trace of the density matrix you want. This clarifies some of the factors of two issues, and leaves room for partial occupancy.
Features: * Floating point number for number of electrons * IsIdentity routine * Similarity transform helper * McWeeny step helper * Reduce dimension feature * Maps with integer optional data * Should avoid assign alloc everywhere, including data types, using proper copy routines for all derived types. * Print the process grid information. * Fix integer out of bounds potential issue in I/O. * Eigensolver based dense fallback for most routines. * Wave operator minimization method.
- Fortran
Published by william-dawson about 3 years ago
ntpoly - Version 2.7.1
Minor update to version 2.7.1. To be synchronized with ELSI.
Features: * Utilities for generating ELSI releases * Export pkg-conf * Fill dense matrix of 1s
Bug Fixes: * MPI datatypes fixes
- Fortran
Published by william-dawson over 4 years ago
ntpoly - check bigdft 2.8
This is a test release to help understand the role of finite temperature in BigDFT calculations.
- Fortran
Published by william-dawson over 4 years ago
ntpoly - Version 2.7.0
Since 2.6.0 never got past beta, this wraps in those changes.
Features: - Logger can now print to a file, or an open file stream, so you can integrate it into your code - Pivoted cholesky decomposition for generating localized orbitals
Bug Fixes: - Fixed code hang when openmp threads are capped to 1 - Fixed a bug that can emerge in the PM solver when exact convergence leads to division by zero
- Fortran
Published by william-dawson over 4 years ago
ntpoly - Version 2.6 Beta
This is a beta version for integration testing of the log.
- Fortran
Published by william-dawson over 5 years ago
ntpoly - Version 2.5.1
This minor release fixes any compilation bug from gcc version 10. It also has some code cleanup from when I overused isocbindings.
- Fortran
Published by william-dawson over 5 years ago
ntpoly - Version 2.5
Features: - Ability to gather a matrix on to each process locally. - Ability to change a matrix to a fixed sparsity pattern to facilitate conversion.
Bug Fixes: - Some bug fixes related to the formatting of matrix market output.
Miscellaneous: - Automatic Code Linting - Some cleaning up of constants
- Fortran
Published by william-dawson about 6 years ago
ntpoly - Version 2.4.3 Beta
Another beta for integration testing.
- Fortran
Published by william-dawson about 6 years ago
ntpoly - Version 2.4.2 Beta
Another beta for integration.
- Fortran
Published by william-dawson about 6 years ago
ntpoly - Version 2.4.1 Beta
A beta release for checking integration.
- Fortran
Published by william-dawson about 6 years ago
ntpoly - Version 2.4
The main improvement in 2.4 is related to dense matrix operations. As a backup plan, NTPoly can convert to dense matrix multiplication when it determines that a block is not very sparse. I noticed that there were some potential bugs in this code when using older compilers. I also discovered that the performance was sub-optimal because we were still transposing those matrices using the sparse data structures. Version 2.4 fixes those issues, and in general improves the code.
As another minor improvement, I've set the matrix maps module to allow optional arguments.
Finally, we've fully switched from Travis-CI to Github actions, and I've removed any legacy files that were only there for Travis.
- Fortran
Published by william-dawson over 6 years ago
ntpoly - Version 2.3.2
Version 2.3.2 contains some fixes.
Bug Fixes: * @vyu16 found some memory that was not being deallocated.
Miscellaneous: * Build system fixes for newer versions of OpenMPI. * Continuous integration simplified. * Code cleanup with the flake8 tool.
- Fortran
Published by william-dawson over 6 years ago
ntpoly - Version 2.3.1
Version 2.3.1 contains some fixes and minor improvements.
Bug Fixes: * Major fix to the implementation of the purification based extrapolation technique (thanks to Victor Yu).
Features: * Rubennson's Scale and Fold purification technique.
Miscellaneous: * cmake now automatically handles the use of position independent code. * More options for cmake. * Improvements to the CI system.
I would note that the Scale and Fold technique requires knowledge about the homo and lumo band locations, which makes it less easy to use. However, the performance is good, so I think this should at least be included as a benchmark to compare new methods against.
I hope that this new version of NTPoly is easier to compile. I am also planning on adding it to the SPACK package manager soon.
- Fortran
Published by william-dawson about 7 years ago
ntpoly - Version 2.3
Version 2.3 is mostly a bug fix release.
Bug Fixes: * Fixed linkage error that was present when using MPICH and GCC together. * Fixed bug where unit tests would fail when not using the git repository. * Fixed I/O when using the Cray compilers.
Miscellaneous: * Fixed documentation errors. * Made readmes easier to read when rendered. * Removed some compilation noise. * Improved unit test code by using join instead of + "/", and did various code reductions.
Special thanks to Jacob Leamer and Laura Ratcliff for their assistance with these bug fixes.
- Fortran
Published by william-dawson about 7 years ago
ntpoly - Version 2.2
This release is mainly bug fixes and usability improvements.
Bug fixes: * Fixed a serious bug with file i/o when a small matrix is read by many processes * Fixed a memory leak with the solver parameters * Fixed a bug in complex matrices when you change a matrices's process grid * Fixed a bug with matrix summation for edge case
Compilation: * Compilation with NAG compiler
Code Cleanup: * Moved code around for consistency * Simplified matrix gather for debugging
Features: * Automatic grid size (but it is not chosen in a particularly tuned way, this is simply for ease of use) * Sanity checks for grid size
- Fortran
Published by william-dawson over 7 years ago
ntpoly - Version 2.1
Minor update version 2.1.
Features: * Matrix maps for performing unitary operations on matrices. * Matrix resize function.
Bug Fixes: * Logger Deactivation. * Added a destructor for solver parameters. * Fixed example build instructions.
Build System: * Simplified Mac target files. * Better warnings.
- Fortran
Published by william-dawson over 7 years ago
ntpoly - Version 2.0
Version 2.0 adds two major features:
Support for complex matrices.
Support for multiple process grids.
In order to support these features, I made significant changes to the user interface. Please see the revised examples and documentation.
- Fortran
Published by william-dawson over 7 years ago
ntpoly - Version 1.3
Version 1.3 contains a number of improvements based on the help of Victor Yu of Duke University.
New Solvers: * Canonical Purification of the Density Matrix * Higher order solvers for the Square Root
Code Quality: * Cmake installation script * Removal of directory dependencies from CMake * MPI Module for systems that don't support "USE MPI" * Git Ignore files for examples
Documentation: * Example of how to link to NTPoly from a Cmake project * Clarifications about convergence of overlap matrix vs. density matrix
Bug Fixes: * Process grid construction checks * Process grid destructor (prevent communicator leak) * Fixed yaml formatting bugs
- Fortran
Published by william-dawson over 7 years ago
ntpoly - Version 1.2.1
Improved build system.
- Fortran
Published by william-dawson about 8 years ago
ntpoly - Version 1.1
This new release contains some new features:
- Hermite Polynomials
- Geometry Optimization
- Pseudo Inverse
- Polar Decomposition
- Dense matrix optimizations
It also contains a lot of code cleanup, better documentation, and improved testing.
- Fortran
Published by william-dawson over 8 years ago
ntpoly - CPC-Submission
A version which will be submitted to computer physics communication.
- Fortran
Published by william-dawson almost 9 years ago