package octez-libs

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module Linear_algebra.Make_ModuleSource

Parameters

module Ring : Ring_sig

Signature

Sourcetype t = Ring.t
Sourcetype matrix = t array array
Sourceval zeros : int -> int -> matrix

zeros r c is a matrix with r rows and c columns filled with zeros

Sourceval identity : int -> matrix

identity n is the identity matrix of dimension n

Sourceval equal : matrix -> matrix -> bool

matrix equality

Sourceval add : matrix -> matrix -> matrix

matrix addition

Sourceval mul : matrix -> matrix -> matrix

matrix multiplication

Sourceval transpose : matrix -> matrix

matrix transposition

Sourceval row_add : ?coeff:t -> int -> int -> matrix -> unit

row_add ~coeff i j m adds to the i-th row, the j-th row times coeff in m

Sourceval row_swap : int -> int -> matrix -> unit

row_swap i j m swaps the i-th and j-th rows of m

Sourceval row_mul : t -> int -> matrix -> unit

row_mul coeff i m multiplies the i-th row by coeff in m

Sourceval filter_cols : (int -> bool) -> matrix -> matrix

filter_cols f m removes the columns of m whose index does not satisfy f

Sourceval split_n : int -> matrix -> matrix * matrix

splits matrix m into the first n columns and the rest, producing two matrices

OCaml

Innovation. Community. Security.