Matrix Operations
This page lists only a selection of commonly used matrix operations provided by FsAlg.
Please refer to API Reference for a full list of supported operations.
The FsAlg.Generic.Matrix module provides functionality similar to the F# Collecitons.Array2D module, for creating and manipulating matrices.
Creating Matrices
1:
2:
3:
4:
5:
|
open FsAlg.Generic
let m1 = matrix [[1.; 2.]; [3.; 4.]]
let m2 = Matrix.create 2 2 1.
let m3 = Matrix.init 2 2 (fun i j -> exp (float (i + j)))
|
val m1 : Matrix<float> = Matrix [[1.0; 1.0]
[1.0; 1.0]]
val m2 : Matrix<float> = Matrix [[1.0; 1.0]
[1.0; 1.0]]
val m3 : Matrix<float> = Matrix [[1.0; 2.718281828]
[2.718281828; 7.389056099]]
|
Basic Operations
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
|
let m4 = m1 + m2 // Matrix addition
let m5 = m1 - m2 // Matrix subtraction
let m6 = m1 * m2 // Matrix product
let m7 = m1 .* m2 // Matrix element-wise (Hadamard) product
let m8 = m1 ./ m2 // Matrix element-wise (Hadamard) division
let v = vector [1.; 2.]
let m9 = m1 * v // Matrix-vector product
let m10 = v * m1 // Vector-matrix product
let m11 = m1 + 2. // Add scalar to matrix
let m12 = m1 - 2. // Subtract scalar from matrix
let m13 = 2. - m1 // Subtract each element of matrix from scalar
let m14 = m1 * 2. // Matrix-scalar multiplication
let m15 = m1 / 2. // Matrix-scalar division
let m16 = 2. / m1 // Divides each element of matrix by scalar
let m17 = -m1 // Unary negation
|
val m4 : Matrix<float> = Matrix [[2.0; 3.0]
[4.0; 5.0]]
val m5 : Matrix<float> = Matrix [[0.0; 1.0]
[2.0; 3.0]]
val m6 : Matrix<float> = Matrix [[3.0; 3.0]
[7.0; 7.0]]
val m7 : Matrix<float> = Matrix [[1.0; 2.0]
[3.0; 4.0]]
val m8 : Matrix<float> = Matrix [[1.0; 2.0]
[3.0; 4.0]]
val v : Vector<float> = Vector [|1.0; 2.0|]
val m9 : Vector<float> = Vector [|5.0; 11.0|]
val m10 : Vector<float> = Vector [|7.0; 10.0|]
val m11 : Matrix<float> = Matrix [[3.0; 4.0]
[5.0; 6.0]]
val m12 : Matrix<float> = Matrix [[-1.0; 0.0]
[1.0; 2.0]]
val m13 : Matrix<float> = Matrix [[1.0; 0.0]
[-1.0; -2.0]]
val m14 : Matrix<float> = Matrix [[2.0; 4.0]
[6.0; 8.0]]
val m15 : Matrix<float> = Matrix [[0.5; 1.0]
[1.5; 2.0]]
val m16 : Matrix<float> = Matrix [[2.0; 1.0]
[0.6666666667; 0.5]]
val m17 : Matrix<float> = Matrix [[-1.0; -2.0]
[-3.0; -4.0]]
|
Matrix Operations
1:
2:
3:
4:
5:
6:
|
let m1det = Matrix.det m1 // Determinant
let m1inv = Matrix.inverse m1 // Inverse
let m1eig = Matrix.eigenvalues m1 // Eigenvalues
let m1t = Matrix.transpose m1 // Transpose
let m1tr = Matrix.trace m1 // Trace
let m1dia = Matrix.diagonal m1 // Diagonal
|
val m1det : float = -2.0
val m1inv : Matrix<float> = Matrix [[-2.0; 1.0]
[1.5; -0.5]]
val m1eig : Vector<float> = Vector [|5.372281312; -0.3722813117|]
val m1t : Matrix<float> = Matrix [[1.0; 3.0]
[2.0; 4.0]]
val m1tr : float = 5.0
val m1dia : Vector<float> = Vector [|1.0; 4.0|]
|
Solving Systems of Linear Equations
We can solve a system of linear equations represented in matrix form \(\mathbf{A} \mathbf{x} = \mathbf{b} \;,\) which has solution \(\mathbf{x} = \mathbf{A}^{-1} \mathbf{b}\;\).
For example, the system
\[ \begin{eqnarray*}
3x + 2y - z &=& 1\\
2x - 2y +4z &=& -2\\
-x + 0.5y -z &=& 0\\
\end{eqnarray*}\]
can be represented as
\[ \begin{bmatrix}
3 & 2 & -1\\
2 & -2 & 4\\
-1& 0.5 &-1\\
\end{bmatrix} \begin{bmatrix}
x\\
y\\
z\\
\end{bmatrix} = \begin{bmatrix}
1\\
-2\\
0\\
\end{bmatrix}\]
and has solution
\[ \begin{eqnarray*}
x &=& 1\\
y &=& -2\\
z &=& -2\\
\end{eqnarray*}\; .\]
1:
2:
3:
4:
|
let A = matrix [[3.; 2.; -1.]; [2.; -2.; 4.]; [-1.; 0.5; -1.]]
let b = vector [1.; -2.; 0.]
let x = Matrix.solve A b
|
val A : Matrix<float> = Matrix [[3.0; 2.0; -1.0]
[2.0; -2.0; 4.0]
[-1.0; 0.5; -1.0]]
val b : Vector<float> = Vector [|1.0; -2.0; 0.0|]
val x : Vector<float> = Vector [|1.0; -2.0; -2.0|]
|
Matrix Decompositions
1:
2:
|
let lu, piv, togg = Matrix.decomposeLU m1 // LU decomposition
let q, r = Matrix.decomposeQR m1 // QR decomposition
|
val togg : float = -1.0
val piv : int [] = [|1; 0|]
val lu : Matrix<float> = Matrix [[3.0; 4.0]
[0.3333333333; 0.6666666667]]
val r : Matrix<float> = Matrix [[3.16227766; 4.427188724]
[4.440892099e-16; 0.632455532]]
val q : Matrix<float> = Matrix [[0.316227766; 0.9486832981]
[0.9486832981; -0.316227766]]
|
Accessing Elements & Conversions
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
|
let el1 = m1.[0, 0] // Element at 0, 0
let el2 = Matrix.get m1 1 1 // Element at 1, 1
let sl1 = m1.[0..1, 1..] // Slice, between rows 0 and 1, columns 1 and beyond
let sl2 = m1.[*, 0..1] // Slice, all rows, between columns 0 and 1
let sl3 = m1.[0, *] // Return row 0
let sl4 = Matrix.row 0 m1 // Return row 0
let sl5 = m1.[*, 1] // Return column 1
let sl6 = Matrix.col 1 m1 // Return column 1
let sl7 = Matrix.toRows m1 // Return rows as a sequence
let m18 = Matrix.ofRows [vector [1.;2.]; vector [3.;4.]] // Create matrix from row vectors
let sl8 = Matrix.toCols m1 // Return columns as a sequence
let m19 = Matrix.ofCols [vector [1.;2.]; vector [3.;4.]] // Create matrix from column vectors
let m20 = Matrix.ofSeqSeq [[1.; 2.]; [3.; 4.]] // Convert sequence of sequences to matrix
let m21 = matrix [[1.; 2.]; [3.; 4.]] // Same with above, supports lists,
let m22 = matrix [|[|1.; 2.|]; [|3.; 4.|]|] // arrays,
let m23 = matrix (seq {yield seq {yield 1.}}) // and sequences.
let aa1 = Matrix.toArrayArray m1 // Convert matrix to jagged array
let aa2 = Matrix.toArray2D m1 // Convert matrix to 2d array
let aa3 = Matrix.toArray m1 // Convert matrix to 1d array, scanning left to right, top to bottom
let ma3 = Matrix.ofArray 2 aa3 // Convert 1d array to matrix, populating two rows
let vv1 = Matrix.toVector m1 // Convert matrix to vector, scanning left to right, top to bottom
let mv1 = Matrix.ofVector 2 vv1 // Convert vector to matrix, populating two rows
|
val el1 : float = 1.0
val el2 : float = 4.0
val sl1 : Matrix<float> = Matrix [[2.0]
[4.0]]
val sl2 : Matrix<float> = Matrix [[1.0; 2.0]
[3.0; 4.0]]
val sl3 : Matrix<float> = Matrix [[1.0; 2.0]]
val sl4 : Matrix<float> = Matrix [[1.0; 2.0]]
val sl5 : Matrix<float> = Matrix [[2.0]
[4.0]]
val sl6 : Matrix<float> = Matrix [[2.0]
[4.0]]
val sl7 : seq<Matrix<float>>
val m18 : Matrix<float> = Matrix [[1.0; 2.0]
[3.0; 4.0]]
val sl8 : seq<Matrix<float>>
val m19 : Matrix<float> = Matrix [[1.0; 3.0]
[2.0; 4.0]]
val m20 : Matrix<float> = Matrix [[1.0; 2.0]
[3.0; 4.0]]
val m21 : Matrix<float> = Matrix [[1.0; 2.0]
[3.0; 4.0]]
val m22 : Matrix<float> = Matrix [[1.0; 2.0]
[3.0; 4.0]]
val m23 : Matrix<float> = Matrix [[1.0]]
val aa1 : float [] [] = [|[|1.0; 2.0|]; [|3.0; 4.0|]|]
val aa2 : float [,] = [[1.0; 1.0]
[1.0; 1.0]]
val aa3 : float [] = [|1.0; 2.0; 3.0; 4.0|]
val ma3 : Matrix<float> = Matrix [[1.0; 2.0]
[3.0; 4.0]]
val vv1 : Vector<float> = Vector [|1.0; 2.0; 3.0; 4.0|]
val mv1 : Matrix<float> = Matrix [[1.0; 2.0]
[3.0; 4.0]]
|
Mutating/Replacing Elements
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
|
m1.[0, 0] <- 4. // Mutate an element
Matrix.replace (fun x -> x + 2.) m1 // Replace by mapping a function, mutating in place
Matrix.replacei (fun i j x -> x + float (i * j)) m1 // Replace in place, with index
Matrix.replace2 (fun x y -> x - y) m1 m2 // Replace m1 in place, using a function of m1 and m2
Matrix.replacei2 (fun i j x y -> x - y + float (i * j)) m1 m2 // Replace m1 in place, with index
Matrix.replaceWith m1 m2 // Replace elements of m1 with m2, mutating in place
Matrix.appendRow v m1 // Append a vector to a matrix as a new row
Matrix.appendCol v m1 // Append a vector to a matrix as a new column
Matrix.prependRow v m1 // Prepend a vector to a matrix as a new row
Matrix.prependCol v m1 // Prepend a vector to a matrix as a new column
|
Mathematica and MATLAB Strings
You can generate string representations of matrices that you can copy and paste into Mathematica notebooks or MATLAB.
1:
2:
|
let s1 = m1.ToMathematicaString()
let s2 = m2.ToMatlabString()
|
val s1 : string = "{{1.00, 2.00}, {3.00, 4.00}}"
val s2 : string = "[1.00 1.00; 1.00 1.00]"
|
Other Operations
The following are just a selection of other operations. Please refer to API Reference for a full list of supported operations.
1:
2:
3:
|
let l1 = Matrix.rows m1 // Number of rows
let l2 = Matrix.cols m1 // Number of columns
let m24 = Matrix.map (fun x -> sin x) m1 // Map function to matrix
|
val l1 : int = 2
val l2 : int = 2
val m24 : Matrix<float> = Matrix [[0.8414709848; 0.8414709848]
[0.8414709848; 0.8414709848]]
|
namespace FsAlg
namespace FsAlg.Generic
val m1 : Matrix<float>
Full name: Matrix-operations.m1
val matrix : m:seq<seq<'T>> -> Matrix<'T> (requires member get_Zero and member get_One and member ( + ) and member ( - ) and member ( * ) and member ( / ) and member ( ~- ) and member Abs and member Pow and member Sqrt and member op_Explicit and comparison)
Full name: FsAlg.Generic.Ops.matrix
val m2 : Matrix<float>
Full name: Matrix-operations.m2
Multiple items
union case Matrix.Matrix: 'T [,] -> Matrix<'T>
--------------------
module Matrix
from FsAlg.Generic
--------------------
type Matrix<'T (requires member get_Zero and member get_One and member ( + ) and member ( - ) and member ( * ) and member ( / ) and member ( ~- ) and member Abs and member Pow and member Sqrt and member op_Explicit and comparison)> =
| ZeroMatrix of 'T
| Matrix of 'T [,]
member Copy : unit -> Matrix<'T>
member GetDeterminant : unit -> 'T
member GetDiagonal : unit -> 'T []
member GetEigenvalues : unit -> 'T []
member GetEnumerator : unit -> IEnumerator<'T>
member GetInverse : unit -> Matrix<'T>
member GetLUDecomposition : unit -> Matrix<'T> * int [] * 'T
member GetQRDecomposition : unit -> Matrix<'T> * Matrix<'T>
member GetSlice : rowStart:int option * rowFinish:int option * col:int -> Matrix<'T>
member GetSlice : row:int * colStart:int option * colFinish:int option -> Matrix<'T>
member GetSlice : rowStart:int option * rowFinish:int option * colStart:int option * colFinish:int option -> Matrix<'T>
member GetTrace : unit -> 'T
member GetTranspose : unit -> Matrix<'T>
member ToArray : unit -> 'T [] []
member ToArray2D : unit -> 'T [,]
member ToMathematicaString : unit -> string
member ToMatlabString : unit -> string
member ToSeq : unit -> seq<'T>
member Cols : int
member Item : i:int * j:int -> 'T with get
member Rows : int
member Item : i:int * j:int -> 'T with set
static member Zero : Matrix<'T>
static member ( + ) : a:'T * b:Matrix<'T> -> Matrix<'T>
static member ( + ) : a:Matrix<'T> * b:'T -> Matrix<'T>
static member ( + ) : a:Matrix<'T> * b:Matrix<'T> -> Matrix<'T>
static member ( / ) : a:'T * b:Matrix<'T> -> Matrix<'T>
static member ( / ) : a:Matrix<'T> * b:'T -> Matrix<'T>
static member ( ./ ) : a:Matrix<'T> * b:Matrix<'T> -> Matrix<'T>
static member ( .* ) : a:Matrix<'T> * b:Matrix<'T> -> Matrix<'T>
static member op_Explicit : m:Matrix<'T> -> float [,]
static member ( * ) : a:'T * b:Matrix<'T> -> Matrix<'T>
static member ( * ) : a:Matrix<'T> * b:'T -> Matrix<'T>
static member ( * ) : a:Vector<'T> * b:Matrix<'T> -> Vector<'T>
static member ( * ) : a:Matrix<'T> * b:Vector<'T> -> Vector<'T>
static member ( * ) : a:Matrix<'T> * b:Matrix<'T> -> Matrix<'T>
static member ( - ) : a:'T * b:Matrix<'T> -> Matrix<'T>
static member ( - ) : a:Matrix<'T> * b:'T -> Matrix<'T>
static member ( - ) : a:Matrix<'T> * b:Matrix<'T> -> Matrix<'T>
static member ( ~- ) : a:Matrix<'T> -> Matrix<'T>
Full name: FsAlg.Generic.Matrix<_>
val create : m:int -> n:int -> v:'T -> Matrix<'T> (requires member get_Zero and member get_One and member ( + ) and member ( - ) and member ( * ) and member ( / ) and member ( ~- ) and member Abs and member Pow and member Sqrt and member op_Explicit and comparison)
Full name: FsAlg.Generic.Matrix.create
val m3 : Matrix<float>
Full name: Matrix-operations.m3
val init : m:int -> n:int -> f:(int -> int -> 'T) -> Matrix<'T> (requires member get_Zero and member get_One and member ( + ) and member ( - ) and member ( * ) and member ( / ) and member ( ~- ) and member Abs and member Pow and member Sqrt and member op_Explicit and comparison)
Full name: FsAlg.Generic.Matrix.init
val i : int
val j : int
val exp : value:'T -> 'T (requires member Exp)
Full name: Microsoft.FSharp.Core.Operators.exp
Multiple items
val float : value:'T -> float (requires member op_Explicit)
Full name: Microsoft.FSharp.Core.Operators.float
--------------------
type float = System.Double
Full name: Microsoft.FSharp.Core.float
--------------------
type float<'Measure> = float
Full name: Microsoft.FSharp.Core.float<_>
val printf : format:Printf.TextWriterFormat<'T> -> 'T
Full name: Microsoft.FSharp.Core.ExtraTopLevelOperators.printf
val m4 : Matrix<float>
Full name: Matrix-operations.m4
val m5 : Matrix<float>
Full name: Matrix-operations.m5
val m6 : Matrix<float>
Full name: Matrix-operations.m6
val m7 : Matrix<float>
Full name: Matrix-operations.m7
val m8 : Matrix<float>
Full name: Matrix-operations.m8
val v : Vector<float>
Full name: Matrix-operations.v
val vector : v:seq<'T> -> Vector<'T> (requires member get_Zero and member get_One and member ( + ) and member ( - ) and member ( * ) and member ( / ) and member ( ~- ) and member Abs and member Pow and member Sqrt and member op_Explicit and comparison)
Full name: FsAlg.Generic.Ops.vector
val m9 : Vector<float>
Full name: Matrix-operations.m9
val m10 : Vector<float>
Full name: Matrix-operations.m10
val m11 : Matrix<float>
Full name: Matrix-operations.m11
val m12 : Matrix<float>
Full name: Matrix-operations.m12
val m13 : Matrix<float>
Full name: Matrix-operations.m13
val m14 : Matrix<float>
Full name: Matrix-operations.m14
val m15 : Matrix<float>
Full name: Matrix-operations.m15
val m16 : Matrix<float>
Full name: Matrix-operations.m16
val m17 : Matrix<float>
Full name: Matrix-operations.m17
val m1det : float
Full name: Matrix-operations.m1det
val det : m:Matrix<'T> -> 'T (requires member get_Zero and member get_One and member ( + ) and member ( - ) and member ( * ) and member ( / ) and member ( ~- ) and member Abs and member Pow and member Sqrt and member op_Explicit and comparison)
Full name: FsAlg.Generic.Matrix.det
val m1inv : Matrix<float>
Full name: Matrix-operations.m1inv
val inverse : m:Matrix<'T> -> Matrix<'T> (requires member get_Zero and member get_One and member ( + ) and member ( - ) and member ( * ) and member ( / ) and member ( ~- ) and member Abs and member Pow and member Sqrt and member op_Explicit and comparison)
Full name: FsAlg.Generic.Matrix.inverse
val m1eig : Vector<float>
Full name: Matrix-operations.m1eig
val eigenvalues : m:Matrix<'T> -> Vector<'T> (requires member get_Zero and member get_One and member ( + ) and member ( - ) and member ( * ) and member ( / ) and member ( ~- ) and member Abs and member Pow and member Sqrt and member op_Explicit and comparison)
Full name: FsAlg.Generic.Matrix.eigenvalues
val m1t : Matrix<float>
Full name: Matrix-operations.m1t
val transpose : m:Matrix<'T> -> Matrix<'T> (requires member get_Zero and member get_One and member ( + ) and member ( - ) and member ( * ) and member ( / ) and member ( ~- ) and member Abs and member Pow and member Sqrt and member op_Explicit and comparison)
Full name: FsAlg.Generic.Matrix.transpose
val m1tr : float
Full name: Matrix-operations.m1tr
val trace : m:Matrix<'T> -> 'T (requires member get_Zero and member get_One and member ( + ) and member ( - ) and member ( * ) and member ( / ) and member ( ~- ) and member Abs and member Pow and member Sqrt and member op_Explicit and comparison)
Full name: FsAlg.Generic.Matrix.trace
val m1dia : Vector<float>
Full name: Matrix-operations.m1dia
val diagonal : m:Matrix<'T> -> Vector<'T> (requires member get_Zero and member get_One and member ( + ) and member ( - ) and member ( * ) and member ( / ) and member ( ~- ) and member Abs and member Pow and member Sqrt and member op_Explicit and comparison)
Full name: FsAlg.Generic.Matrix.diagonal
val A : Matrix<float>
Full name: Matrix-operations.A
val b : Vector<float>
Full name: Matrix-operations.b
val x : Vector<float>
Full name: Matrix-operations.x
val solve : a:Matrix<'T> -> b:Vector<'T> -> Vector<'T> (requires member get_Zero and member get_One and member ( + ) and member ( - ) and member ( * ) and member ( / ) and member ( ~- ) and member Abs and member Pow and member Sqrt and member op_Explicit and comparison)
Full name: FsAlg.Generic.Matrix.solve
val lu : Matrix<float>
Full name: Matrix-operations.lu
val piv : int []
Full name: Matrix-operations.piv
val togg : float
Full name: Matrix-operations.togg
val decomposeLU : m:Matrix<'T> -> Matrix<'T> * int [] * 'T (requires member get_Zero and member get_One and member ( + ) and member ( - ) and member ( * ) and member ( / ) and member ( ~- ) and member Abs and member Pow and member Sqrt and member op_Explicit and comparison)
Full name: FsAlg.Generic.Matrix.decomposeLU
val q : Matrix<float>
Full name: Matrix-operations.q
val r : Matrix<float>
Full name: Matrix-operations.r
val decomposeQR : m:Matrix<'T> -> Matrix<'T> * Matrix<'T> (requires member get_Zero and member get_One and member ( + ) and member ( - ) and member ( * ) and member ( / ) and member ( ~- ) and member Abs and member Pow and member Sqrt and member op_Explicit and comparison)
Full name: FsAlg.Generic.Matrix.decomposeQR
val el1 : float
Full name: Matrix-operations.el1
val el2 : float
Full name: Matrix-operations.el2
val get : m:Matrix<'T> -> i:int -> j:int -> 'T (requires member get_Zero and member get_One and member ( + ) and member ( - ) and member ( * ) and member ( / ) and member ( ~- ) and member Abs and member Pow and member Sqrt and member op_Explicit and comparison)
Full name: FsAlg.Generic.Matrix.get
val sl1 : Matrix<float>
Full name: Matrix-operations.sl1
val sl2 : Matrix<float>
Full name: Matrix-operations.sl2
val sl3 : Matrix<float>
Full name: Matrix-operations.sl3
val sl4 : Matrix<float>
Full name: Matrix-operations.sl4
val row : i:int -> m:Matrix<'T> -> Matrix<'T> (requires member get_Zero and member get_One and member ( + ) and member ( - ) and member ( * ) and member ( / ) and member ( ~- ) and member Abs and member Pow and member Sqrt and member op_Explicit and comparison)
Full name: FsAlg.Generic.Matrix.row
val sl5 : Matrix<float>
Full name: Matrix-operations.sl5
val sl6 : Matrix<float>
Full name: Matrix-operations.sl6
val col : j:int -> m:Matrix<'T> -> Matrix<'T> (requires member get_Zero and member get_One and member ( + ) and member ( - ) and member ( * ) and member ( / ) and member ( ~- ) and member Abs and member Pow and member Sqrt and member op_Explicit and comparison)
Full name: FsAlg.Generic.Matrix.col
val sl7 : seq<Matrix<float>>
Full name: Matrix-operations.sl7
val toRows : m:Matrix<'T> -> seq<Matrix<'T>> (requires member get_Zero and member get_One and member ( + ) and member ( - ) and member ( * ) and member ( / ) and member ( ~- ) and member Abs and member Pow and member Sqrt and member op_Explicit and comparison)
Full name: FsAlg.Generic.Matrix.toRows
val m18 : Matrix<float>
Full name: Matrix-operations.m18
val ofRows : v:seq<Vector<'T>> -> Matrix<'T> (requires member get_Zero and member get_One and member ( + ) and member ( - ) and member ( * ) and member ( / ) and member ( ~- ) and member Abs and member Pow and member Sqrt and member op_Explicit and comparison)
Full name: FsAlg.Generic.Matrix.ofRows
val sl8 : seq<Matrix<float>>
Full name: Matrix-operations.sl8
val toCols : m:Matrix<'T> -> seq<Matrix<'T>> (requires member get_Zero and member get_One and member ( + ) and member ( - ) and member ( * ) and member ( / ) and member ( ~- ) and member Abs and member Pow and member Sqrt and member op_Explicit and comparison)
Full name: FsAlg.Generic.Matrix.toCols
val m19 : Matrix<float>
Full name: Matrix-operations.m19
val ofCols : v:seq<Vector<'T>> -> Matrix<'T> (requires member get_Zero and member get_One and member ( + ) and member ( - ) and member ( * ) and member ( / ) and member ( ~- ) and member Abs and member Pow and member Sqrt and member op_Explicit and comparison)
Full name: FsAlg.Generic.Matrix.ofCols
val m20 : Matrix<float>
Full name: Matrix-operations.m20
val ofSeqSeq : s:seq<seq<'T>> -> Matrix<'T> (requires member get_Zero and member get_One and member ( + ) and member ( - ) and member ( * ) and member ( / ) and member ( ~- ) and member Abs and member Pow and member Sqrt and member op_Explicit and comparison)
Full name: FsAlg.Generic.Matrix.ofSeqSeq
val m21 : Matrix<float>
Full name: Matrix-operations.m21
val m22 : Matrix<float>
Full name: Matrix-operations.m22
val m23 : Matrix<float>
Full name: Matrix-operations.m23
Multiple items
val seq : sequence:seq<'T> -> seq<'T>
Full name: Microsoft.FSharp.Core.Operators.seq
--------------------
type seq<'T> = System.Collections.Generic.IEnumerable<'T>
Full name: Microsoft.FSharp.Collections.seq<_>
val aa1 : float [] []
Full name: Matrix-operations.aa1
val toArrayArray : m:Matrix<'T> -> 'T [] [] (requires member get_Zero and member get_One and member ( + ) and member ( - ) and member ( * ) and member ( / ) and member ( ~- ) and member Abs and member Pow and member Sqrt and member op_Explicit and comparison)
Full name: FsAlg.Generic.Matrix.toArrayArray
val aa2 : float [,]
Full name: Matrix-operations.aa2
val toArray2D : m:Matrix<'T> -> 'T [,] (requires member get_Zero and member get_One and member ( + ) and member ( - ) and member ( * ) and member ( / ) and member ( ~- ) and member Abs and member Pow and member Sqrt and member op_Explicit and comparison)
Full name: FsAlg.Generic.Matrix.toArray2D
val aa3 : float []
Full name: Matrix-operations.aa3
val toArray : m:Matrix<'T> -> 'T [] (requires member get_Zero and member get_One and member ( + ) and member ( - ) and member ( * ) and member ( / ) and member ( ~- ) and member Abs and member Pow and member Sqrt and member op_Explicit and comparison)
Full name: FsAlg.Generic.Matrix.toArray
val ma3 : Matrix<float>
Full name: Matrix-operations.ma3
val ofArray : m:int -> a:'T [] -> Matrix<'T> (requires member get_Zero and member get_One and member ( + ) and member ( - ) and member ( * ) and member ( / ) and member ( ~- ) and member Abs and member Pow and member Sqrt and member op_Explicit and comparison)
Full name: FsAlg.Generic.Matrix.ofArray
val vv1 : Vector<float>
Full name: Matrix-operations.vv1
val toVector : m:Matrix<'T> -> Vector<'T> (requires member get_Zero and member get_One and member ( + ) and member ( - ) and member ( * ) and member ( / ) and member ( ~- ) and member Abs and member Pow and member Sqrt and member op_Explicit and comparison)
Full name: FsAlg.Generic.Matrix.toVector
val mv1 : Matrix<float>
Full name: Matrix-operations.mv1
val ofVector : m:int -> v:Vector<'T> -> Matrix<'T> (requires member get_Zero and member get_One and member ( + ) and member ( - ) and member ( * ) and member ( / ) and member ( ~- ) and member Abs and member Pow and member Sqrt and member op_Explicit and comparison)
Full name: FsAlg.Generic.Matrix.ofVector
val replace : f:('T -> 'T) -> m:Matrix<'T> -> unit (requires member get_Zero and member get_One and member ( + ) and member ( - ) and member ( * ) and member ( / ) and member ( ~- ) and member Abs and member Pow and member Sqrt and member op_Explicit and comparison)
Full name: FsAlg.Generic.Matrix.replace
val x : float
val replacei : f:(int -> int -> 'T -> 'T) -> m:Matrix<'T> -> unit (requires member get_Zero and member get_One and member ( + ) and member ( - ) and member ( * ) and member ( / ) and member ( ~- ) and member Abs and member Pow and member Sqrt and member op_Explicit and comparison)
Full name: FsAlg.Generic.Matrix.replacei
val replace2 : f:('T1 -> 'T2 -> 'T1) -> m1:Matrix<'T1> -> m2:Matrix<'T2> -> unit (requires member get_Zero and member get_One and member ( + ) and member ( - ) and member ( * ) and member ( / ) and member ( ~- ) and member Abs and member Pow and member Sqrt and member op_Explicit and comparison and member get_Zero and member get_One and member ( + ) and member ( - ) and member ( * ) and member ( / ) and member ( ~- ) and member Abs and member Pow and member Sqrt and member op_Explicit and comparison)
Full name: FsAlg.Generic.Matrix.replace2
val y : float
val replacei2 : f:(int -> int -> 'T1 -> 'T2 -> 'T1) -> m1:Matrix<'T1> -> m2:Matrix<'T2> -> unit (requires member get_Zero and member get_One and member ( + ) and member ( - ) and member ( * ) and member ( / ) and member ( ~- ) and member Abs and member Pow and member Sqrt and member op_Explicit and comparison and member get_Zero and member get_One and member ( + ) and member ( - ) and member ( * ) and member ( / ) and member ( ~- ) and member Abs and member Pow and member Sqrt and member op_Explicit and comparison)
Full name: FsAlg.Generic.Matrix.replacei2
val replaceWith : m1:Matrix<'T> -> m2:Matrix<'T> -> unit (requires member get_Zero and member get_One and member ( + ) and member ( - ) and member ( * ) and member ( / ) and member ( ~- ) and member Abs and member Pow and member Sqrt and member op_Explicit and comparison)
Full name: FsAlg.Generic.Matrix.replaceWith
val appendRow : v:Vector<'T> -> m:Matrix<'T> -> Matrix<'T> (requires member get_Zero and member get_One and member ( + ) and member ( - ) and member ( * ) and member ( / ) and member ( ~- ) and member Abs and member Pow and member Sqrt and member op_Explicit and comparison)
Full name: FsAlg.Generic.Matrix.appendRow
val appendCol : v:Vector<'T> -> m:Matrix<'T> -> Matrix<'T> (requires member get_Zero and member get_One and member ( + ) and member ( - ) and member ( * ) and member ( / ) and member ( ~- ) and member Abs and member Pow and member Sqrt and member op_Explicit and comparison)
Full name: FsAlg.Generic.Matrix.appendCol
val prependRow : v:Vector<'T> -> m:Matrix<'T> -> Matrix<'T> (requires member get_Zero and member get_One and member ( + ) and member ( - ) and member ( * ) and member ( / ) and member ( ~- ) and member Abs and member Pow and member Sqrt and member op_Explicit and comparison)
Full name: FsAlg.Generic.Matrix.prependRow
val prependCol : v:Vector<'T> -> m:Matrix<'T> -> Matrix<'T> (requires member get_Zero and member get_One and member ( + ) and member ( - ) and member ( * ) and member ( / ) and member ( ~- ) and member Abs and member Pow and member Sqrt and member op_Explicit and comparison)
Full name: FsAlg.Generic.Matrix.prependCol
val s1 : string
Full name: Matrix-operations.s1
member Matrix.ToMathematicaString : unit -> string
val s2 : string
Full name: Matrix-operations.s2
member Matrix.ToMatlabString : unit -> string
val l1 : int
Full name: Matrix-operations.l1
val rows : m:Matrix<'T> -> int (requires member get_Zero and member get_One and member ( + ) and member ( - ) and member ( * ) and member ( / ) and member ( ~- ) and member Abs and member Pow and member Sqrt and member op_Explicit and comparison)
Full name: FsAlg.Generic.Matrix.rows
val l2 : int
Full name: Matrix-operations.l2
val cols : m:Matrix<'T> -> int (requires member get_Zero and member get_One and member ( + ) and member ( - ) and member ( * ) and member ( / ) and member ( ~- ) and member Abs and member Pow and member Sqrt and member op_Explicit and comparison)
Full name: FsAlg.Generic.Matrix.cols
val m24 : Matrix<float>
Full name: Matrix-operations.m24
val map : f:('T -> 'U) -> m:Matrix<'T> -> Matrix<'U> (requires member get_Zero and member get_One and member ( + ) and member ( - ) and member ( * ) and member ( / ) and member ( ~- ) and member Abs and member Pow and member Sqrt and member op_Explicit and comparison and member get_Zero and member get_One and member ( + ) and member ( - ) and member ( * ) and member ( / ) and member ( ~- ) and member Abs and member Pow and member Sqrt and member op_Explicit and comparison)
Full name: FsAlg.Generic.Matrix.map
val sin : value:'T -> 'T (requires member Sin)
Full name: Microsoft.FSharp.Core.Operators.sin