row
, rows
, cols
, ...pow
, det
, prodv
, ...A Matrix is a 2D array of components. The matrices are represented as :
Note this representation is compatible with the WebGL specification
Note mij
denotes the component of the matrix m
at i-th row and j-th column
Even thought that a matrix is stored in a column-major form, it interfaces with number[][]
so that you can
manipulate matrices in a row-major or column-major order as convenience.
m.rows = [[m00, m01, ...], [m10, m11, ...], ...];
m.cols = [[m00, m10, ...], [m01, m11, ...], ...];
m.row(i) // [mi0, mi1, ...];
Note row-major are stored from left to right.
Algebra of Matrix is the same as Vector algebra but with the usual matrix product instead of component by component product. Therefore you can take a look at the glossary of operations to have an exhaustive list of what's provided.
The size in bytes of each element in the array.
The ArrayBuffer instance referenced by the array.
The length in bytes of the array.
The offset in bytes of the array.
this
matrix as 2D array of columns [[m00, m10, ...], [m01, m11, ...], ...]
determinant of the matrix
dimension of the vector
The length of the array.
magnitude of the vector ||u||
squared magnitude of the vector u . u
this
matrix as 2D array of rows [[m00, m01, ...], [m10, m11, ...], ...]
trace of the matrix m00 + m11 + ...
Math.abs
of the components
usual addition between two vectors u + v
adjoint of this
matrix
native Javascript array containing object's content
assigns components to a vector
Math.ceil
of the components
clone this
vector
j-th column of this
matrix [m0j, m1j, ...]
linear combination of a scalar and a vector u + s * v
copies a source vector into this
component by component
Returns the this object after copying a section of the array identified by start and end to the same array starting at position target
If target is negative, it is treated as length+target where length is the length of the array.
If start is negative, it is treated as length+start. If end is negative, it is treated as length+end.
If not specified, length of the this object is used as its default value.
derivative between the two vectors with given step (u - v) / ds
distance distance between two vectors d2(u, v)
distance between two vectors given by norm 1 d1(u, v)
squared distance between two vectors given by norm 2 d2(u, v)**2
usual scalar division of the vector u / s
usual dot product of two vector u . v
Returns an array of key, value pairs for every entry in the array
true
if the distance 1 between vectors is 0
true
if the distance 2 between vectors is 0
Determines whether all the members of an array satisfy the specified test.
A function that accepts up to three arguments. The every method calls the callbackfn function for each element in array1 until the callbackfn returns false, or until the end of the array.
An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.
true
if the vectors have exactly the same coordinates
fills this
vector with a single scalar value s
Returns the elements of an array that meet the condition specified in a callback function.
A function that accepts up to three arguments. The filter method calls the callbackfn function one time for each element in the array.
An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.
Returns the value of the first element in the array where predicate is true, and undefined otherwise.
find calls predicate once for each element of the array, in ascending order, until it finds one where predicate returns true. If such an element is found, find immediately returns that element value. Otherwise, find returns undefined.
If provided, it will be used as the this value for each invocation of predicate. If it is not provided, undefined is used instead.
Returns the index of the first element in the array where predicate is true, and -1 otherwise.
find calls predicate once for each element of the array, in ascending order, until it finds one where predicate returns true. If such an element is found, findIndex immediately returns that element index. Otherwise, findIndex returns -1.
If provided, it will be used as the this value for each invocation of predicate. If it is not provided, undefined is used instead.
Math.floor
of the components
Performs the specified action for each element in an array.
A function that accepts up to three arguments. forEach calls the callbackfn function one time for each element in the array.
An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.
Frobenius norm of this
matrix mji
Determines whether an array includes a certain element, returning true or false as appropriate.
The element to search for.
The position in this array at which to begin searching for searchElement.
Returns the index of the first occurrence of a value in an array.
The value to locate in the array.
The array index at which to begin the search. If fromIndex is omitted, the search starts at index 0.
multiplicative inverse of a vector u ** -1
Adds all the elements of an array separated by the specified separator string.
A string used to separate one element of an array from the next in the resulting String. If omitted, the array elements are separated with a comma.
Returns an list of keys in the array
Returns the index of the last occurrence of a value in an array.
The value to locate in the array.
The array index at which to begin the search. If fromIndex is omitted, the search starts at index 0.
destination of interpolation
parameter of the interpolation.
Calls a defined callback function on each element of an array, and returns an array that contains the results.
A function that accepts up to three arguments. The map method calls the callbackfn function one time for each element in the array.
An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.
Math.max
between the components of the two vectors
Math.min
between the components of the two vectors
usual scalar multiplication of the vector s * u
usual opposite of the vector -u
true
if the vector has only exacts 0 as coordinates
normalizes a vector u / ||u||
exponentiation of this
matrix with positive and negative integer exponent m ** exp
.
product between two vectors u * v
Math.random
components by components
Calls the specified callback function for all the elements in an array. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function.
A function that accepts up to four arguments. The reduce method calls the callbackfn function one time for each element in the array.
Calls the specified callback function for all the elements in an array. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function.
A function that accepts up to four arguments. The reduce method calls the callbackfn function one time for each element in the array.
If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value.
Calls the specified callback function for all the elements in an array, in descending order. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function.
A function that accepts up to four arguments. The reduceRight method calls the callbackfn function one time for each element in the array.
Calls the specified callback function for all the elements in an array, in descending order. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function.
A function that accepts up to four arguments. The reduceRight method calls the callbackfn function one time for each element in the array.
If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value.
reset to an additive neutral element 0
reset to a multiplicative neutral element 1
Reverses the elements in an Array.
Math.round
of the components
i-th row of this
matrix [mi0, mi1, ...]
Sets a value or an array of values.
A typed or untyped array of values to set.
The index in the current array at which the values are to be written.
Returns a section of an array.
The beginning of the specified portion of the array.
The end of the specified portion of the array.
Determines whether the specified callback function returns true for any element of an array.
A function that accepts up to three arguments. The some method calls the callbackfn function for each element in array1 until the callbackfn returns true, or until the end of the array.
An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.
Sorts an array.
The name of the function used to determine the order of the elements. If omitted, the elements are sorted in ascending, ASCII character order.
string containing a summary of object's content
usual subtraction between two vectors u - v
Gets a new Float64Array view of the ArrayBuffer store for this array, referencing the elements at begin, inclusive, up to end, exclusive.
The index of the beginning of the array.
The index of the end of the array.
Converts a number to a string by using the current locale.
Returns a string representation of an array.
transpose of this
matrix
truncation of the components given a number of decimals to keep
Returns an list of values in the array
true
if the vector has a 0 norm 1
true
if the vector has a 0 norm 2
Generated using TypeDoc
Brief
Matrix extends Vector interface with matrix related features.
Main Features
row
,rows
,cols
, ...pow
,det
,prodv
, ...Getting started
A Matrix is a 2D array of components. The matrices are represented as :
Note this representation is compatible with the WebGL specification
Note
mij
denotes the component of the matrixm
at i-th row and j-th columnRows and columns
Even thought that a matrix is stored in a column-major form, it interfaces with
number[][]
so that you can manipulate matrices in a row-major or column-major order as convenience.Example
m.rows = [[m00, m01, ...], [m10, m11, ...], ...]; m.cols = [[m00, m10, ...], [m01, m11, ...], ...]; m.row(i) // [mi0, mi1, ...];
Note row-major are stored from left to right.
Algebra
Algebra of Matrix is the same as Vector algebra but with the usual matrix product instead of component by component product. Therefore you can take a look at the glossary of operations to have an exhaustive list of what's provided.