KokkosBlas::syr ############### Defined in header: :code:`KokkosBlas2_syr.hpp` .. code:: c++ template void syr(const ExecutionSpace& space, const char trans[], const char uplo[], const typename AViewType::const_value_type& alpha, const XViewType& x, const AViewType& A) template void syr(const char trans[], const char uplo[], const typename AViewType::const_value_type& alpha, const XViewType& x, const AViewType& A) Perform a symmetric rank-1 update of matrix ``A`` by vector ``x`` with scaling factor ``alpha``, .. math:: A = A + \alpha (x * x^T). 1. Iterate of the entries of ``A`` and update them with the ``alpha`` scaled product of the entries of ``x`` and ``x^T`` using resources from the ``space`` instance. 2. Iterate of the entries of ``A`` and update them with the ``alpha`` scaled product of the entries of ``x`` and ``x^T`` using resources from the default instance of ``typename AViewType::execution_space``. The function will throw a runtime exception if ``A.extent(0) != X.extent(0) || A.extent(1) != X.extent(0)``. Parameters ========== :space: execution space instance. :trans: "T" for transpose and "H" for conjugate transpose of ``x``, all characters after the first one are ignored. :alpha: scaling parameter for the rank update. :x: vector used to perform the rank update. :A: matrix being updated. Type Requirements ----------------- - `execution_space` must be a Kokkos `execution space `_ - `XViewType` must be a Kokkos `View `_ of rank 1 that satisfies - ``Kokkos::SpaceAccessibility::accessible`` - `AViewType` must be a Kokkos `View `_ of rank 2 that satisfies - ``Kokkos::SpaceAccessibility::accessible`` - ``std::is_same_v`` Example ======= .. literalinclude:: ../../../../example/wiki/blas/KokkosBlas2_wiki_syr.cpp :language: c++