perf(math): route ordinary products through MKL and preserve arithmetic
This commit is contained in:
@@ -46,8 +46,12 @@ class SparseMatrix {
|
||||
/// @brief Returns CSR values including preserved structural zeros.
|
||||
const std::vector<double>& Values() const noexcept;
|
||||
|
||||
/// @brief Multiplies this matrix by a dense vector in stable CSR order.
|
||||
/// @throws std::invalid_argument if the dimensions are incompatible.
|
||||
/// @brief Multiplies canonical CSR by a dense vector through private MKL.
|
||||
/// @throws std::invalid_argument if dimensions or CSR are invalid.
|
||||
/// @throws std::length_error if a size exceeds the backend integer range.
|
||||
/// @throws std::runtime_error if the sparse backend fails.
|
||||
/// @note Calls retain no handle; concurrent const calls own their resources.
|
||||
/// Nonfinite products retain IEEE values for consumer finite validation.
|
||||
Vector Multiply(const Vector& rhs) const;
|
||||
|
||||
/// @brief Validates shape, indices, ordering, and finite CSR values.
|
||||
|
||||
Reference in New Issue
Block a user