[Home] Type Microsoft.FSharp.Math.Matrix


The type of matrices. The arithmetic operations on the element type are determined by inspection on the element type itself

Full Type Signature

type Matrix<'a> =
  | Dense of DenseMatrix<'a>
  | Sparse of SparseMatrix<'a>
  with
    interface IFormattable
    interface IStructuralHash
    interface IComparable
    override Equals : obj -> bool
    override GetHashCode : unit -> int
    member ( .[..,..] ) : start1:int option * finish1:int option * start2:int option * finish2:int option -> Matrix<'a>
    member PermuteColumns : Permutation -> Matrix<'a>
    member PermuteRows : Permutation -> Matrix<'a>
    [<UnverifiableAttribute ()>]
    member Pin : ('a nativeptr -> 'b) -> 'b
    [<UnverifiableAttribute ()>]
    member PinHandle : unit -> 'a nativeptr * GCHandle
    member Dimensions : int * int
    member ElementOps : INumeric<'a>
    member Item : int * int -> 'a with get
    member NumCols : int
    member NumRows : int
    member Transpose : Matrix<'a>
    static member ( + ) : Matrix<'a> * Matrix<'a> -> Matrix<'a>
    static member ( += ) : Matrix<'a> * Matrix<'a> -> unit
    static member ( $* ) : 'a * Matrix<'a> -> Matrix<'a>
    static member ( .* ) : Matrix<'a> * Matrix<'a> -> Matrix<'a>
    static member ( .*= ) : Matrix<'a> * Matrix<'a> -> unit
    [<OverloadIDAttribute ("MultiplyScalarMatrix")>]
    static member ( * ) : 'a * Matrix<'a> -> Matrix<'a>
    [<OverloadIDAttribute ("MultiplyMatrixScalar")>]
    static member ( * ) : Matrix<'a> * 'a -> Matrix<'a>
    [<OverloadIDAttribute ("MultiplyMatrixVector")>]
    static member ( * ) : Matrix<'a> * Vector<'a> -> Vector<'a>
    [<OverloadIDAttribute ("MultiplyMatrixMatrix")>]
    static member ( * ) : Matrix<'a> * Matrix<'a> -> Matrix<'a>
    [<Obsolete ("The * operator can now be used instead of this operator")>]
    static member ( *$ ) : Matrix<'a> * 'a -> Matrix<'a>
    static member ( - ) : Matrix<'a> * Matrix<'a> -> Matrix<'a>
    static member ( -= ) : Matrix<'a> * Matrix<'a> -> unit
    static member ( ~- ) : Matrix<'a> -> Matrix<'a>
    static member ( ~+ ) : Matrix<'a> -> Matrix<'a>
    member Item : int * int -> 'a with set
  end

Instance Members

MemberDescription
member
  ( .[..,..] ) : start1:int option * finish1:int option * start2:int option *
                 finish2:int option -> Matrix<'a>
member Dimensions : int * int
The number of (rows,columns) in the matrix
member ElementOps : INumeric<'a>
Retrieve the dictionary of numeric operations associated with the element type of this matrix. Accessing the property may raise an NotSupportedException if the element type doesn't support any numeric operations. The object returned may support additional numeric operations such as IFractional: this can be determined by a dynamic type test against the object returned.
override Equals : obj -> bool
override GetHashCode : unit -> int
member Item : int * int -> 'a with get
Get the item at the given position in the matrix
member Item : int * int -> 'a with set
Get the item at the given position in the matrix
member NumCols : int
The number of columns in the matrix
member NumRows : int
The number of rows in the matrix
member PermuteColumns : Permutation -> Matrix<'a>
Permutes the columns of the matrix.
member PermuteRows : Permutation -> Matrix<'a>
Permutes the rows of the matrix.
[<UnverifiableAttribute ()>]
member Pin : ('a nativeptr -> 'b) -> 'b
For native interop. Pin the given object for the duration of a single call to the given function. A native pointer to the (0,0) element in the underlying array is passed to the given function. Resources associated with the pin are released when the function completes, even if an exception is raised.
[<UnverifiableAttribute ()>]
member PinHandle : unit -> 'a nativeptr * GCHandle
For native interop. Pin the given object, but the caller is responsible for freeing the GCHandle
member Transpose : Matrix<'a>
Get the transpose of the matrix.

Static Members

MemberDescription
member ( $* ) : 'a * Matrix<'a> -> Matrix<'a>
[<OverloadIDAttribute ("MultiplyScalarMatrix")>]
member ( * ) : 'a * Matrix<'a> -> Matrix<'a>
Multiply each element of a matrix by the given scalar value
[<OverloadIDAttribute ("MultiplyMatrixScalar")>]
member ( * ) : Matrix<'a> * 'a -> Matrix<'a>
Matrix-scalar multiplication.
[<OverloadIDAttribute ("MultiplyMatrixVector")>]
member ( * ) : Matrix<'a> * Vector<'a> -> Vector<'a>
Matrix-vector multiplication.
[<OverloadIDAttribute ("MultiplyMatrixMatrix")>]
member ( * ) : Matrix<'a> * Matrix<'a> -> Matrix<'a>
Matrix multiplication. An InvalidArgument exception will be raised if the dimensions do not match.
member ( + ) : Matrix<'a> * Matrix<'a> -> Matrix<'a>
Point-wise addition of two matrices. An InvalidArgument exception will be raised if the dimensions do not match.
member ( += ) : Matrix<'a> * Matrix<'a> -> unit
Inplace matrix addition. An InvalidArgument exception will be raised if the dimensions do not match.
member ( - ) : Matrix<'a> * Matrix<'a> -> Matrix<'a>
Point-wise subtraction of two matrices. An InvalidArgument exception will be raised if the dimensions do not match.
member ( -= ) : Matrix<'a> * Matrix<'a> -> unit
Inplace matrix subtraction. An InvalidArgument exception will be raised if the dimensions do not match.
member ( .* ) : Matrix<'a> * Matrix<'a> -> Matrix<'a>
Pointwise matrix multiplication. An InvalidArgument exception will be raised if the dimensions do not match.
member ( .*= ) : Matrix<'a> * Matrix<'a> -> unit
Inplace pointwise matrix multiplication. An InvalidArgument exception will be raised if the dimensions do not match.
member ( ~+ ) : Matrix<'a> -> Matrix<'a>
A nop.
member ( ~- ) : Matrix<'a> -> Matrix<'a>
Matrix negation.

Deprecated Members

MemberDescription
[<Obsolete ("The * operator can now be used instead of this operator")>]
member ( *$ ) : Matrix<'a> * 'a -> Matrix<'a>

Note: The * operator can now be used instead of this operator

Multiply each element of a matrix by the given scalar value

See Also

Microsoft.FSharp.Math


Documentation for assembly FSharp.Core, version 1.9.4.19, generated using F# version 1.9.4.19