Matrix

slash.matrix.Matrix
See theMatrix companion object
opaque class Matrix[M <: Int, N <: Int](val values: DoubleArray)(using x$2: ValueOf[M], x$3: ValueOf[N])

Attributes

Companion
object
Source
Matrix.scala
Graph
Supertypes
class Object
trait Matchable
class Any

Members list

Type members

Types

opaque type MN

Attributes

Source
Matrix.scala

Value members

Concrete methods

inline def *(s: Double): Matrix[M, N]

Multiply a matrix by a scalar, C = s*A

Multiply a matrix by a scalar, C = s*A

Value parameters

s

scalar

Attributes

Returns

s*A

Source
Matrix.scala
def *[V <: Int](thatMatrix: Matrix[N, V])(using ValueOf[V]): Matrix[M, V]

Attributes

Source
Matrix.scala
inline def +(B: Matrix[M, N]): Matrix[M, N]

Attributes

Source
Matrix.scala
inline def +=(B: Matrix[M, N]): Matrix[M, N]

Attributes

Source
Matrix.scala
inline def +=(s: Double): Matrix[M, N]

Attributes

Source
Matrix.scala
inline def -(B: Matrix[M, N]): Matrix[M, N]

Attributes

Source
Matrix.scala
inline def -=(B: Matrix[M, N]): Matrix[M, N]

Attributes

Source
Matrix.scala
def add(B: Matrix[M, N]): Matrix[M, N]

A = A + B

A = A + B

Value parameters

B

another matrix

Attributes

Returns

A + B

Source
Matrix.scala
inline def apply(r: Int, c: Int): Double

Get a single element.

Get a single element.

Value parameters

c

Column index.

r

Row index.

Attributes

Returns

A(i,j)

Source
Matrix.scala

Attributes

Source
Matrix.scala
def asVector: Vec[M * N]
Extension method from slash.matrix

Attributes

Source
package.scala

Get column dimension.

Get column dimension.

Attributes

Returns

n, the number of columns.

Source
Matrix.scala

Make a one-dimensional column packed copy of the internal array.

Make a one-dimensional column packed copy of the internal array.

Attributes

Returns

Matrix elements packed in a one-dimensional array by columns.

Source
Matrix.scala
inline def columnVector(column: Int): Vec[M]

Value parameters

column

the column of the matrix to return as a vector.

Attributes

Returns

a copy of the specified matrix column in Vec[M] format.

Source
Matrix.scala

Attributes

Returns

a copy of this matrix in the form of an array of column vectors.

Source
Matrix.scala
def cond: Double
Extension method from slash.matrix

Matrix condition (2 norm)

Matrix condition (2 norm)

Attributes

Returns

ratio of largest to smallest singular value.

Source
package.scala
def copy: Matrix[M, N]

Make a deep copy of a matrix

Make a deep copy of a matrix

Attributes

Source
Matrix.scala
inline def copyAsVector[MN <: Int](using (MN == (M * N)) =:= true): Vec[MN]
Extension method from slash.matrix

Attributes

Source
package.scala
inline def copyValues: DoubleArray

Copy the internal two-dimensional array.

Copy the internal two-dimensional array.

Attributes

Returns

Two-dimensional array copy of matrix elements.

Source
Matrix.scala
Extension method from slash.matrix

Matrix determinant https://en.wikipedia.org/wiki/Determinant the determinant is nonzero if and only if the matrix is invertible and the linear map represented by the matrix is an isomorphism

Matrix determinant https://en.wikipedia.org/wiki/Determinant the determinant is nonzero if and only if the matrix is invertible and the linear map represented by the matrix is an isomorphism

Attributes

Returns

the determinant of this matrix.

Source
package.scala
def dim: String

Attributes

Source
Matrix.scala
def inverse: Matrix[MN, MN]
Extension method from slash.matrix

https://en.wikipedia.org/wiki/Invertible_matrix

https://en.wikipedia.org/wiki/Invertible_matrix

Computes the inverse of Square Matrix m.

Attributes

Returns

the inverse of matrix m

Throws
RuntimeException

"Matrix is singular." )

Source
package.scala
def leftInverse: Matrix[N, M]
Extension method from slash.matrix

Solve b * m = I[N, N] m = Matrix[M, N] with M > N and Rank = N, has a left inverse b = Matrix[N, M] such that b * m = I[N, N]

