项目作者: Chizi-P
项目描述 :
JS Matrix
高级语言: JavaScript
项目地址: git://github.com/Chizi-P/Matrix.js.git
Matrix.js
Matrix
constructor
new Matrix(height, width, init)
new Matrix(\, init)
new Matrix(\)
new Matrix(\) // 未實現
Methods
Matrix.isMatrix(obj)
判斷參數是否為矩陣。
Matrix.isSquare(obj)
判斷參數是否為方陣。
Matrix.isSameSize(obj1, obj2)
判斷 obj1
和 obj2
是否尺寸一樣。
Matrix.isSameLength()
判斷 是否總長度一樣,即面積一樣。
Matrix.isArray(\)
判斷傳入的 Array
是否為矩陣。
Matrix.isSame(A, B)
判斷每一元素是否一樣。
Matrix.isI(\)
判斷參數是否為單位矩陣。
Matrix.isUpperTriangular(\)
判斷參數是否為上三角矩陣。
Matrix.isLowerTriangular(\)
判斷參數是否為下三角矩陣。
Matrix.isDiagonal(\)
判斷參數是否為對角矩陣。
Matrix.isSymmetric(\)
判斷參數是否為對稱矩陣。
Matrix.isSkewSymmetric(\)
判斷參數是否為斜對稱矩陣(反對稱矩陣)。
Matrix.isNilpotent(\)
判斷參數是否為冪零矩陣。
Matrix.tr(\)
求得參數的跡。
Matrix.diag([value1[, value2[, …]]])
生成一個對角線矩陣。
Matrix.I(n = 3)
生成一個單位矩陣。
Matrix.det(\)
求得參數的行列式。
Matrix.minor(\)
求得參數的餘子矩陣。
Matrix.transpose(\)
求得該矩陣的轉置矩陣。
Matrix.adj(\)
求得參數的伴隨矩陣。
Matrix.inverse(\)
求得參數的逆矩陣。
Matrix.isInvertible(\)
判斷參數是否為可逆矩陣。
Matrix.strassenAlgorithm2x2(A, B)
2x2 的 Strassen algorithm 施特拉森演算法。
Matrix.rotationMatrix2D(theta)
獲得旋轉的轉換矩陣。
get \.content
獲得該矩陣的所有元素,裝載在原始類型的 Array
中。
get \.size
獲得該矩陣的尺寸為 MatrixSize
類別。
\.mapAll(function callback([n[, [, i[, j]]]]))
遍歷該矩陣的所有元素,保留 callback
返回的值構成新的矩陣。
\.forAll(function callback(n, ))
遍歷該矩陣的所有元素,不返回任何值。
\.forDiag(function callback(n))
遍歷該矩陣的對角線的元素。
\.forUpperTriangular(function callback(n))
遍歷該矩陣的上三角的元素。
\.forLowerTriangular(function callback(n))
遍歷該矩陣的下三角的元素。
\.everyDiag(function condition(n))
判斷該矩陣的對角線的全部元素是否符合某條件。
\.everyUpperTriangular(function condition(n))
判斷該矩陣的上三角的全部元素是否符合某條件。
\.everyLowerTriangular(function condition(n))
判斷該矩陣的下三角的全部元素是否符合某條件。
\.__privateBasicOperationsMethod(value, isSameSizeMatrix, isSameTotalLengthMatrix, isSameTotalLengthArray, other)
不應該使用該方法。
\.plus(value = 0)
求得該矩陣的元素加上 value
的新矩陣。
\.minus(value = 0)
求得該矩陣的元素減去 value
的新矩陣。
\.multiply(value = 1)
求得該矩陣的元素乘以 value
的新矩陣。
\.divide(value = 1)
求得該矩陣的元素除以 value
的新矩陣。
\.mod(value = 1)
求得該矩陣的元素模除 value
的新矩陣。
\.product(\)
求得該矩陣乘以另外一個矩陣的新矩陣。
get \.T
求得該矩陣的轉置矩陣。
\.init(value)
該矩陣的所有元素初始化為 value
。
\.reshape(height, width)
重塑該矩陣。
\.partition(row, column)
十字分割矩陣為四份。
\.deleteRow(num, deleteCount = 1)
刪除該矩陣其中幾列 Row
,返回已處理的新矩陣。
\.deleteColumn(num, deleteCount = 1)
刪除該矩陣其中幾行 Column
,返回已處理的新矩陣。
\.putIn(\, row, column)
原地另外一個矩陣的取代該矩陣中的部分元素。
\.rotate()
原地旋轉該矩陣。
\.padding(value)
該矩陣的邊緣擴充 value
圈元素,返回已處理的新矩陣。
\.convo(\, stride = 1, initCallback, callback, callback2)
對該矩陣進行與卷積一樣的動作,但並不進行運算,保留要如何運算處理的方法在 callback
中。
\.convolution(\, stride = 1)
該矩陣與另外一個矩陣卷積,返回卷積結果的新矩陣。
MatrixSize
Constructor
new MatrixSize(height, width)