SLATE 2024.05.31
Software for Linear Algebra Targeting Exascale
Loading...
Searching...
No Matches
syr2k: Symmetric rank 2k update

Functions

template<typename scalar_t >
void slate::tile::syr2k (scalar_t alpha, Tile< scalar_t > const &A, Tile< scalar_t > const &B, scalar_t beta, Tile< scalar_t > &C)
 Symmetric rank-2k update: \(C = \alpha op(A) op(B)^T + \alpha op(B) op(A)^T + \beta C\).
 
template<typename scalar_t >
void slate::tile::syr2k (scalar_t alpha, Tile< scalar_t > const &&A, Tile< scalar_t > const &&B, scalar_t beta, Tile< scalar_t > &&C)
 Converts rvalue refs to lvalue refs.
 

Detailed Description

Function Documentation

◆ syr2k()

template<typename scalar_t >
void slate::tile::syr2k ( scalar_t  alpha,
Tile< scalar_t > const &  A,
Tile< scalar_t > const &  B,
scalar_t  beta,
Tile< scalar_t > &  C 
)

Symmetric rank-2k update: \(C = \alpha op(A) op(B)^T + \alpha op(B) op(A)^T + \beta C\).

Use transpose or conj_transpose to set \(op(A)\) and \(op(B)\). In the complex case, C cannot be conj_transpose.