Skip to main content

Module complex

Module complex 

Source
Expand description

Complex-precision sparse operations (Complex32 / Complex64).

These mirror the real-precision API: sparse vector AXPY / gather / scatter, plus a ComplexSparseMatrix handle wrapping AOCL’s aoclsparse_matrix and operations against it: matrix–vector product mv, triangular solve trsv, sparse-sparse product spmmd, ILU(0) smoother ilu_smoother, and the iterative-solver suite via ComplexIterSolver.

Structs§

ComplexIterSolver
Iterative-solver handle for complex sparse systems.
ComplexSparseMatrix
RAII wrapper for a complex aoclsparse_matrix in CSR format.

Traits§

ComplexScalar
Scalar element type for the complex sparse routines (c32, c64).

Functions§

add
Compute C := α · op(A) + B returning a fresh complex CSR matrix.
axpyi
y[indx] := α·x + y[indx]. x and indx must have equal length.
create_csc_c32
Complex32 CSC creator. See create_csc_c64.
create_csc_c64
Build a complex CSC matrix handle. (Complex64)
create_tcsr_c32
Complex32 TCSR creator. See create_tcsr_c64.
create_tcsr_c64
Build a complex TCSR matrix handle (parallel L / U triangular CSRs). (Complex64)
csrmm
Compute C := α · op(A) · B + β · C where A is sparse complex (CSR) and B, C are dense complex matrices laid out per order.
dotci_c32
Complex32 conjugated sparse dot. See dotci_c64.
dotci_c64
Sparse-vector conjugated dot Σ conj(x[i]) · y[indx[i]]. (Complex64)
dotmv_c32
Complex32 fused dot + mat-vec. See dotmv_c64.
dotmv_c64
Fused dot + mat-vec: y := α A x + β y and d := xᵀ y. (Complex64)
dotui_c32
Complex32 unconjugated sparse dot. See dotui_c64.
dotui_c64
Sparse-vector unconjugated dot Σ x[i] · y[indx[i]]. (Complex64)
gthr
x[i] := y[indx[i]] (sparse gather).
gthrs_c32
Complex32 strided sparse gather.
gthrs_c64
Complex64 strided sparse gather. See real gthrs_f64.
gthrz_c32
Complex32 gather-and-zero.
gthrz_c64
Complex64 gather-and-zero.
ilu_smoother
One ILU(0) smoothing step on a complex matrix.
mv
Compute y := α · op(A) · x + β · y for a complex CSR matrix A.
sctr
y[indx[i]] := x[i] (sparse scatter).
sctrs_c32
Complex32 strided sparse scatter.
sctrs_c64
Complex64 strided sparse scatter.
set_value_c32
Complex32 set_value. See set_value_c64.
set_value_c64
Set a single non-zero entry on a complex CSR handle. (Complex64)
sorv
One step of (S)SOR / forward / backward Gauss-Seidel relaxation for a complex sparse matrix.
sp2md
Compute C := α · op_A(A) · op_B(B) + β · C for complex sparse A and B, dense complex C.
spmmd
Compute C := op(A) · B where both A and B are sparse complex matrices and C is dense.
symgs_c32
Complex32 symmetric Gauss-Seidel. See symgs_c64.
symgs_c64
Symmetric Gauss-Seidel sweep against a complex-symmetric handle. (Complex64)
symgs_mv_c32
Complex32 fused symgs + mat-vec. See symgs_mv_c64.
symgs_mv_c64
Fused symgs + mat-vec. (Complex64)
syprd_c32
Complex32 symmetric triple product. See syprd_c64.
syprd_c64
Symmetric triple product C := α · op(A) · B · op(A)ᵀ + β · C for complex sparse A, dense B/C. (Complex64)
syrkd_c32
Complex32 symmetric rank-k update. See syrkd_c64.
syrkd_c64
Symmetric rank-k update from a complex sparse matrix. (Complex64)
trsm_c32
Complex32 multi-RHS triangular solve. See trsm_c64.
trsm_c64
Multi-RHS triangular solve op(A) · X = α · B for complex sparse triangular A. (Complex64)
trsv
Solve op(A) · x = α · b where A is sparse triangular.
update_values_c32
Complex32 update_values. See update_values_c64.
update_values_c64
Replace the values array on a complex CSR handle in place. (Complex64)