On this page:
top
up

7.5Entrywise Operations and ArithmeticπŸ”— i

procedure

( matrix+ MN...)(Matrix Number )

procedure

( matrix- MN...)(Matrix Number )

procedure

( matrix* MN...)(Matrix Number )

Matrix addition, subtraction and products respectively.

For matrix addition and subtraction all matrices must have the same shape.

For matrix product the number of columns of one matrix must equal the number of rows in the following matrix.

Examples:
> (define A(matrix ([12]
[34])))
> (define B(matrix ([56]
[78])))
> (define C(matrix ([91011]
[121314])))
> (matrix+ AB)

(array #[#[6 8] #[10 12]])

> (matrix- AB)

(array #[#[-4 -4] #[-4 -4]])

> (matrix* AC)

(array #[#[33 36 39] #[75 82 89]])

procedure

( matrix-expt Mn)(Matrix Number )

Computes (matrix* M... ) with n arguments, but more efficiently. M must be a square-matrix? and n must be nonnegative.

Examples:
> (matrix* (matrix-expt (matrix [[11][10]])100)
(col-matrix [01]))

(array #[#[354224848179261915075] #[218922995834555169026]])

(array #[#[354224848179261915075] #[218922995834555169026]])

procedure

( matrix-scale Mz)(Matrix Number )

z:Number
Computes the matrix zM, a matrix of the same shape as M where each entry in M is multiplied with z.

Example:
> (matrix-scale (matrix [[12][34]])2)

(array #[#[2 4] #[6 8]])

procedure

( matrix-kronecker MN...)(Matrix Number )

Wikipedia: Kronecker product Computes the Kronecker product.

Example:
> (matrix-kronecker (matrix [[12][34][56]])
(matrix [[78][910]]))

(mutable-array

#[#[7 8 14 16]

#[9 10 18 20]

#[21 24 28 32]

#[27 30 36 40]

#[35 40 42 48]

#[45 50 54 60]])

Added in version 1.2 of package math-lib.

procedure

( matrix-map fM)(Matrix R)

f:(A-> R)
M:(Matrix A)
(matrix-map fM0M1N...)(Matrix R)
f:(ABTs... -> R)
M0:(Matrix A)
M1:(Matrix B)
N:(Matrix Ts)
Like array-map , but requires at least one matrix argument and never broadcasts.

Examples:
> (matrix-map sqr (matrix [[12][34]]))

(array #[#[1 4] #[9 16]])

> (matrix-map + (matrix [[12][34]])
(matrix [[56][78]]))

(array #[#[6 8] #[10 12]])

procedure

( matrix-sum Ms)(Matrix Number )

Like (apply matrix+ Ms), but raises a runtime error when Ms is empty.

procedure

( matrix= M0M1N...)Boolean

M0:(Matrix Number )
M1:(Matrix Number )
Returns #t when its arguments are the same size and are equal entrywise.

See matrix-relative-error and matrix-absolute-error for equality testing that is tolerant to floating-point error.

top
up

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /