2013-03-19 30 views
5

有一些BLAS例程將參數作爲向量X的增量,即incX。 我找不到增量是什麼以及它如何影響計算結果。incx in BLAS例程

任何人都可以提供一些例子或任何其他類型的信息?

更新:

我已經在這裏找到了最好的信息: Intel HPC mkl manual

+0

HPC手冊是否回答您的問題?然後,請從問題中刪除更新並將其作爲回答發佈並接受。 – Bakuriu 2014-04-09 08:39:05

+0

我認爲鏈接不正確 - 我認爲你正在尋找MK ** L **手冊,但它鏈接到英特爾MP ** I **參考;但我可能是錯的。 – Luciano 2017-09-26 09:09:13

回答

9

這是很簡單的實際。

我們採取何種計算的axpy(n,a,*x,incx,*y,incy)的例子:y = ax + y

如果,例如,你需要計算:

y[0] = ax[0] + y[0]; y[1] = ax[2] + y[1]; y[2] = ax[4] + y[2] 

那麼你的調用是:axpy(3,a,x,2,y,1)

但通常情況下,基本操作,您只需指定incx = incy = 1

+0

出於好奇,在矩陣代數中是否有任何操作需要這種'模'索引?還是僅用於操縱數據? 我來到這篇文章,因爲我想知道爲什麼L1例程需要這個'inc'參數,因爲一維向量應該有'inc' = 1。 – Luciano 2017-09-26 09:06:55

+1

我認爲它只是用於處理數據...如果你有一個3D例如,形式(x0,y0,z0,x1,y1,z1,...)的向量,並且您必須向X值添加一維向量,此參數將非常有用('incx = 3','incy = 1')。 – Michael 2017-09-26 15:28:52

+0

謝謝,實際上這可能相當有用。在處理複雜數字或[四元數](https://en.wikipedia.org/wiki/Quaternion)時,可以使用它。例如'Re(z)+ 23'(其中'z'是複數'x + iy'),丟棄虛部。 – Luciano 2017-09-26 15:43:44