`SSWAP` 的用例是什么?

What is a use case of `SSWAP`?

在用 BLAS 操作做一些事情时,我看到了 1 级操作 SSWAP

我想不出一个编程用例。

我的想法是,如果您将 y 传递给一个函数,但希望它具有 x 的值,为什么不简单地传递 x?交换值似乎相当复杂。

这只是出于好奇而提出的问题。

有时交换两个(步幅)向量的内容正是您所需要的。例如,在 LU 因式分解期间进行旋转中的行或列交换时——参考 BLAS 在 xGBTRF 中使用 xSWAP。 LU 分解的旋转算法需要交换两行(或两列)的内容。这两行(或列)可以被认为是两个向量(元素之间可能具有非单位步幅)。一路上需要做很多这样的交换,它们会逐渐改变,所以在算法的最后没有选择“只是将另一行发送到一个函数”。

总而言之,作为更复杂算法的基本构建块,用于交换矩阵的列或行的(可能)优化例程似乎很有用。