Repository navigation
v0.3.0 — headers under include/multidiagonal/
Breaking: the headers moved from include/ to include/multidiagonal/ and install there, so consumers write #include <multidiagonal/MultiDiagonal.h>. The flat layout made the library's Traits.h collide with C++QED's own; C++QED now builds against the library (#2).
Fixes: the const overloads of vectorize and matricize failed to compile on first use, because they built a mutable Eigen::Map from a const pointer, a regression in v0.2.0 (#3). The installed package exported the target as cppqed::cppqed-multidiagonal instead of the documented cppqed::multidiagonal, so find_package consumers following the README failed (#21). Clang -Wunused-lambda-capture and -Wignored-qualifiers warnings in MultiArray.h (#10).
Tests: Hermitian conjugation of complex operators against the dense adjoint (deleting the value conjugation used to pass every test), rank-3 application and composition with colliding offsets, the complex directProduct combiner, isEqual on unequal arrays, strides and offset after a serialization round trip; the constructJC benchmark validates before timing (#4).
CI: warnings as errors on GCC and Clang, an ASan+UBSan job, and a downstream consumer job that uses the library via find_package after install and via FetchContent at the pushed commit; runners pinned to ubuntu-24.04 and actions to commit SHAs (#10).