proxsuite 0.6.7
The Advanced Proximal Optimization Toolbox
Loading...
Searching...
No Matches
proxsuite::linalg::dense::util Namespace Reference

Functions

template<bool COLMAJOR, typename T >
auto elem_addr (T *ptr, isize row, isize col, isize outer_stride, isize inner_stride) noexcept -> T *
 
template<typename Mat >
auto matrix_elem_addr (Mat &&mat, isize row, isize col) noexcept -> decltype(mat.data())
 
template<typename T >
auto col (T &&mat, isize col_idx) noexcept -> typename _detail::RowColAccessImpl< !bool(proxsuite::linalg::veg::uncvref_t< T >::IsRowMajor)>::template Col< T >
 
template<typename T >
auto row (T &&mat, isize row_idx) noexcept -> typename _detail::RowColAccessImpl< !bool(proxsuite::linalg::veg::uncvref_t< T >::IsRowMajor)>::template Row< T >
 
template<typename Mat >
auto trans (Mat &&mat) noexcept -> Eigen::Map< _detail::const_if< _detail::ptr_is_const< decltype(mat.data())>::value, Eigen::Matrix< typename proxsuite::linalg::veg::uncvref_t< Mat >::Scalar, proxsuite::linalg::veg::uncvref_t< Mat >::ColsAtCompileTime, proxsuite::linalg::veg::uncvref_t< Mat >::RowsAtCompileTime, bool(proxsuite::linalg::veg::uncvref_t< Mat >::IsRowMajor) ? Eigen::ColMajor :Eigen::RowMajor > >, Eigen::Unaligned, _detail::StrideOf< proxsuite::linalg::veg::uncvref_t< Mat > > >
 
template<typename Mat >
auto diagonal (Mat &&mat) noexcept -> Eigen::Map< _detail::const_if< _detail::ptr_is_const< decltype(mat.data())>::value, Eigen::Matrix< typename proxsuite::linalg::veg::uncvref_t< Mat >::Scalar, Eigen::Dynamic, 1, Eigen::ColMajor > >, Eigen::Unaligned, Eigen::InnerStride< Eigen::Dynamic > >
 
template<typename Mat >
auto submatrix (Mat &&mat, isize row_start, isize col_start, isize nrows, isize ncols) noexcept -> Eigen::Map< _detail::const_if< _detail::ptr_is_const< decltype(mat.data())>::value, _detail::OwnedMatrix< proxsuite::linalg::veg::uncvref_t< Mat > > >, Eigen::Unaligned, _detail::StrideOf< proxsuite::linalg::veg::uncvref_t< Mat > > >
 
template<typename Mat >
auto to_view (Mat &&mat) noexcept -> Eigen::Map< _detail::const_if< _detail::ptr_is_const< decltype(mat.data())>::value, _detail::OwnedAll< proxsuite::linalg::veg::uncvref_t< Mat > > >, Eigen::Unaligned, _detail::StrideOf< proxsuite::linalg::veg::uncvref_t< Mat > > >
 
template<typename Mat >
auto to_view_dyn_rows (Mat &&mat) noexcept -> Eigen::Map< _detail::const_if< _detail::ptr_is_const< decltype(mat.data())>::value, _detail::OwnedRows< proxsuite::linalg::veg::uncvref_t< Mat > > >, Eigen::Unaligned, _detail::StrideOf< proxsuite::linalg::veg::uncvref_t< Mat > > >
 
template<typename Mat >
auto to_view_dyn_cols (Mat &&mat) noexcept -> Eigen::Map< _detail::const_if< _detail::ptr_is_const< decltype(mat.data())>::value, _detail::OwnedCols< proxsuite::linalg::veg::uncvref_t< Mat > > >, Eigen::Unaligned, _detail::StrideOf< proxsuite::linalg::veg::uncvref_t< Mat > > >
 