Solve b * m = I[N, N] m = Matrix[M, N] with M > N and Rank = N, has a left inverse b = Matrix[N, M] such that b * m = I[N, N]

Attributes

Returns

b = Matrix[N, M] the Left Inverse of Matrix m.

Source
package.scala
inline def lindex(r: Int, c: Int): Int

Attributes

Source
Matrix.scala
def norm1: Double

One norm

One norm

Attributes

Returns

maximum column sum.

Source
Matrix.scala
def norm2: Double
Extension method from slash.matrix

Two norm

Two norm

Attributes

Returns

maximum singular value.

Source
package.scala

Frobenius norm

Frobenius norm

Attributes

Returns

sqrt of sum of squares of all elements.

Source
Matrix.scala

Infinity norm

Infinity norm

Attributes

Returns

maximum row sum.

Source
Matrix.scala
def rank: Int
Extension method from slash.matrix

Matrix rank

Matrix rank

Attributes

Returns

effective numerical rank, obtained from SV.

Source
package.scala
def rightInverse(using ValueOf[Min[M, M]]): Matrix[N, M]
Extension method from slash.matrix

m = Matrix[M, N] with M < N and Rank = M, has a right inverse b = Matrix[N, M] such that m * b = Identity[M, M]

m = Matrix[M, N] with M < N and Rank = M, has a right inverse b = Matrix[N, M] such that m * b = Identity[M, M]

Attributes

Returns

the Right Inverse of Matrix a.

Source
package.scala

Get row dimension.

Get row dimension.

Attributes

Returns

m, the number of rows.

Source
Matrix.scala

Make a one-dimensional row packed copy of the internal array.

Make a one-dimensional row packed copy of the internal array.

Attributes

Returns

Matrix elements packed in a one-dimensional array by rows.

Source
Matrix.scala
inline def rowVector(row: Int): Vec[N]

Value parameters

row

the row of the matrix to return as a vector.

Attributes

Returns

a copy of the specified matrix row in Vec[N] format.

Source
Matrix.scala
def rowVectors: NArray[Vec[N]]

Attributes

Returns

a copy of this matrix in the form of an array of row vectors.

Source
Matrix.scala
def setMatrix[M1 <: Int, N1 <: Int](r0: Int, c0: Int, thatMatrix: Matrix[M1, N1])(using ValueOf[M1], ValueOf[N1]): Unit

Set a submatrix.

Set a submatrix.

Type parameters

M1

Row dimension of thatMatrix

N1

Column dimension of thatMatrix

Value parameters

ValueOf[M1]

Row dimension of thatMatrix

ValueOf[N1]

Column dimension of thatMatrix

c0

Initial column index

r0

Initial row index

thatMatrix

a metrix of lesser or equal dimension to this matrix

Attributes

Source
Matrix.scala
def setMatrix[M1 <: Int, N1 <: Int](rowIndices: IntArray, columnIndices: IntArray, thatMatrix: Matrix[M1, N1]): Unit

Set a submatrix.

Set a submatrix.

Value parameters

columnIndices

Array of column indices.

rowIndices

Array of row indices.

thatMatrix

A(r(:),c(:))

Attributes

Throws
ArrayIndexOutOfBoundsException

Submatrix indices

Source
Matrix.scala
def setMatrix[M1 <: Int, N1 <: Int](rowIndices: IntArray, c0: Int, thatMatrix: Matrix[M1, N1])(using ValueOf[M1], ValueOf[N1]): Unit

Set a submatrix.

Set a submatrix.

Value parameters

c0

Initial column index

c1

Final column index

rowIndices

Array of row indices.

thatMatrix

A(r(:),j0:j1)

Attributes

Throws
ArrayIndexOutOfBoundsException

Submatrix indices

Source
Matrix.scala
def setMatrix[M1 <: Int, N1 <: Int](r0: Int, columnIndices: IntArray, thatMatrix: Matrix[M1, N1])(using ValueOf[M1], ValueOf[N1]): Unit

Set a submatrix.

Set a submatrix.

Value parameters

columnIndices

Array of column indices.

r0

Initial row index

r1

Final row index

thatMatrix

A(i0:i1,c(:))

Attributes

Throws
ArrayIndexOutOfBoundsException

Submatrix indices

Source
Matrix.scala
def solve[V <: Int](b: Matrix[MN, V])(using ValueOf[V]): Matrix[MN, V]
Extension method from slash.matrix

