Skip to content
Update BLAS authored by Alfredo Correa's avatar Alfredo Correa
All these operations are now supported for CPU and GPU memory, real and complex.
| BLAS | mutable form | effect | operator form | functional form | thrust/STL |
scalars: `aa` ($`\alpha`$), `bb` ($`\beta`$) \
vectors: `x`, `y` \
matrices: `A`, `B`, `C`
vector operations: `C` (`*`) conjugation (element-wise) \
matrix operations: `J` (`*`) conjugation (element-wise) (use `C` for vectors), `T` transpose, `H` transpose conjugate
| BLAS | mutable form | effect | operator form | functional form | thrust/STL [¹] |
|--- |--- | --- | --- | --- | --- |
| SWAP |`blas::swap(x, y)` | $`x_i \leftrightarrow y_i`$ | `(x^y)` | | `swap_ranges(begin(x), end(x), begin(y))` |
| COPY |`blas::copy(x, y)` | $`y_i \leftrightarrow x_i`$ | `y << x` | `y = blas::copy(x)` | `copy(begin(x), end(x), begin(y))` |
......@@ -34,3 +42,5 @@ All these operations are now supported for CPU and GPU memory, real and complex.
| | `blas::trsm(blas::side::right, aa, blas::L(A), B)` | $`B\leftarrow B.L^{-1}`$ | `B /= L(A)` | | TODO |
| | `blas::trsm(blas::side::left, aa, blas::U(A), B)` | $`B\leftarrow U^{-1}.B`$ | `B \|= U(A)` | | TODO |
| | `blas::trsm(blas::side::left, aa, blas::L(A), B)` | $`B\leftarrow L^{-1}.B`$ | `B \|= L(A)` | | TODO |
[¹]: for reference, not optimal