inline void her2( const Order, const UpLo, const int n, const std::complex<double> alpha, const std::complex<double>* x, const int incx, const std::complex<double>* y, const int incy, std::complex<double>* a, const int lda ) { BOOST_STATIC_ASSERT( (is_same<Order, tag::column_major>::value) ); cublasZher2( blas_option< UpLo >::value, n, alpha, x, incx, y, incy, a, lda ); }
/** Perform Hermitian rank-2 update, \f$ A = \alpha x y^H + conj(\alpha) y x^H + A \f$. @param[in] uplo Whether the upper or lower triangle of A is referenced. @param[in] n Number of rows and columns of A. n >= 0. @param[in] alpha Scalar \f$ \alpha \f$ @param[in] dx COMPLEX_16 array on GPU device. The n element vector x of dimension (1 + (n-1)*incx). @param[in] incx Stride between consecutive elements of dx. incx != 0. @param[in] dy COMPLEX_16 array on GPU device. The n element vector y of dimension (1 + (n-1)*incy). @param[in] incy Stride between consecutive elements of dy. incy != 0. @param[in,out] dA COMPLEX_16 array of dimension (ldda,n), ldda >= max(1,n). The n-by-n matrix A, on GPU device. @param[in] ldda Leading dimension of dA. @ingroup magma_zblas2 */ extern "C" void magma_zher2( magma_uplo_t uplo, magma_int_t n, magmaDoubleComplex alpha, magmaDoubleComplex_const_ptr dx, magma_int_t incx, magmaDoubleComplex_const_ptr dy, magma_int_t incy, magmaDoubleComplex_ptr dA, magma_int_t ldda ) { cublasZher2( cublas_uplo_const( uplo ), n, alpha, dx, incx, dy, incy, dA, ldda ); }