There is one prototype of hpr
available, please see below.
hpr( const Scalar >, const VectorX& x, MatrixAP& ap );
hpr
(short for hermitian,
packed, rank-1 update) provides a C++ interface to BLAS routines SSPR,
DSPR, CHPR, and ZHPR. hpr
performs the hermitian rank 1 operation
A := alpha*x*conjg( x' ) + A,
where alpha is a real scalar, x is an n element vector and A is an n by n hermitian matrix, supplied in packed form.
The selection of the BLAS routine is done during compile-time, and is
determined by the type of values contained in type VectorX
.
The type of values is obtained through the value_type
meta-function typename value_type<VectorX>::type
. Table X below illustrates to
which specific routine this dispatching will take place.
Table 1.54. Dispatching of hpr.
Value type of VectorX |
BLAS routine |
CBLAS routine |
CUBLAS routine |
---|---|---|---|
|
SSPR |
cblas_sspr |
cublasSspr |
|
DSPR |
cblas_dspr |
Unavailable |
|
CHPR |
cblas_chpr |
cublasChpr |
|
ZHPR |
cblas_zhpr |
Unavailable |
The original routines SSPR, DSPR, CHPR, and ZHPR have six arguments,
whereas hpr
requires
three arguments.
Defined in header boost/numeric/bindings/blas/level2/hpr.hpp
.
Parameters
The definition of term 1
The definition of term 2
The definition of term 3.
Definitions may contain paragraphs.
#include <boost/numeric/bindings/blas/level2/hpr.hpp> using namespace boost::numeric::bindings; blas::hpr( x, y, z );
this will output
[5] 0 1 2 3 4 5