Changes
Page history
Update BLAS
authored
Mar 23, 2023
by
Alfredo Correa
Show whitespace changes
Inline
Side-by-side
BLAS.md
View page @
0dcb511c
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