Skip to content

Latest commit

 

History

History
472 lines (316 loc) · 19.9 KB

AugmentedMatrix.md

File metadata and controls

472 lines (316 loc) · 19.9 KB

AugmentedMatrix

Contains the AugmentedMatrix class, which encodes augmented matrices.

Author: Novak / cszach@proton.me


AugmentedMatrix~AugmentedMatrix ⇐ Matrix

Encodes augmented matrices and their operations in Linear Algebra.

This class inherits class methods from Matrix with the exception that transpose, add, sub, and multiply cannot be used.

The size property has two more elements: left—which is the number of columns of the left matrix—and right—that of the right matrix.

Kind: inner class of AugmentedMatrix
Extends: Matrix
See: Matrix for common properties


new AugmentedMatrix(left, right)

Constructs an AugmentedMatrix instance, which encodes an augmented matrix. Input matrices are cloned and assumed to have equal number of rows.

Param Type Description
left Matrix The left part of the augmented matrix.
right Matrix The right part of the augmented matrix.

augmentedMatrix.leftMatrix ⇒ Matrix

Returns the left matrix of this augmented matrix.

Kind: instance property of AugmentedMatrix
Returns: Matrix - The left matrix


augmentedMatrix.rightMatrix ⇒ Matrix

Returns the right matrix of this augmented matrix.

Kind: instance property of AugmentedMatrix
Returns: Matrix - The right matrix


augmentedMatrix.size : object

Contains the dimensions of this matrix as an object in the form { rows, columns }.

Kind: instance property of AugmentedMatrix
Overrides: size


augmentedMatrix.numberOfEntries : number

The number of entries in this matrix.

Kind: instance property of AugmentedMatrix
Overrides: numberOfEntries


augmentedMatrix.elements : Array.<number>

Stores the elements of this matrix in row-major order.

Kind: instance property of AugmentedMatrix
Overrides: elements


augmentedMatrix.rows ⇒ Array.<Array>

Returns the rows of this matrix in an array.

Kind: instance property of AugmentedMatrix
Overrides: rows
Returns: Array.<Array> - The rows in this matrix


augmentedMatrix.columns ⇒ Array.<Array>

Returns the columns of this matrix in an array.

Kind: instance property of AugmentedMatrix
Overrides: columns
Returns: Array.<Array> - The columns in this matrix


augmentedMatrix.mainDiagonal ⇒ Array.<number>

Returns the main diagonal of this matrix.

Kind: instance property of AugmentedMatrix
Overrides: mainDiagonal
Returns: Array.<number> - The entries in the main diagonal of this matrix


augmentedMatrix.clone() ⇒ Matrix

Creates and returns a clone of this matrix instance.

Kind: instance method of AugmentedMatrix
Overrides: clone
Returns: Matrix - A clone of this instance


augmentedMatrix.equals(matrix) ⇒ boolean

Checks if this matrix and another matrix are equal.

Kind: instance method of AugmentedMatrix
Overrides: equals
Returns: boolean - true if the two matrices are equal, false otherwise

Param Type Description
matrix Matrix The matrix to compare this matrix to.

augmentedMatrix.entry(i, j) ⇒ number

Returns the entry in the specified row and column in this matrix.

Kind: instance method of AugmentedMatrix
Overrides: entry
Returns: number - The entry

Param Type Description
i number The row that contains the entry (1-indexed).
j number The column that contains the entry (1-indexed).

augmentedMatrix.row(r) ⇒ Array.<number>

Returns a row in this matrix as a JavaScript array.

Kind: instance method of AugmentedMatrix
Overrides: row
Returns: Array.<number> - The row's entries

Param Type Description
r number Row number (1-indexed).

augmentedMatrix.column(c) ⇒ Array.<number>

Returns a column in this matrix as a JavaScript array.

Kind: instance method of AugmentedMatrix
Overrides: column
Returns: Array.<number> - The column's entries

Param Type Description
c number Column number (1-indexed).

augmentedMatrix.leadingCoefficient(r) ⇒ number

Returns the leading coefficient of a row, or undefined if the row does not have a leading coefficient.

Kind: instance method of AugmentedMatrix
Overrides: leadingCoefficient
Returns: number - The leading coefficient of the row

Param Type Description
r number Row number (1-indexed).

augmentedMatrix.forEach(callback, thisArg)

Executes a function for each entry in this matrix. Entries are iterated in row-major order.

Kind: instance method of AugmentedMatrix
Overrides: forEach

Param Type Description
callback forEach The function to execute per iteration.
thisArg object The argument to use as this in the function.

augmentedMatrix.forEachRow(callback, thisArg)

Executes a function for each row in this matrix.

Kind: instance method of AugmentedMatrix
Overrides: forEachRow

Param Type Description
callback forEachRow The function to execute per iteration.
thisArg object The argument to use as this in the function.

augmentedMatrix.forEachColumn(callback, thisArg)

Executes a function for each column in this matrix.

Kind: instance method of AugmentedMatrix
Overrides: forEachColumn

Param Type Description
callback forEachColumn The function to execute per iteration.
thisArg object The argument to use as this in the function.

augmentedMatrix.interchargeRows(r, s) ⇒ Matrix

Intercharges two rows in this matrix.

Kind: instance method of AugmentedMatrix
Overrides: interchargeRows
Returns: Matrix - This matrix

Param Type Description
r number First row number (1-indexed).
s number Second row number (1-indexed).

augmentedMatrix.multiplyRowByScalar(r, k) ⇒ Matrix

Multiplies a row in this matrix by a nonzero scalar.

Kind: instance method of AugmentedMatrix
Overrides: multiplyRowByScalar
Returns: Matrix - This matrix

Param Type Description
r number Row number (1-indexed).
k number The nonzero scalar to multiply the row by.

augmentedMatrix.addRowTimesScalarToRow(r, s, k) ⇒ Matrix

Adds multiples of a row to another row in this matrix.

Kind: instance method of AugmentedMatrix
Overrides: addRowTimesScalarToRow
Returns: Matrix - This matrix

Param Type Default Description
r number The row that gets added (1-indexed position).
s number The row to multiply the scalar by and then add to row r (1-indexed position).
k number 1 The scalar to multiply row s by.

augmentedMatrix.transpose() ⇒ Matrix

Transposes this matrix in place.

Kind: instance method of AugmentedMatrix
Overrides: transpose
Returns: Matrix - This matrix
Todo

  • Optimize this method by removing the medium

augmentedMatrix.multiplyScalar(k) ⇒ Matrix

Multiplies this matrix by a scalar.

Kind: instance method of AugmentedMatrix
Overrides: multiplyScalar
Returns: Matrix - This matrix

Param Type Description
k number The scalar to multiply this matrix by.

augmentedMatrix.negate() ⇒ Matrix

Multiplies this matrix by -1.

Kind: instance method of AugmentedMatrix
Overrides: negate
Returns: Matrix - This matrix


augmentedMatrix.add(matrix) ⇒ Matrix

Adds a matrix to this matrix.

Kind: instance method of AugmentedMatrix
Overrides: add
Returns: Matrix - This matrix

Param Type Description
matrix Matrix The matrix to add to this matrix.

augmentedMatrix.sub(matrix) ⇒ Matrix

Subtracts a matrix from this matrix.

Kind: instance method of AugmentedMatrix
Overrides: sub
Returns: Matrix - This matrix

Param Type Description
matrix Matrix The matrix to subtract this matrix to.

augmentedMatrix.multiply(matrix) ⇒ Matrix

Multiplies this matrix by another matrix. If the input matrix is not compatible for multiplication, return this matrix unchanged.

Kind: instance method of AugmentedMatrix
Overrides: multiply
Returns: Matrix - This matrix

Param Type Description
matrix Matrix The matrix to post-multiply this matrix to.