|
template<in_object InObj1, in_object InObj2, out_object OutObj>
requires (InObj1::rank() == OutObj::rank() and InObj2::rank() == OutObj::rank()) |
| constexpr auto | add (InObj1 x, InObj2 y, OutObj z) -> void |
| |
| template<typename ElementType , typename Extents , typename Layout , typename Accessor > |
| constexpr auto | conjugated (mdspan< ElementType, Extents, Layout, Accessor > a) |
| |
| template<typename ElementType , typename Extents , typename Layout , typename NestedAccessor > |
| constexpr auto | conjugated (mdspan< ElementType, Extents, Layout, accessor_conjugate< NestedAccessor > > a) |
| |
template<in_object InObj, out_object OutObj>
requires (InObj::rank() == OutObj::rank()) |
| constexpr auto | copy (InObj x, OutObj y) -> void |
| |
| template<in_vector InVec1, in_vector InVec2> |
| constexpr auto | dot (InVec1 v1, InVec2 v2) |
| |
| template<in_vector InVec1, in_vector InVec2, typename Scalar > |
| constexpr auto | dot (InVec1 v1, InVec2 v2, Scalar init) -> Scalar |
| |
| template<in_vector InVec> |
| constexpr auto | idx_abs_max (InVec v) -> typename InVec::size_type |
| |
| template<in_matrix InMat> |
| constexpr auto | matrix_frob_norm (InMat a) |
| |
| template<in_matrix InMat, typename Scalar > |
| constexpr auto | matrix_frob_norm (InMat a, Scalar init) -> Scalar |
| |
| template<in_matrix InMat1, in_matrix InMat2, out_matrix OutMat> |
| constexpr auto | matrix_product (InMat1 a, InMat2 b, OutMat c) -> void |
| | Computes C = AB.
|
| |
| template<in_matrix InMat, in_vector InVec, out_vector OutVec> |
| constexpr auto | matrix_vector_product (InMat a, InVec x, OutVec y) noexcept -> void |
| |
| template<typename Scalar , inout_object InOutObj> |
| constexpr auto | scale (Scalar alpha, InOutObj x) -> void |
| |
| template<typename ScalingFactor , typename ElementType , typename Extents , typename Layout , typename Accessor > |
| constexpr auto | scaled (ScalingFactor alpha, mdspan< ElementType, Extents, Layout, Accessor > x) |
| |
template<inout_object InOutObj1, inout_object InOutObj2>
requires (InOutObj1::rank() == InOutObj1::rank()) |
| constexpr auto | swap_elements (InOutObj1 x, InOutObj2 y) -> void |
| |
| template<in_vector InVec> |
| constexpr auto | vector_abs_sum (InVec v) noexcept -> typename InVec::value_type |
| |
| template<in_vector InVec, typename Scalar > |
| constexpr auto | vector_abs_sum (InVec v, Scalar init) noexcept -> Scalar |
| |
| template<in_vector InVec> |
| constexpr auto | vector_two_norm (InVec v) noexcept -> typename InVec::value_type |
| |
| template<in_vector InVec, typename Scalar > |
| constexpr auto | vector_two_norm (InVec v, Scalar init) noexcept -> Scalar |
| |
Basic linear algebra algorithms.