導(dǎo)入
import breeze.linalg._import breeze.numerics._
Breeze創(chuàng)建函數(shù):
操作名稱Breeze函數(shù)對(duì)應(yīng)Numpy函數(shù)
全0矩陣DenseMatrix.zeros[Double](2,3)zeros((2,3))
全0向量DenseVector.zeros[Double](3)zeros(3)
全1向量DenseVector.ones[Double](3)ones(3)
按數(shù)值填充向量DenseVector.fill(3){1.0}ones(3)*1.0
生成隨機(jī)向量DenseVector.range(start,end,step),?Vector.rangeD(start,end,step)
線性等分向量(用于產(chǎn)生Start,?end之間的N點(diǎn)行矢量)DenseVector.linspace(start,end,numvals)
單位矩陣DenseMatr.eye[Double](3)eye(3)
對(duì)角矩陣Diag(DenseVector(1.0,2.0,3.0))diag((1.0,2.0,3.0))
按照行創(chuàng)建矩陣DenseMatrix((1.0,2.0),(3.0,4.0))array([[1.0,2.0],[3.0,4.0]])
按照行創(chuàng)建向量DenseVector(1,2,3,4)array([1,2,3,4])
向量轉(zhuǎn)置DenseVector(1,2,3,4).tarray([1?2?3?4]).reshape(-1,1)
從函數(shù)創(chuàng)建向量DenseVector.tabulate(3){i?=>?i*2}
從函數(shù)創(chuàng)建矩陣DenseMatrix.tabulate(3,2){case(i,j)?=>?i j}
從數(shù)組創(chuàng)建向量new?DenseVector(array(1,?2,?3,4))
從數(shù)組創(chuàng)建矩陣new?DenseMatrix(2,3,array(11,12,13,21.22,23))
0到1的隨機(jī)向量DenseVector.rand(4)
0到1的隨機(jī)矩陣DenseMatrix.rand(2,3)
Breeze元素訪問(wèn)
操作名稱Breeze函數(shù)對(duì)應(yīng)Numpy函數(shù)
指定位置a(0,1)a[0,1]
向量子集a(1?to?4),?a(1?until?5),?a.slice(1,5)a[1:5]
按照指定步長(zhǎng)取子集a(5?to?0?by?-1)a[5:0:-1]
指定開(kāi)始位置至結(jié)尾a(1?to?-1)a[1:]
最后一個(gè)元素a(-1)a[-1]
矩陣指定列a(::,?2)a[:,2]
Breeze元素操作
操作名稱Breeze函數(shù)對(duì)應(yīng)Numpy函數(shù)
調(diào)整矩陣形狀a.reshape(3,2)a.reshape(3,2)
矩陣轉(zhuǎn)成向量a.toDenseVector(Makes?copy)a.flatten()
復(fù)制下三角lowerTriangular(a)tril(a)
復(fù)制上三角upperTriangular(a)triu(a)
矩陣復(fù)制a.copynp.copy(a)
取對(duì)角線元素diag(a)diagonal(a)
子集賦數(shù)值a(1?to?4)?:=?5.0a[1:4]=5.0
子集賦向量a(1?to?4)?:=?DenseVector(1.0,2.0,3.0)a[1:4]=[1.0?2.0?3.0]
矩陣賦值a(1?to?3,?1?to?3)?:=?5.0a[2:4,?2:4]?=?5.0
矩陣列賦值a(::,?2)?:=?5.0a(:,3)?=?5
垂直連接矩陣DenseMatrix.vertcat(a,b)[a;b]
橫向連接矩陣DenseMatrix.horzcat(a,b)[a,b]
向量連接DenseVector.vertcat(a,b)[a?b]
Breeze數(shù)值計(jì)算函數(shù)
操作名稱Breeze函數(shù)對(duì)應(yīng)Numpy函數(shù)
元素加法a? ?ba? ?b
元素乘法a?:*?ba?*?b
元素除法a?:/?ba?/?b
元素比較a?:<?ba?<?b
元素相等a?:==?ba?==?b
元素追加a?: =?1.0a? =?1
元素追乘a?:*=?2.0a?*=?2
向量點(diǎn)積a?dot?b,?a.t?*?bTdot(a,b)
元素最大值max(a)a.max()
元素最大值及位置argmax(a)a.argmax()
Breeze求和函數(shù)
操作名稱Breeze函數(shù)對(duì)應(yīng)Numpy函數(shù)
元素求和sum(a)a.sum()
每一列求和sum(a,?axis._0),?sum(a(::,*))sum(a,0)
每一行求和sum(a,axis._1),?sum(a(*,?::))sum(a,1)
對(duì)角線元素和trace(a)a.trace()
累積和accumulate(a)a.cumsum()
Breeze布爾函數(shù)
操作名稱Breeze函數(shù)對(duì)應(yīng)Numpy函數(shù)
元素與操作a?:&?ba?&?b
元素或操作a?:|?ba?|?b
元素非操作!a~a
任意元素非零any(a)any(a)
所有元素非零all(a)all(a)
Breeze線性代數(shù)函數(shù)
操作名稱Breeze函數(shù)對(duì)應(yīng)Numpy函數(shù)
線性求解a?\?blinalg.solve(a,b)
轉(zhuǎn)置a.ta.conj.transpose()
求行列式det(a)linalg.det(a)
求逆inv(a)linalg.inv(a)
求偽逆pinv(a)linalg.pinv(a)
求范數(shù)norm(a)norm(a)
特征值和特征向量eigSym(a)linalg.eig(a)[0]
特征值val(er,ei,_)?=?eig(a)(實(shí)部與虛部分開(kāi))lialg.eig(a)[0]
特征向量eig(a)._3
奇異值分解val?svd.SVD(u,s,v)?=?svd(a)linalg.svd(a)
求矩陣的秩rank(a)rank(a)
矩陣長(zhǎng)度a.lengtha.size
矩陣行數(shù)a.rowsa.shape[0]
矩陣列數(shù)a.colsa.shape[1]
Breeze取整函數(shù)
操作名稱Breeze函數(shù)對(duì)應(yīng)Numpy函數(shù)
四舍五入round(a)around(a)
最小整數(shù)ceil(a)ceil(a)
最大整數(shù)floor(a)floor(a)
符號(hào)函數(shù)signum(a)sign(a)
取正數(shù)abs(a)abs(a)
BLAS向量-向量運(yùn)算
SROTGGivens旋轉(zhuǎn)設(shè)置
SROTMG改進(jìn)Givens旋轉(zhuǎn)設(shè)置
SROTGivens旋轉(zhuǎn)
SROTM改進(jìn)Givens旋轉(zhuǎn)
SSWAP交換x和y
SSCAL常數(shù)a乘以向量x()
SCOPY把x復(fù)制到y(tǒng)
SAXPY向量y 常數(shù)a乘以向量x(y?=?a*x? ?y)
SDOT點(diǎn)積
SDSDOT擴(kuò)展精度累積的點(diǎn)積
SNRM2歐氏范數(shù)
SCNRM2歐氏范數(shù)
SASUM絕對(duì)值之和
ISAMAX最大值位置
BLAS矩陣-向量運(yùn)算
SGEMV矩陣向量乘法
SGBMV帶狀矩陣向量乘法
SSYMV對(duì)稱矩陣向量乘法
SSBMV對(duì)稱帶狀矩陣向量乘法
SSPMV對(duì)稱填充矩陣向量乘法
STRMV三角矩陣向量乘法
STBMV三角帶狀矩陣向量乘法
STPMV三角填充矩陣向量乘法
STRSV求解三角矩陣
STBSV求解三角帶狀矩陣
STPSV求解三角填充矩陣
SGERA?:=?alpha*x*y’? ?A
SSYRA?:=?alpha*x*x’? ?A
SSPRA?:=?alpha*x*x’? ?A
SSYR2A?:=?alpha*x*y’? ?alpha*y*x’? ?A
SSPR2A?:=?alpha*x*y’? ?alpha*y*x’? ?A
BLAS矩陣-矩陣運(yùn)算
SGEMM矩陣乘法
SSYMM對(duì)稱矩陣乘法
SSYPK對(duì)稱矩陣的秩-k修正
SSYR2K對(duì)稱矩陣的秩-2k修正
STRMM三角矩陣乘法
STRSM多重右端的三角線性方程組求解
向量與向量
加: ?? ?減:-? ?點(diǎn)乘: ?:* ? 點(diǎn)除::/ ???向量乘法: * ?向量除法: /
矩陣與矩陣
加: ?? ?減:-? ?點(diǎn)乘: ?:*?? 點(diǎn)除::/ ? ? ? ?矩陣乘法: * ?矩陣除法: /
矩陣或向量與數(shù)值
加: ?? 減:- ???乘:* ???除:/
矩陣和向量
加: ?? ?減:-???點(diǎn)乘: ?:*?? 點(diǎn)除::/ ? ? ? ?矩陣乘法: * ?矩陣除法: /
Matrix(*, ::) Vector 逐行
Matrix(::, *) Vector 逐列
參考文檔:
1. https://github.com/scalanlp/breeze/wiki/Quickstart
2.https://github.com/scalanlp/breeze/wiki/Linear-Algebra-Cheat-Sheet
3.http://blog.csdn.net/hoikinyiu/article/details/52662268
4.http://blog.csdn.net/wo334499/article/details/51728628
來(lái)源:
http://www.icode9.com/content-4-186601.html