NumPy的網頁:
ASE大量使用了Python擴展模塊NumPy。NumPy模塊定義了一個ndarray
類型,該類型可以保存大型統一多維數字數據數組。數組類似于list
或tuple
,但它功能更強大,效率更高。
numpy的范例
>>>import numpy as np
>>> a = np.zeros((3, 2))
>>> a[:, 1] = 1.0
>>> a[1] = 2.0
>>> a
array([[ 0., 1.],
[ 2., 2.],
[ 0., 1.]])
>>> a.shape
(3, 2)
>>> a.ndim
2
線性代數包numpy的范例2
>>>import numpy as np
>>>
>>># 構建一個隨機的厄米矩陣, H
>>> H = np.random.rand(6, 6) + 1.j * np.random.rand(6, 6)
>>> H = H + H.T.conj()
>>>
>>> # 求本征值和旋轉矩陣
>>> eps, U = np.linalg.eigh(H)
>>>
>>> # 本征值排序
>>> sorted_indices = eps.real.argsort()
>>> eps = eps[sorted_indices]
>>> U = U[:, sorted_indices]
>>>
>>> # 使numpy數組的輸出更加整潔:
>>> np.set_printoptions(precision=3, suppress=True)
>>>
>>> # 檢查U是否能將H對角化:
>>> print(np.dot(np.dot(U.T.conj(), H), U) - np.diag(eps))
>>> print(np.allclose(np.dot(np.dot(U.T.conj(), H), U), np.diag(eps)))
>>>
>>> # 驗證U中的列是H的本征矢量:
>>> np.allclose(np.dot(H, U[:, 3]), eps[3] * U[:, 3])
>>> np.allclose(np.dot(H, U), eps * U)
一維數組與二維數組相乘的規則:
1維數組按照(1,N)數組來處理(行向量)
左乘和右乘是相同的
一個長度為m的行向量可以與一個nxm的矩陣相乘,產生的結果相當于將行向量復制n份作為n行,然后與矩陣的各元素分別相乘,結果仍為nxm階的矩陣。
一個長度為n的列向量可以與一個nxm的矩陣相乘,產生的結果相當于將列向量復制m份作為m列,然后與矩陣的各元素分別相乘,結果仍為nxm階的矩陣。
所以,對于下面的數組:
>>>M = np.arange(5 * 6).reshape(5, 6) # 一個維數為(5, 6)的矩陣
>>> v5 = np.arange(5) + 10 # 一個長度為5的向量
>>> v51 = v5[:, None] # 一個長度為5的列向量
>>> v6 = np.arange(6) - 12 # 一個長度為6的向量
>>> v16 = v6[None, :] # 一個長度為5的行向量
將滿足下面的等式:
v6 * M == v16 * M == M * v6 == M * v16 == M * v16.repeat(5, 0)
v51 * M == M * v51 == M * v51.repeat(6, 1)
同樣的規則也適合于一維數組與二維數組的加減。
基礎理論丨一文了解XPS(概念、定性定量分析、分析方法、譜線結構)
2020-05-03
晶體結構可視化軟件 VESTA使用教程(下篇)
2021-01-22
手把手教你用ChemDraw 畫化學結構式:基礎篇
2021-06-19
【科研干貨】電化學表征:循環伏安法詳解(上)
2019-10-25
【科研干貨】電化學表征:循環伏安法詳解(下)
2019-10-25
Zeta電位的基本理論、測試方法和應用
2020-08-24
第一性原理-反應能壘
第一性原理-原子電荷
第一性原理-吸附能
基礎理論丨一文了解XPS(概念、定性定量分析、分析方法、譜線結構)
晶體結構可視化軟件 VESTA使用教程(下篇)
手把手教你用ChemDraw 畫化學結構式:基礎篇
【科研干貨】電化學表征:循環伏安法詳解(上)
電化學實驗基礎之電化學工作站篇 (二)三電極和兩電極體系的搭建 和測試
【科研干貨】電化學表征:循環伏安法詳解(下)
測試GO·科研服務
400-152-6858
09:00-18:00
關注我們 了解更多
隨時預約 掌握進度
成都世紀美揚科技有限公司
Copyright@測試GO·科研服務
TEL: 191-3608-6524
如:在網絡上惡意使用“測試狗”等相關關鍵詞誤導用戶點擊、惡意盜用測試狗商標、冒稱官方工作人員等情形,請您向我們舉報,經查實后,我們將給予您獎勵。
200
Suggestions
您可以在此留下您寶貴的意見,您的意見或問題反饋將會成為我們不斷改進的動力。
200
新客专享
注册/登录指南
活动专区
会员权益