Module Algebra.Vector

Vectors.

type t = float array

A vector.

val to_string : t -> string

String representation of a vector.

val of_list : float list -> t
val dim : t -> int

Dimension.

val scalar : float -> t
val pair : (float * float) -> t
val to_scalar : t -> float
val map : (float -> float) -> t -> t
val mapi : (int -> float -> float) -> t -> t
val map2 : (float -> float -> float) -> t -> t -> t
val add : t -> t -> t

Addition.

val sub : t -> t -> t

Subtraction.

val sum : t -> float

Sum of the entries of the vector.

val dot : t -> t -> float

Dot product.

val squared_norm : t -> float

Square of the euclidean norm.

val cadd : float -> t -> t

Add a constant.

val cmul : float -> t -> t

Multiply by a constant.

val hadamard : t -> t -> t
val init : int -> (int -> float) -> t
val fill : int -> float -> t
val zero : int -> t
val uniform : ?min:float -> ?max:float -> int -> t

Create a uniformly distributed random vector.

val copy : t -> t
val max : t -> float

Maximum entry of a vector.

val softmax : t -> t

Softmax of a vector (useful to convert logits to probabilities).