Numpy中數(shù)組和矩陣操作的數(shù)學(xué)函數(shù)
Numpy 是一個(gè)強(qiáng)大的 Python 計(jì)算庫。它提供了廣泛的數(shù)學(xué)函數(shù),可以對數(shù)組和矩陣執(zhí)行各種操作。本文中將整理一些基本和常用的數(shù)學(xué)操作。
- 基本數(shù)學(xué)運(yùn)算:Numpy 提供了許多基本數(shù)學(xué)函數(shù),用于對數(shù)組執(zhí)行加、減、乘、除等運(yùn)算。這些函數(shù)包括 numpy.add()、numpy.subtract()、numpy.multiply() 和 numpy.divide()。
- 線性代數(shù)函數(shù):Numpy 還提供了許多線性代數(shù)函數(shù),用于執(zhí)行矩陣乘法、行列式和求逆等運(yùn)算。這些函數(shù)包括 numpy.dot()、numpy.linalg.det() 和 numpy.linalg.inv()。
- 統(tǒng)計(jì)和概率函數(shù):Numpy 提供了許多統(tǒng)計(jì)和概率函數(shù),用于執(zhí)行均值、中位數(shù)、標(biāo)準(zhǔn)差和相關(guān)性等操作。這些函數(shù)包括 numpy.mean()、numpy.median()、numpy.std() 和 numpy.corrcoef()。
- 三角函數(shù)和對數(shù)函數(shù):Numpy 還提供了許多三角函數(shù)和對數(shù)函數(shù),用于執(zhí)行正弦、余弦、正切和對數(shù)等運(yùn)算。這些函數(shù)包括 numpy.sin()、numpy.cos()、numpy.tan() 和 numpy.log()。
基本數(shù)學(xué)運(yùn)算
我們將介紹基本的數(shù)學(xué)運(yùn)算:
加法
使用numpy.add()逐個(gè)添加兩個(gè)數(shù)組元素。例如,要添加兩個(gè)數(shù)組a和b,可以使用以下代碼:
也可以使用+運(yùn)算符:
減法
numpy.subtract()可用于從另一個(gè)元素中減去一個(gè)數(shù)組。例如,要從數(shù)組a中減去數(shù)組b,可以使用以下代碼:
也可以使用-運(yùn)算符:
乘法
numpy.multiply()函數(shù)可用于按元素將兩個(gè)數(shù)組相乘。例如,要將兩個(gè)數(shù)組a和b相乘,可以使用以下代碼:
也可以使用*運(yùn)算符:
要說明的一點(diǎn)是,這個(gè)是逐元素乘法,點(diǎn)積乘法使用dot,在后面會(huì)介紹。所以這個(gè)操作要求兩個(gè)變量的維度相同,如果不同則會(huì)首先進(jìn)行廣播操作。
除法
numpy.divide()函數(shù)可用于將一個(gè)數(shù)組除以另一個(gè)元素。例如,要用數(shù)組a除以數(shù)組b,你可以使用以下代碼:
也可以使用/運(yùn)算符:
再次說明:上述所有函數(shù)都是在輸入數(shù)組上以element wise的方式應(yīng)用的,也就是逐元素方式,所以它們返回一個(gè)與輸入形狀相同的數(shù)組。
線性代數(shù)函數(shù)
最常見的是線性代數(shù)函數(shù)有
點(diǎn)積
numpy.dot()函數(shù)可用于計(jì)算兩個(gè)數(shù)組的點(diǎn)積。例如,要計(jì)算兩個(gè)1-D數(shù)組a和b的點(diǎn)積,可以使用以下代碼:
或者直接使用@操作符
矩陣乘法
numpy.matmul()函數(shù)可用于執(zhí)行兩個(gè)數(shù)組的矩陣乘法。例如,要執(zhí)行兩個(gè)2-D數(shù)組a和b的矩陣乘法,可以使用以下代碼:
可以使用@運(yùn)算符來執(zhí)行矩陣乘法:
轉(zhuǎn)置
numpy.transpose()函數(shù)可用于轉(zhuǎn)置數(shù)組。例如,要轉(zhuǎn)置一個(gè)2-D數(shù)組a,你可以使用以下代碼:
也可以直接使用.T屬性來轉(zhuǎn)置數(shù)組:
行列式
numpy.linalg.det()函數(shù)可用于計(jì)算正方形數(shù)組的行列式。例如,要計(jì)算二維數(shù)組a的行列式,可以使用以下代碼:
注意,輸入數(shù)組必須是正方形數(shù)組,即它必須有相同的行數(shù)和列數(shù)。
逆
numpy.linalg.inv()函數(shù)可用于計(jì)算正方形數(shù)組的逆inverse 。例如,要計(jì)算一個(gè)2-D數(shù)組a的逆,你可以使用以下代碼:
需要注意的是,輸入數(shù)組必須是方陣,而且行列式必須非零。否則,numpy將引發(fā)LinAlgError。
以上就是我們常用的線性代數(shù)函數(shù),還有更多函數(shù)來計(jì)算矩陣和數(shù)組上的線性代數(shù)運(yùn)算,可以查看Numpy文檔。
三角函數(shù)和對數(shù)函數(shù)
Numpy中包含了一些最常用的三角函數(shù)包括Numpy .sin()、Numpy .cos()、Numpy .tan()、Numpy .arcsin()、Numpy .arccos()、Numpy .arctan()或Numpy .log()。numpy.sin()的例子:
numpy.log計(jì)算自然對數(shù)是指數(shù)函數(shù)的倒數(shù),因此log(exp(x)) = x。自然對數(shù)是以e為底的對數(shù)。
以上就是Numpy中常用的數(shù)學(xué)函數(shù)的總結(jié),希望對你有所幫助,另外就是Numpy的文檔非常詳盡,如果你想尋找什么函數(shù),可以直接進(jìn)行查詢:https://numpy.org/doc/