Taylor models utilities
#include <audi/taylor_model_utilities.hpp>
- 
std::vector<std::vector<double>> matmul(const std::vector<std::vector<double>> &A, const std::vector<std::vector<double>> &B)
 Matrix multiplication.
Computes the matrix product \( C = A \cdot B \) where
Ais of shape(m x p)Bis of shape(p x n)
The result
Chas shape(m x n).- Parameters:
 A – left-hand matrix of shape
(m x p)B – right-hand matrix of shape
(p x n)
- Throws:
 std::out_of_range – if
AandBhave incompatible dimensions- Returns:
 matrix product
Cof shape(m x n)
- 
std::vector<std::vector<double>> transpose(const std::vector<std::vector<double>> &M)
 Matrix transpose.
Computes the transpose of a given matrix \(M\).
If
Mhas shape(rows x cols), the result has shape(cols x rows).
- Parameters:
 M – input matrix
- Returns:
 transpose of
M
- 
std::ostream &operator<<(std::ostream &os, const var_map_d &m)
 Overloaded stream insertion operator for var_map_d.
Outputs the contents of a var_map_d (mapping variable names to doubles) to the given output stream in a human-readable format.
Example output: {“x”: 1.23, “y”: 4.56}
- Parameters:
 os – the output stream
m – the var_map_d mapping variable names to double values
- Returns:
 a reference to the output stream with the formatted contents inserted
- 
std::ostream &operator<<(std::ostream &os, const var_map_i &m)
 Overloaded stream insertion operator for var_map_i.
Outputs the contents of a var_map_i (mapping variable names to intervals) to the given output stream in a human-readable format.
Each interval is displayed as [lower, upper]. Example output: {“x”:[0, 1], “y”:[2, 5]}
- Parameters:
 os – the output stream
m – the var_map_i mapping variable names to int_d intervals
- Returns:
 a reference to the output stream with the formatted contents inserted