Skip to content
GitLab
Menu
Why GitLab
Pricing
Contact Sales
Explore
Why GitLab
Pricing
Contact Sales
Explore
Sign in
Get free trial
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