Recent Releases of MatrixBandwidth
MatrixBandwidth - v0.1.4
Added
- Update the module docstring and
README.mdto include a paragraph on the motivation and goals of this package (#131). - Implemented the Saxe–Gurari–Sudborough algorithm (both the minimization solver and the recognition decider) (#123, #126).
- Added
bi_criteria_node_finder(an improvement uponpseudo_peripheral_node_finder) as a new node finder for the heuristic solvers (#112). - Finished unit tests for all root-level utility functions (#108, #109).
- Added References sections to docstrings for immediate readability in the REPL and in the source code without needing to open the Documenter-generated website (#105).
Changed
- Replaced all deprecated
DataStructures.enqueue!andDataStructures.dequeue!calls withBase.push!andBase.popfirst!, respectively (#129). - Fleshed out and fixed a few typos in the documentation for the Del Corso–Manzini algorithms (#126).
- Renamed the
_requires_symmetryinternal function (used for input validation) to_requires_structural_symmetry(#123). - Fleshed out documentation (particularly inline comments) for the Gibbs–Poole–Stockmeyer source code (#116).
- Improved unit tests for the heuristic solvers with more edge cases and scenarios (including the use of custom node finders) (#112).
- Changed the
DEFAULT_NODE_FINDERconstant for the heuristic solvers frompseudo_peripheral_node_findertobi_criteria_node_finder(#112). - Moved the
_connected_componentsfunction fromMatrixBandwidth.Minimization.Heuristicto the rootMatrixBandwidthmodule (specificallysrc/utils.jl) for universal access (#109).
Fixed
- Tightened the
bandwidth_lower_boundfunction for disconnected graphs by taking the maximum of the bounds computed for each connected component (#124). - Fixed some test names in the Del Corso–Manzini recognition algorithm test suite ("Bandwidth < k" was meant to be "Bandwidth > k", and "Bandwidth ≥ k" was meant to be "Bandwidth ≤ k") (#123).
- Julia
Published by Luis-Varona 6 months ago
MatrixBandwidth - v0.1.3
Changed
- Bumped compat for DataStructures.jl from
0.18.15to0.18.15 - 0.19(#100).
(This is a very minor patch only released to bump the DataStructures.jl compat in a timely manner for users.)
- Julia
Published by Luis-Varona 7 months ago
MatrixBandwidth - v0.1.2
Added
- Started using PrecompileTools.jl to compile all solvers/deciders during package startup, reducing delay on first usage (formerly reached up to ~3 seconds for some algorithms) (#93).
- Created the
MatrixBandwidth.ALGORITHMSconstant to index all available algorithms by submodule (#93). - Added "Supertype Hierarchy" sections to the docstrings of all subtypes (both concrete and abstract) (#90).
- Added a section in
README.mdand theMatrixBandwidthmodule docstring covering practical applications of matrix bandwidth reduction in engineering and scientific computing (#86).
Changed
- Removed some unnecessary entries in
CHANGELOG.mddocumenting super minor changes to documentation and code style (#93). - Changed some user-facing parameters typed as
Intto the more genericInteger(#90).
- Julia
Published by Luis-Varona 7 months ago
MatrixBandwidth - v0.1.1
Added
- Mentioned the core package exports (including the new
profilefunction) in theMatrixBandwidthmodule docstring andREADME.md(#78). - Added the
profilefunction to compute the original profile of a matrix prior to any reordering (#78). - Added the
homepagefield toProject.tomlto reference the GitHub Pages documentation (#76). - Created
CHANGELOG.mdto document changes to this project (#72). - Clarified certain
if-elsechecks in thebandwidthmethod and in a helper function for the Del Corso–ManziniRecognitiondeciders by explaining via inline comments that we cannot reduce over an empty collection (#71).
Changed
- Referenced the new
profilefunction in theCuthillMcKee,ReverseCuthillMcKee, andGibbsPooleStockmeyerdocstrings when matrix profile is mentioned (#78). - Reformatted some entries in
docs/src/refs.bib(some author names did not exactly match the papers) (#78). - Changed "MatrixBandwidth.jl offers several algorithms…" to "MatrixBandwidth.jl offers fast algorithms…" in
README.md. Similarly changed "Luis-Varona/MatrixBandwidth.jl: Algorithms…" to "Luis-Varona/MatrixBandwidth.jl: Fast algorithms…" inCITATION.bib(#74). - Added PR numbers to changelog entries for better traceability (#73).
- Eliminated unnecessary reallocation of a boolean matrix in the
bandwidthmethod by directly usingfindall(!iszero, A)instead of calling_offdiag_nonzero_support(A)(#71). - Switched from a generator comprehension in the
bandwidthmethod toIterators.map(more idiomatic) (#71). - Changed the GitHub Pages references in
README.mdand theMatrixBandwidthmodule docstring from the development docs to the default site URL (which redirects to the stable documentation) (#71). - Changed the BibTeX key in
CITATION.bibfromVar2025toVar25(#71). - Updated the target date for completion of core API development from mid-August 2025 to September 2025 in
README.md(#71).
Fixed
- Changed some blocks enclosed in double backticks to be enclosed in single backticks instead (meant to be rendered as code blocks, not mathematical expressions) (#78).
- Fixed the rendering of the
dcm_ps_optimal_depthdocstring (#78). - Fixed the copyright preface in
docs/make.jl(#75). - Updated the compatibility requirements in
test/Project.tomlto allow only a finite number of breaking releases ofAquaandJET(#74).
- Julia
Published by Luis-Varona 7 months ago
MatrixBandwidth - v0.1.0
This is the first stable release of MatrixBandwidth.jl, offering unified interfaces for both bandwidth minimization and bandwidth recognition via the minimize_bandwidth and has_bandwidth_k_ordering functions, respectively. Although a few algorithms remain under development, the API is already stable with the bulk of the library already functional and tested. TODO items are clear in the source code as well as documented in the README and the official Documenter-generated website.
- Julia
Published by Luis-Varona 7 months ago