簡體   English   中英

關於numpy數組的維數問題

[英]Question about dimensionality of numpy array

我正在同時學習物理和 numpy。 Numpy 說我的 3x3 矩陣有 2 維,但在我的物理書或 3blue1brown '線性代數的本質'中,3x3 矩陣是 3-D

#a '2d' array, created using identity
i2d = np.identity(3)  

print(i2d)

print('this is a %s-D array, shape is %s with %s elements'%(i2d.ndim, i2d.shape, i2d.size))


YIELDS:

[[1. 0. 0.]
 [0. 1. 0.]
 [0. 0. 1.]]
this is a 2-D array, shape is (3, 3) with 9 elements

在線性代數中,這定義了一個具有 3 個垂直基向量的 3-D 空間。 任何人都知道我錯過了什么。

在 numpy 中, shape屬性為您提供(3,3)並表示行數和列數 - 在物理環境中,您的 3 個長度為 3 的基向量構成 3D 空間的基礎。

Numpy 的 arrays 的ndim屬性引用了 arrays 的“嵌套”數量。 你有一個arrays 數組- 所以你有兩個維度。

一般來說,如果數組的元素本身是 arrays,那么您的維度是 2。要訪問這樣的數組中的任何元素,您需要 2 個索引,每個索引一個。 arr[i][j]

如果數組的元素是 arrays,並且那些 arrays 的元素也是 arrays,那么你的維度是 3,你需要 3 個索引來訪問 a[jrrk arr[i][j][k]任何元素。 你有一個這樣的嵌套數組結構:

[
  [ 
    [ 1, 2, 3 ],
    [ 4, 5, 6 ],
    [ 7, 8, 9 ]
  ],
  [ 
    [ 1, 0, 0 ],
    [ 0, 1, 0 ],
    [ 0, 0, 1 ]
  ],
  ...
]

在物理意義上, shape屬性應該是你所關注的。

對於 3 空間、3x3 矩陣的基礎。 對於 4 空間、4x4 矩陣等的基礎。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM