2013-03-19 14 views
5

ベクトルXのインクリメント、すなわちincXをパラメータとする特定のBLASルーチンがあります。 インクリメントが何であるか、そしてそれが計算の結果にどのように影響するかはわかりません。BLASルーチン内のincx

例や他の種類の情報を提供できる人はいますか?

アップデート:私はここで最高の情報を見つけた

Intel HPC mkl manual

+0

HPCマニュアルはあなたの質問に答えましたか?その後、質問から更新を削除し、回答として投稿し、それを受け入れてください。 – Bakuriu

+0

私はリンクが間違っていると思う - 私はあなたがMK ** L **マニュアルを探していると思うが、それはインテルMPにリンクする**私は**参照;私は間違っている可能性があります。 – Luciano

答えて

9

これは実際には非常に簡単です。基本的なため、通常axpy(3,a,x,2,y,1)

しかし:

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

次に、あなたの呼び出しは次のとおりです。y = ax + y

が、場合たとえば、あなたは計算する必要があります。

は計算axpy(n,a,*x,incx,*y,incy)の例を見てみましょう操作を行うには、指定する必要がありますincx = incy = 1

+0

このタイプの「モジュロ」索引付けを必要とするマトリックス代数の操作は、好奇心ではありませんか?それとも、データの操作にのみ使用されていますか? 1次元ベクトルが 'inc' = 1を持つようにL1ルーチンがなぜこの' inc'パラメータを必要としているのか疑問に思っていたので、この投稿に来ました。 – Luciano

+1

私はそれがデータを操作するためだけだと思っています。 (x0、y0、z0、x1、y1、z1、...)の形式のベクトルで、1DベクトルをX値に追加する必要があります。たとえば、このパラメータは便利です( 'incx = 3'、' incy = 1 ')。 – Michael

+0

ありがとう、それはおそらく実際には非常に便利です。複素数や[クォータニオン](https://en.wikipedia.org/wiki/Quaternion)を扱うときにこれを使うことができます。例えば、Re(z)+ 23(ここで、zは複素数x + iy)であり、虚数部を破棄する。 – Luciano