在Matlab中矩陣的緩衝區在列中是連續的。那麼Python的numpy數組呢?其中之一是numpy.empty((n,1))
和numpy.empty((1,n))
之間numpy數組的緩衝區分區
回答
在numpy
你可以選擇(沿着列,例如在Matlab)Fortran-contiguous
之間C-contiguous
(沿着行,這是numpy的默認值)順序,passing the order
argument when you create an array,讓您有更多的靈活性。
由於@ user2357112已經表示,對於1xN或Nx1陣列,這並不重要,但對於MXN陣列來說,它確實很重要,您應該意識到這一點。
他們做不同的事情。一個產生一個Nx1陣列;另一個產生1xN陣列。兩者都不是「更好」。 (實際上,即使指定列主存儲器,內存佈局也將相同)。
要回答有關存儲佈局的問題,numpy默認爲行主佈局,也稱爲C連續。你可以看到這清楚地反映在docs。
如果你指定fortran佈局,你使用的任何numpy例程仍然會返回默認順序中的東西(所以fortran佈局對我來說似乎毫無意義) – usethedeathstar
@usethedeathstar你需要使用Fortran佈局,例如'BLAS '在Fortran中編程的例程,所以這個佈局可以非常有用 –
@SaulloCastro你如何從numpy訪問這些例程?是否有像numpy.sqrt(x)或任何你想做的事情的fortran版本?或者你的意思是如果你使用f2py左右? – usethedeathstar
- 1. 區分Vim中的隱藏緩衝區和活動緩衝區
- 2. 靜態數組緩衝區分配
- 3. 數組緩衝區溢出
- 4. 如何控制numpy數組元素的緩衝區大小?
- 5. 緩衝區溢出緩衝區長度
- 6. 幀緩衝區/顏色緩衝區?
- 7. 如何從多維緩衝區初始化一個NumPy數組?
- 8. 從numpy數組動態讀取pyopengl緩衝區
- 9. 數據緩衝區
- 10. InputStream讀取緩衝區被分成兩個緩衝區
- 11. 緩衝區內存分配
- 12. 緩衝區分析問題
- 13. 圖形緩衝區分配
- 14. 部分緩衝區寫入
- 15. Emacs緩衝區組/標籤
- 16. OpenGL的數組緩衝區從指針
- 17. C編程中的緩衝區數組?
- 18. 在緩衝區
- 19. 與緩衝區
- 20. Ext.direct緩衝區
- 21. 雙緩衝區vs雙數組C++
- 22. 循環字符數組緩衝區 - c
- 23. 多維數組和傳輸緩衝區
- 24. Node.js緩衝區到類型數組
- 25. Java緩衝區到字符串數組
- 26. C#字符串數組緩衝區
- 27. 從CImage獲取緩衝區數組AtlImage
- 28. 在C++中聲明緩衝區數組
- 29. DBwn何時將數據庫緩衝區緩衝區中的緩衝區更新爲數據庫磁盤?
- 30. 複製整數緩衝區如果緩衝區在C
C是連續的缺省'命令「論點。 – Samuel
@Samuel,是的,C-contiguous是默認的...... –