0
内側ストライドは、2つの連続 エントリ間のポインタの増分は、行優先行列の所与の行内または所与の カラム内であります列 - 主要マトリックス。
外側のストライドは、行主行列の2つの連続する行 間、または 列主行列の2つの連続する列の間のポインタの増分です。
言い換えれば、繰り返されるベクトルからなる行列を行として作成したいとしましょう。私はこれを行うにはゼロの長さのストライドを使用することができますpythonでnumpy。固有のドキュメントは、何もほぼゼロ進歩が、動作は非常に奇妙に見えると言う:
typedef Matrix<float, Dynamic, Dynamic, RowMajor> MatrixType;
MatrixType M1(3, 3);
M1 << 1, 2, 3,
4, 5, 6,
7, 8, 9;
Map<MatrixType, 0, Stride<0, 0>> zeroMap(M1.data(), 2, 2);
Map<MatrixType, 0, Stride<2, 0>> oneMap(M1.data(), 2, 2);
cout << "Row stride = 0:" << "\n";
cout << zeroMap << "\n" << "Row stride = 2:" << "\n";
cout << oneMap;
cout << "\n";
はどちらの場合も同じ結果を返します:
Row stride = 0:
1 2
3 4
Row stride = 2:
1 2
3 4
をなぜ結果がストライド0とストライド2と同じですか?