template<typename Mat >
auto to_view_dyn (Mat &&mat) noexcept -> Eigen::Map< _detail::const_if< _detail::ptr_is_const< decltype(mat.data())>::value, _detail::OwnedMatrix< proxsuite::linalg::veg::uncvref_t< Mat > > >, Eigen::Unaligned, _detail::StrideOf< proxsuite::linalg::veg::uncvref_t< Mat > > >
 
template<typename Mat >
auto subrows (Mat &&mat, isize row_start, isize nrows) noexcept -> Eigen::Map< _detail::const_if< _detail::ptr_is_const< decltype(mat.data())>::value, _detail::OwnedRows< proxsuite::linalg::veg::uncvref_t< Mat > > >, Eigen::Unaligned, _detail::StrideOf< proxsuite::linalg::veg::uncvref_t< Mat > > >
 
template<typename Mat >
auto subcols (Mat &&mat, isize col_start, isize ncols) noexcept -> Eigen::Map< _detail::const_if< _detail::ptr_is_const< decltype(mat.data())>::value, _detail::OwnedCols< proxsuite::linalg::veg::uncvref_t< Mat > > >, Eigen::Unaligned, _detail::StrideOf< proxsuite::linalg::veg::uncvref_t< Mat > > >
 
template<typename Dst , typename Lhs , typename Rhs , typename T >
void noalias_mul_add (Dst &&dst, Lhs const &lhs, Rhs const &rhs, T factor)
 

Function Documentation

◆ elem_addr()

template<bool COLMAJOR, typename T >
auto proxsuite::linalg::dense::util::elem_addr ( T * ptr,
isize row,
isize col,
isize outer_stride,
isize inner_stride ) -> T*
noexcept

Definition at line 551 of file core.hpp.

◆ matrix_elem_addr()

template<typename Mat >
auto proxsuite::linalg::dense::util::matrix_elem_addr ( Mat && mat,
isize row,
isize col ) -> decltype(mat.data())
noexcept

Definition at line 563 of file core.hpp.

◆ col()

template<typename T >
auto proxsuite::linalg::dense::util::col ( T && mat,
isize col_idx ) -> typename _detail::RowColAccessImpl< !bool(proxsuite::linalg::veg::uncvref_t<T>::IsRowMajor)>::template Col<T>
noexcept

Definition at line 578 of file core.hpp.

◆ row()

template<typename T >
auto proxsuite::linalg::dense::util::row ( T && mat,
isize row_idx ) -> typename _detail::RowColAccessImpl< !bool(proxsuite::linalg::veg::uncvref_t<T>::IsRowMajor)>::template Row<T>
noexcept

Definition at line 587 of file core.hpp.

◆ trans()

template<typename Mat >
auto proxsuite::linalg::dense::util::trans ( Mat && mat) -> Eigen::Map< _detail::const_if< _detail::ptr_is_const<decltype(mat.data())>::value, Eigen::Matrix< typename proxsuite::linalg::veg::uncvref_t<Mat>::Scalar, proxsuite::linalg::veg::uncvref_t<Mat>::ColsAtCompileTime, proxsuite::linalg::veg::uncvref_t<Mat>::RowsAtCompileTime, bool(proxsuite::linalg::veg::uncvref_t<Mat>::IsRowMajor) ? Eigen::ColMajor : Eigen::RowMajor>>, Eigen::Unaligned, _detail::StrideOf<proxsuite::linalg::veg::uncvref_t<Mat>>>
noexcept

Definition at line 597 of file core.hpp.

◆ diagonal()

template<typename Mat >
auto proxsuite::linalg::dense::util::diagonal ( Mat && mat) -> Eigen::Map< _detail::const_if<_detail::ptr_is_const<decltype(mat.data())>::value, Eigen::Matrix< typename proxsuite::linalg::veg::uncvref_t<Mat>::Scalar, Eigen::Dynamic, 1, Eigen::ColMajor>>, Eigen::Unaligned, Eigen::InnerStride<Eigen::Dynamic>>
noexcept

Definition at line 624 of file core.hpp.

◆ submatrix()

