|
ZonoOpt 2.2.0
|
Class for interval matrices (i.e., every element of the matrix is an interval) More...
#include <IntervalMatrix.hpp>
Public Member Functions | |
| IntervalMatrix () | |
| IntervalMatrix default constructor. | |
| IntervalMatrix (size_t rows, size_t cols, const std::vector< Eigen::Triplet< Interval > > &triplets) | |
| IntervalMatrix constructor using triplets. | |
| IntervalMatrix (const Eigen::Matrix< zono_float, -1, -1 > &mat_lb, const Eigen::Matrix< zono_float, -1, -1 > &mat_ub) | |
| IntervalMatrix constructor using dense lower and upper bound matrices. | |
| IntervalMatrix (const Eigen::Matrix< Interval, -1, -1 > &mat) | |
| IntervalMatrix constructor from Eigen matrix of intervals. | |
| std::vector< std::vector< Interval > > | to_array () const |
| Convert to a vector of vectors of Intervals (row-major) | |
| std::tuple< int, int, std::vector< Eigen::Triplet< Interval > > > | to_triplets () const |
| Convert to triplets. | |
| Eigen::SparseMatrix< zono_float > | center () const |
| Get center matrix. | |
| Eigen::SparseMatrix< zono_float > | diam () const |
| Get diameter matrix. | |
| IntervalMatrix | radius () const |
| Get radius matrix. | |
| zono_float | width () const |
| Get width of interval matrix. | |
| IntervalMatrix | intersect (const IntervalMatrix &other) const |
| Interval matrix intersection. | |
| IntervalMatrix | interval_hull (const IntervalMatrix &other) const |
| Interval matrix interval hull. | |
| bool | contains (const Eigen::SparseMatrix< zono_float > &mat) const |
| Check whether the interval matrix contains a given sparse matrix. | |
| bool | contains_set (const IntervalMatrix &other) const |
| Check whether the interval matrix contains another interval matrix. | |
| Box | operator* (const Eigen::Vector< zono_float, -1 > &v) const |
| IntervalMatrix multiplication with vector. | |
| Box | operator* (const Box &box) const |
| IntervalMatrix multiplication with Box. | |
| IntervalMatrix | operator* (zono_float alpha) const |
| IntervalMatrix scalar multiplication. | |
| void | operator*= (zono_float alpha) |
| IntervalMatrix scalar multiplication in-place. | |
| IntervalMatrix | operator* (const Interval &interval) const |
| IntervalMatrix elementwise multiplication by interval. | |
| void | operator*= (const Interval &interval) |
| IntervalMatrix elementwise multiplication by interval in-place. | |
| IntervalMatrix | operator/ (zono_float alpha) const |
| IntervalMatrix elementwise division by scalar. | |
| void | operator/= (zono_float alpha) |
| IntervalMatrix elementwise division by scalar. | |
| IntervalMatrix | operator/ (const Interval &interval) const |
| IntervalMatrix elementwise division by interval. | |
| void | operator/= (const Interval &interval) |
| IntervalMatrix elementwise division by interval in-place. | |
| IntervalMatrix | operator* (const Eigen::SparseMatrix< zono_float, Eigen::RowMajor > &A) const |
| IntervalMatrix multiplication with sparse matrix. | |
| IntervalMatrix | operator* (const Eigen::Matrix< zono_float, -1, -1 > &A) const |
| IntervalMatrix multiplication with dense matrix. | |
| IntervalMatrix | operator* (const IntervalMatrix &other) const |
| IntervalMatrix multiplication with another IntervalMatrix. | |
| void | operator*= (const IntervalMatrix &other) |
| IntervalMatrix multiplication with another IntervalMatrix in-place. | |
| IntervalMatrix | operator+ (const IntervalMatrix &other) const |
| IntervalMatrix addition. | |
| void | operator+= (const IntervalMatrix &other) |
| IntervalMatrix addition in-place. | |
| IntervalMatrix | operator+ (const Interval &interval) const |
| IntervalMatrix element-wise addition with interval. | |
| void | operator+= (const Interval &interval) |
| IntervalMatrix element-wise addition with interval in-place. | |
| IntervalMatrix | operator+ (zono_float alpha) const |
| IntervalMatrix element-wise addition with scalar. | |
| void | operator+= (zono_float alpha) |
| IntervalMatrix element-wise addition with scalar in-place. | |
| IntervalMatrix | operator- (const IntervalMatrix &other) const |
| IntervalMatrix subtraction. | |
| void | operator-= (const IntervalMatrix &other) |
| IntervalMatrix subtraction in-place. | |
| IntervalMatrix | operator- (const Interval &interval) const |
| IntervalMatrix elementwise interval subtraction. | |
| void | operator-= (const Interval &interval) |
| IntervalMatrix elementwise interval subtraction in-place. | |
| IntervalMatrix | operator- (zono_float alpha) const |
| IntervalMatrix elementwise scalar subtraction. | |
| void | operator-= (zono_float alpha) |
| IntervalMatrix elementwise scalar subtraction in-place. | |
| IntervalMatrix | operator- () const |
| IntervalMatrix negation. | |
| IntervalMatrix | operator& (const IntervalMatrix &other) const |
| Interval matrix intersection oeprator. | |
| IntervalMatrix | operator| (const IntervalMatrix &other) const |
| Interval matrix interval hull operator. | |
| bool | operator<= (const IntervalMatrix &other) const |
| Set containment operator. | |
| bool | operator>= (const IntervalMatrix &other) const |
| Set containment operator. | |
| bool | operator== (const IntervalMatrix &other) const |
| Set equality operator. | |
| size_t | rows () const |
| Get number of rows. | |
| size_t | cols () const |
| Get number of columns. | |
| std::string | print () const |
| Print method. | |
Friends | |
| IntervalMatrix | operator* (zono_float alpha, const IntervalMatrix &A) |
| IntervalMatrix scalar multiplication. | |
| IntervalMatrix | operator* (const Interval &interval, const IntervalMatrix &A) |
| IntervalMatrix elementwise multiplication by interval. | |
| IntervalMatrix | operator/ (zono_float alpha, const IntervalMatrix &A) |
| IntervalMatrix elementwise scalar division. | |
| IntervalMatrix | operator/ (const Interval &interval, const IntervalMatrix &A) |
| IntervalMatrix elementwise interval division. | |
| IntervalMatrix | operator* (const Eigen::SparseMatrix< zono_float, Eigen::RowMajor > &A, const IntervalMatrix &B) |
| IntervalMatrix multiplication with sparse matrix. | |
| IntervalMatrix | operator* (const Eigen::Matrix< zono_float, -1, -1 > &A, const IntervalMatrix &B) |
| IntervalMatrix multiplication with dense matrix. | |
| IntervalMatrix | operator+ (const Interval &interval, const IntervalMatrix &mat) |
| IntervalMatrix element-wise addition with interval. | |
| IntervalMatrix | operator+ (zono_float alpha, const IntervalMatrix &A) |
| IntervalMatrix element-wise addition with scalar. | |
| IntervalMatrix | operator- (const Interval &interval, const IntervalMatrix &mat) |
| IntervalMatrix elementwise interval subtraction. | |
| IntervalMatrix | operator- (zono_float alpha, const IntervalMatrix &A) |
| IntervalMatrix elementwise scalar subtraction. | |
| std::ostream & | operator<< (std::ostream &os, const IntervalMatrix &interval_matrix) |
| print to ostream | |
Class for interval matrices (i.e., every element of the matrix is an interval)
|
inline |
IntervalMatrix default constructor.
| ZonoOpt::IntervalMatrix::IntervalMatrix | ( | size_t | rows, |
| size_t | cols, | ||
| const std::vector< Eigen::Triplet< Interval > > & | triplets | ||
| ) |
IntervalMatrix constructor using triplets.
| rows | number of rows |
| cols | number of columns |
| triplets | triplets for interval matrix (row, col, interval) |
| ZonoOpt::IntervalMatrix::IntervalMatrix | ( | const Eigen::Matrix< zono_float, -1, -1 > & | mat_lb, |
| const Eigen::Matrix< zono_float, -1, -1 > & | mat_ub | ||
| ) |
IntervalMatrix constructor using dense lower and upper bound matrices.
| mat_lb | lower bound matrix |
| mat_ub | upper bound matrix |
|
explicit |
IntervalMatrix constructor from Eigen matrix of intervals.
| mat | matrix of intervals |
| Eigen::SparseMatrix< zono_float > ZonoOpt::IntervalMatrix::center | ( | ) | const |
Get center matrix.
Each element of center matrix is the center of the corresponding interval in the interval matrix
|
inline |
Get number of columns.
| bool ZonoOpt::IntervalMatrix::contains | ( | const Eigen::SparseMatrix< zono_float > & | mat | ) | const |
Check whether the interval matrix contains a given sparse matrix.
| mat | matrix |
| bool ZonoOpt::IntervalMatrix::contains_set | ( | const IntervalMatrix & | other | ) | const |
Check whether the interval matrix contains another interval matrix.
| other | interval matrix |
| Eigen::SparseMatrix< zono_float > ZonoOpt::IntervalMatrix::diam | ( | ) | const |
Get diameter matrix.
Each element of the diameter matrix is the width of the corresponding interval in the interval matrix
| IntervalMatrix ZonoOpt::IntervalMatrix::intersect | ( | const IntervalMatrix & | other | ) | const |
Interval matrix intersection.
| other | interval matrix to intersect with |
| IntervalMatrix ZonoOpt::IntervalMatrix::interval_hull | ( | const IntervalMatrix & | other | ) | const |
Interval matrix interval hull.
| other | interval matrix to compute hull with |
| IntervalMatrix ZonoOpt::IntervalMatrix::operator& | ( | const IntervalMatrix & | other | ) | const |
Interval matrix intersection oeprator.
| other | interval matrix to intersect with |
| IntervalMatrix ZonoOpt::IntervalMatrix::operator* | ( | const Eigen::Matrix< zono_float, -1, -1 > & | A | ) | const |
IntervalMatrix multiplication with dense matrix.
| A | rhs matrix |
| IntervalMatrix ZonoOpt::IntervalMatrix::operator* | ( | const Eigen::SparseMatrix< zono_float, Eigen::RowMajor > & | A | ) | const |
IntervalMatrix multiplication with sparse matrix.
| A | rhs matrix |
| Box ZonoOpt::IntervalMatrix::operator* | ( | const Eigen::Vector< zono_float, -1 > & | v | ) | const |
| IntervalMatrix ZonoOpt::IntervalMatrix::operator* | ( | const Interval & | interval | ) | const |
IntervalMatrix elementwise multiplication by interval.
| interval | interval to multiply |
| IntervalMatrix ZonoOpt::IntervalMatrix::operator* | ( | const IntervalMatrix & | other | ) | const |
IntervalMatrix multiplication with another IntervalMatrix.
| other | rhs interval matrix |
| IntervalMatrix ZonoOpt::IntervalMatrix::operator* | ( | zono_float | alpha | ) | const |
IntervalMatrix scalar multiplication.
| alpha | scalar multiplier |
| void ZonoOpt::IntervalMatrix::operator*= | ( | const Interval & | interval | ) |
IntervalMatrix elementwise multiplication by interval in-place.
| interval | interval to multiply |
| void ZonoOpt::IntervalMatrix::operator*= | ( | const IntervalMatrix & | other | ) |
IntervalMatrix multiplication with another IntervalMatrix in-place.
| other | rhs interval matrix |
| void ZonoOpt::IntervalMatrix::operator*= | ( | zono_float | alpha | ) |
IntervalMatrix scalar multiplication in-place.
| alpha | scalar multiplier |
| IntervalMatrix ZonoOpt::IntervalMatrix::operator+ | ( | const Interval & | interval | ) | const |
IntervalMatrix element-wise addition with interval.
| interval | interval to add |
| IntervalMatrix ZonoOpt::IntervalMatrix::operator+ | ( | const IntervalMatrix & | other | ) | const |
| IntervalMatrix ZonoOpt::IntervalMatrix::operator+ | ( | zono_float | alpha | ) | const |
IntervalMatrix element-wise addition with scalar.
| alpha | scalar to add |
| void ZonoOpt::IntervalMatrix::operator+= | ( | const Interval & | interval | ) |
IntervalMatrix element-wise addition with interval in-place.
| interval | interval to add |
| void ZonoOpt::IntervalMatrix::operator+= | ( | const IntervalMatrix & | other | ) |
IntervalMatrix addition in-place.
| other | rhs interval matrix |
| void ZonoOpt::IntervalMatrix::operator+= | ( | zono_float | alpha | ) |
IntervalMatrix element-wise addition with scalar in-place.
| alpha | scalar to add |
| IntervalMatrix ZonoOpt::IntervalMatrix::operator- | ( | ) | const |
IntervalMatrix negation.
| IntervalMatrix ZonoOpt::IntervalMatrix::operator- | ( | const Interval & | interval | ) | const |
IntervalMatrix elementwise interval subtraction.
| interval | interval to subtract |
| IntervalMatrix ZonoOpt::IntervalMatrix::operator- | ( | const IntervalMatrix & | other | ) | const |
| IntervalMatrix ZonoOpt::IntervalMatrix::operator- | ( | zono_float | alpha | ) | const |
IntervalMatrix elementwise scalar subtraction.
| alpha | scalar to subtract |
| void ZonoOpt::IntervalMatrix::operator-= | ( | const Interval & | interval | ) |
IntervalMatrix elementwise interval subtraction in-place.
| interval | interval |
| void ZonoOpt::IntervalMatrix::operator-= | ( | const IntervalMatrix & | other | ) |
IntervalMatrix subtraction in-place.
| other | rhs interval matrix |
| void ZonoOpt::IntervalMatrix::operator-= | ( | zono_float | alpha | ) |
IntervalMatrix elementwise scalar subtraction in-place.
| alpha | scalar to subtract |
| IntervalMatrix ZonoOpt::IntervalMatrix::operator/ | ( | const Interval & | interval | ) | const |
IntervalMatrix elementwise division by interval.
| interval | interval to divide |
| IntervalMatrix ZonoOpt::IntervalMatrix::operator/ | ( | zono_float | alpha | ) | const |
IntervalMatrix elementwise division by scalar.
| alpha | scalar to divide |
| void ZonoOpt::IntervalMatrix::operator/= | ( | const Interval & | interval | ) |
IntervalMatrix elementwise division by interval in-place.
| interval | interval to divide |
| void ZonoOpt::IntervalMatrix::operator/= | ( | zono_float | alpha | ) |
IntervalMatrix elementwise division by scalar.
| alpha | scalar to divide |
| bool ZonoOpt::IntervalMatrix::operator<= | ( | const IntervalMatrix & | other | ) | const |
Set containment operator.
| other |
| bool ZonoOpt::IntervalMatrix::operator== | ( | const IntervalMatrix & | other | ) | const |
Set equality operator.
| other |
| bool ZonoOpt::IntervalMatrix::operator>= | ( | const IntervalMatrix & | other | ) | const |
Set containment operator.
| other |
| IntervalMatrix ZonoOpt::IntervalMatrix::operator| | ( | const IntervalMatrix & | other | ) | const |
Interval matrix interval hull operator.
| other | interval matrix to compute hull with |
| std::string ZonoOpt::IntervalMatrix::print | ( | ) | const |
Print method.
| IntervalMatrix ZonoOpt::IntervalMatrix::radius | ( | ) | const |
Get radius matrix.
Returns the IntervalMatrix with each interval shifted to be centered at zero
|
inline |
Get number of rows.
| std::vector< std::vector< Interval > > ZonoOpt::IntervalMatrix::to_array | ( | ) | const |
Convert to a vector of vectors of Intervals (row-major)
| std::tuple< int, int, std::vector< Eigen::Triplet< Interval > > > ZonoOpt::IntervalMatrix::to_triplets | ( | ) | const |
Convert to triplets.
| zono_float ZonoOpt::IntervalMatrix::width | ( | ) | const |
Get width of interval matrix.
Specifically, this returns the max width for any interval in the interval matrix
|
friend |
IntervalMatrix multiplication with dense matrix.
| A | lhs matrix |
| B | rhs interval matrix |
|
friend |
IntervalMatrix multiplication with sparse matrix.
| A | lhs matrix |
| B | rhs interval matrix |
|
friend |
IntervalMatrix elementwise multiplication by interval.
| interval | interval to multiply |
| A | interval matrix |
|
friend |
IntervalMatrix scalar multiplication.
| alpha | scalar multiplier |
| A | interval matrix |
|
friend |
IntervalMatrix element-wise addition with interval.
| interval | interval to add |
| mat | interval matrix |
|
friend |
IntervalMatrix element-wise addition with scalar.
| alpha | scalar to add |
| A | interval matrix |
|
friend |
IntervalMatrix elementwise interval subtraction.
| interval | interval |
| mat | interval matrix to subtract |
|
friend |
IntervalMatrix elementwise scalar subtraction.
| alpha | scalar |
| A | interval matrix to subtract |
|
friend |
IntervalMatrix elementwise interval division.
| interval | interval |
| A | matrix to divide |
|
friend |
IntervalMatrix elementwise scalar division.
| alpha | scalar |
| A | matrix to divide |
|
friend |
print to ostream
| os | ostream |
| interval_matrix | reference to interval matrix |