Solve a * x = b

Solve a * x = b

Value parameters

b

right hand side

Attributes

Returns

x = Matrix[MN, V] such that a * x = b

Source
package.scala
def solve[V <: Int](b: Matrix[M, V])(using ValueOf[V]): Matrix[N, V]
Extension method from slash.matrix

Solve a * x = b

Solve a * x = b

Value parameters

b

right hand side

Attributes

Returns

least squares solution x = Matrix[M, V] such that a * x = b

Source
package.scala
def subMatrix[M1 <: Int, N1 <: Int](r0: Int, c0: Int)(using ValueOf[M1], ValueOf[N1]): Matrix[M1, N1]

Get a submatrix.

Get a submatrix.

Type parameters

M1

the number of rows

N1

the number of columns

Value parameters

c0

Initial column index

r0

Initial row index

Attributes

Returns

A(i0:i1,j0:j1)

Throws
ArrayIndexOutOfBoundsException

Submatrix indices

Source
Matrix.scala
def subMatrix[M1 <: Int, N1 <: Int](rowIndices: IntArray, columnIndices: IntArray)(using ValueOf[M1], ValueOf[N1]): Matrix[M1, N1]

Get a submatrix.

Get a submatrix.

Value parameters

columnIndices

Array of column indices.

rowIndices

Array of row indices.

Attributes

Returns

A(r(:),c(:))

Throws
ArrayIndexOutOfBoundsException

Submatrix indices

Source
Matrix.scala
def subMatrix[M1 <: Int, N1 <: Int](r0: Int, columnIndices: IntArray)(using ValueOf[M1], ValueOf[N1]): Matrix[M1, N1]

Get a submatrix.

Get a submatrix.

Value parameters

columnIndices

Array of column indices.

r0

Initial row index

Attributes

Returns

A(i0:i1,c(:))

Throws
ArrayIndexOutOfBoundsException

Submatrix indices

Source
Matrix.scala
def subMatrix[M1 <: Int, N1 <: Int](rowIndices: IntArray, c0: Int)(using ValueOf[M1], ValueOf[N1]): Matrix[M1, N1]

Get a submatrix.

Get a submatrix.

Value parameters

c0

Initial column index

c1

Final column index

r

Array of row indices.

Attributes

Returns

A(r(:),j0:j1)

Throws
ArrayIndexOutOfBoundsException

Submatrix indices

Source
Matrix.scala
def subtract(B: Matrix[M, N]): Matrix[M, N]

A = A - B

A = A - B

Value parameters

B

another matrix

Attributes

Returns

A - B

Source
Matrix.scala
def times(s: Double): Matrix[M, N]

Multiply a matrix by a scalar in place, A = s*A

Multiply a matrix by a scalar in place, A = s*A

Value parameters

s

scalar

Attributes

Returns

replace A by s*A

Source
Matrix.scala
def times[V <: Int](b: Matrix[N, V])(using ValueOf[V]): Matrix[M, V]

Linear algebraic matrix multiplication, A * B

Linear algebraic matrix multiplication, A * B

Value parameters

b

another matrix

Attributes

Returns

Matrix product, A * B

Throws
IllegalArgumentException

Matrix inner dimensions must agree.

Source
Matrix.scala
override def toString: String

Returns a string representation of the object.

Returns a string representation of the object.

The default representation is platform dependent.

Attributes

Returns

a string representation of the object.

Definition Classes
Any
Source
Matrix.scala
def trace: Double

Matrix trace.

Matrix trace.

Attributes

Returns

sum of the diagonal elements.

Source
Matrix.scala
def transpose: Matrix[N, M]

Matrix transpose.

Matrix transpose.

Attributes

Returns

Máµ€

Source
Matrix.scala
inline def unary_-: Matrix[M, N]

Unary minus

Unary minus

Attributes

Returns

-A

Source
Matrix.scala
inline def update(r: Int, c: Int, value: Double): Unit

Set a single element.

Set a single element.

Value parameters

c

Column index.

r

Row index.

value

values(i,j).

Attributes

Source
Matrix.scala

Concrete fields

val MxN: Int

Attributes

Source
Matrix.scala
val columns: Int

Attributes

Source
Matrix.scala
val rows: Int

Attributes

Source
Matrix.scala

Attributes

Source
Matrix.scala