template<typename Mat >
auto proxsuite::linalg::dense::util::submatrix ( Mat && mat,
isize row_start,
isize col_start,
isize nrows,
isize ncols ) -> Eigen::Map<_detail::const_if< _detail::ptr_is_const<decltype(mat.data())>::value, _detail::OwnedMatrix<proxsuite::linalg::veg::uncvref_t<Mat>>>, Eigen::Unaligned, _detail::StrideOf<proxsuite::linalg::veg::uncvref_t<Mat>>>
noexcept

Definition at line 645 of file core.hpp.

◆ to_view()

template<typename Mat >
auto proxsuite::linalg::dense::util::to_view ( Mat && mat) -> Eigen::Map<_detail::const_if< _detail::ptr_is_const<decltype(mat.data())>::value, _detail::OwnedAll<proxsuite::linalg::veg::uncvref_t<Mat>>>, Eigen::Unaligned, _detail::StrideOf<proxsuite::linalg::veg::uncvref_t<Mat>>>
noexcept

Definition at line 670 of file core.hpp.

◆ to_view_dyn_rows()

template<typename Mat >
auto proxsuite::linalg::dense::util::to_view_dyn_rows ( Mat && mat) -> Eigen::Map<_detail::const_if< _detail::ptr_is_const<decltype(mat.data())>::value, _detail::OwnedRows<proxsuite::linalg::veg::uncvref_t<Mat>>>, Eigen::Unaligned, _detail::StrideOf<proxsuite::linalg::veg::uncvref_t<Mat>>>
noexcept

Definition at line 690 of file core.hpp.

◆ to_view_dyn_cols()

template<typename Mat >
auto proxsuite::linalg::dense::util::to_view_dyn_cols ( Mat && mat) -> Eigen::Map<_detail::const_if< _detail::ptr_is_const<decltype(mat.data())>::value, _detail::OwnedCols<proxsuite::linalg::veg::uncvref_t<Mat>>>, Eigen::Unaligned, _detail::StrideOf<proxsuite::linalg::veg::uncvref_t<Mat>>>
noexcept

Definition at line 710 of file core.hpp.

◆ to_view_dyn()

template<typename Mat >
auto proxsuite::linalg::dense::util::to_view_dyn ( Mat && mat) -> Eigen::Map<_detail::const_if< _detail::ptr_is_const<decltype(mat.data())>::value, _detail::OwnedMatrix<proxsuite::linalg::veg::uncvref_t<Mat>>>, Eigen::Unaligned, _detail::StrideOf<proxsuite::linalg::veg::uncvref_t<Mat>>>
noexcept

Definition at line 730 of file core.hpp.

◆ subrows()

template<typename Mat >
auto proxsuite::linalg::dense::util::subrows ( Mat && mat,
isize row_start,
isize nrows ) -> Eigen::Map<_detail::const_if< _detail::ptr_is_const<decltype(mat.data())>::value, _detail::OwnedRows<proxsuite::linalg::veg::uncvref_t<Mat>>>, Eigen::Unaligned, _detail::StrideOf<proxsuite::linalg::veg::uncvref_t<Mat>>>
noexcept

Definition at line 750 of file core.hpp.

◆ subcols()

template<typename Mat >
auto proxsuite::linalg::dense::util::subcols ( Mat && mat,
isize col_start,
isize ncols ) -> Eigen::Map<_detail::const_if< _detail::ptr_is_const<decltype(mat.data())>::value, _detail::OwnedCols<proxsuite::linalg::veg::uncvref_t<Mat>>>, Eigen::Unaligned, _detail::StrideOf<proxsuite::linalg::veg::uncvref_t<Mat>>>
noexcept

Definition at line 771 of file core.hpp.

◆ noalias_mul_add()

template<typename Dst , typename Lhs , typename Rhs , typename T >
void proxsuite::linalg::dense::util::noalias_mul_add ( Dst && dst,
Lhs const & lhs,
Rhs const & rhs,
T factor )

Definition at line 839 of file core.hpp.