dense

Search:
Group by:

Types

MatrixShape = enum
  Diagonal, UpperTriangular, LowerTriangular, UpperHessenberg, LowerHessenberg,
  Symmetric
  Source Edit
Vector[A] = ref object
  data*: seq[A]
  fp*: ptr A
  len*, step*: int
  Source Edit
Matrix[A] = ref object
  order*: OrderType
  M*, N*, ld*: int
  fp*: ptr A
  data*: seq[A]
  shape*: set[MatrixShape]
  Source Edit
All = object
  Source Edit
BalanceOp {...}{.pure.} = enum
  NoOp, Permute, Scale, Both
  Source Edit
EigenMode {...}{.pure.} = enum
  Eigenvalues, Schur
  Source Edit
SchurCompute {...}{.pure.} = enum
  NoOp, Initialize, Provided
  Source Edit
BalanceResult[A] = object
  matrix*: Matrix[A]
  ihi*, ilo*: cint
  scale*: seq[A]
  Source Edit
EigenValues[A] = ref object
  real*, img*: seq[A]
  Source Edit
SchurResult[A] = object
  factorization*: Matrix[A]
  eigenvalues*: EigenValues[A]
  Source Edit

Procs

proc isFull(v: Vector): bool {...}{.inline.}
  Source Edit
proc isFull(m: Matrix): bool {...}{.inline.}
  Source Edit
proc `==`[A](v, w: Vector[A]): bool
  Source Edit
proc `==`[A](m, n: Matrix[A]): bool
  Source Edit
proc vector[A](data: seq[A]): Vector[A]
  Source Edit
proc vector[A](data: varargs[A]): Vector[A]
  Source Edit
proc stackVector[N: static[int]](a: var Array32[N]): Vector[float32]
  Source Edit
proc stackVector[N: static[int]](a: var Array64[N]): Vector[float64]
  Source Edit
proc sharedVector(N: int; A: typedesc): Vector[A]
  Source Edit
proc dealloc[A](v: Vector[A])
  Source Edit
proc makeVector[A](N: int; f: proc (i: int): A): Vector[A]
  Source Edit
proc randomVector(N: int; max: float64 = 1): Vector[float64] {...}{.raises: [], tags: [].}
  Source Edit
proc randomVector(N: int; max: float32): Vector[float32] {...}{.raises: [], tags: [].}
  Source Edit
proc constantVector[A](N: int; a: A): Vector[A]
  Source Edit
proc zeros(N: int): auto {...}{.raises: [], tags: [].}
  Source Edit
proc zeros(N: int; A: typedesc): auto
  Source Edit
proc ones(N: int): auto {...}{.raises: [], tags: [].}
  Source Edit
proc ones(N: int; A: typedesc[float32]): auto
  Source Edit
proc ones(N: int; A: typedesc[float64]): auto
  Source Edit
proc matrix[A](order: OrderType; M, N: int; data: seq[A]): Matrix[A]
  Source Edit
proc makeMatrix[A](M, N: int; f: proc (i, j: int): A; order = colMajor): Matrix[A]
  Source Edit
proc randomMatrix[A: SomeFloat](M, N: int; max: A = 1; order = colMajor): Matrix[A]
  Source Edit
proc randomMatrix(M, N: int; order = colMajor): Matrix[float64] {...}{.raises: [], tags: [].}
  Source Edit
proc constantMatrix[A](M, N: int; a: A; order = colMajor): Matrix[A]
  Source Edit
proc zeros(M, N: int; order = colMajor): auto {...}{.raises: [], tags: [].}
  Source Edit
proc zeros(M, N: int; A: typedesc; order = colMajor): auto
  Source Edit
proc ones(M, N: int): auto {...}{.raises: [], tags: [].}
  Source Edit
proc ones(M, N: int; A: typedesc[float32]): auto
  Source Edit
proc ones(M, N: int; A: typedesc[float64]): auto
  Source Edit
proc eye(N: int; order = colMajor): Matrix[float64] {...}{.raises: [], tags: [].}
  Source Edit
proc eye(N: int; A: typedesc[float32]; order = colMajor): Matrix[float32]
  Source Edit
proc eye(N: int; A: typedesc[float64]; order = colMajor): Matrix[float64]
  Source Edit
proc matrix[A](xs: seq[seq[A]]; order = colMajor): Matrix[A]
  Source Edit
proc matrix[A](xs: seq[Vector[A]]; order = colMajor): Matrix[A]
  Source Edit
proc stackMatrix[M, N: static[int]](a: var DoubleArray32[M, N]; order = colMajor): Matrix[
    float32]
  Source Edit
proc stackMatrix[M, N: static[int]](a: var DoubleArray64[M, N]; order = colMajor): Matrix[
    float64]
  Source Edit
proc sharedMatrix(M, N: int; A: typedesc; order = colMajor): Matrix[A]
  Source Edit
proc dealloc[A](m: Matrix[A])
  Source Edit
proc diag[A: SomeFloat](xs: varargs[A]): Matrix[A]
  Source Edit
proc `[]`[A](v: Vector[A]; i: int): A {...}{.inline.}
  Source Edit
proc `[]`[A](v: var Vector[A]; i: int): var A {...}{.inline.}
  Source Edit
proc `[]=`[A](v: Vector[A]; i: int; val: A) {...}{.inline.}
  Source Edit
proc `[]`[A](m: Matrix[A]; i, j: int): A {...}{.inline.}
  Source Edit
proc `[]`[A](m: var Matrix[A]; i, j: int): var A {...}{.inline.}
  Source Edit
proc `[]=`[A](m: var Matrix[A]; i, j: int; val: A) {...}{.inline.}
  Source Edit
proc column[A](m: Matrix[A]; j: int): Vector[A] {...}{.inline.}
  Source Edit
proc row[A](m: Matrix[A]; i: int): Vector[A] {...}{.inline.}
  Source Edit
proc dim(m: Matrix): tuple[rows, columns: int]
  Source Edit
proc clone[A](v: Vector[A]): Vector[A]
  Source Edit
proc clone[A](m: Matrix[A]): Matrix[A]
  Source Edit
proc map[A, B](v: Vector[A]; f: proc (x: A): B): Vector[B]
  Source Edit
proc map[A, B](m: Matrix[A]; f: proc (x: A): B): Matrix[B]
  Source Edit
proc to32(v: Vector[float64]): Vector[float32] {...}{.raises: [], tags: [].}
  Source Edit
proc to64(v: Vector[float32]): Vector[float64] {...}{.raises: [], tags: [].}
  Source Edit
proc to32(m: Matrix[float64]): Matrix[float32] {...}{.raises: [OutOfBoundsError], tags: [].}
  Source Edit
proc to64(m: Matrix[float32]): Matrix[float64] {...}{.raises: [OutOfBoundsError], tags: [].}
  Source Edit
proc `$`[A](v: Vector[A]): string
  Source Edit
proc `$`[A](m: Matrix[A]): string
  Source Edit
proc t[A](m: Matrix[A]): Matrix[A]
  Source Edit
proc reshape[A](m: Matrix[A]; a, b: int): Matrix[A]
  Source Edit
proc asMatrix[A](v: Vector[A]; a, b: int; order = colMajor): Matrix[A]
  Source Edit
proc asVector[A](m: Matrix[A]): Vector[A]
  Source Edit
proc hstack[A](vectors: varargs[Vector[A]]): Vector[A]
  Source Edit
proc hstack[A](matrices: varargs[Matrix[A]]): Matrix[A]
  Source Edit
proc vstack[A](matrices: varargs[Matrix[A]]): Matrix[A]
  Source Edit
proc `[]`[A](v: Vector[A]; s: Slice[int]): Vector[A] {...}{.inline.}
  Source Edit
proc `[]=`[A](v: var Vector[A]; s: Slice[int]; val: Vector[A]) {...}{.inline.}
  Source Edit
proc `[]`[A](m: Matrix[A]; rows, cols: Slice[int]): Matrix[A]
  Source Edit
proc `[]`[A](m: Matrix[A]; rows: Slice[int]; cols: typedesc[All]): Matrix[A]
  Source Edit
proc `[]`[A](m: Matrix[A]; rows: typedesc[All]; cols: Slice[int]): Matrix[A]
  Source Edit
proc `[]=`[A](m: var Matrix[A]; rows, cols: Slice[int]; val: Matrix[A]) {...}{.inline.}
  Source Edit
proc `[]=`[A](m: var Matrix[A]; rows: Slice[int]; cols: typedesc[All]; val: Matrix[A]) {...}{.
    inline.}
  Source Edit
proc `[]=`[A](m: var Matrix[A]; rows: typedesc[All]; cols: Slice[int]; val: Matrix[A]) {...}{.
    inline.}
  Source Edit
proc `*=`[A: SomeFloat](v: var Vector[A]; k: A) {...}{.inline.}
  Source Edit
proc `*`[A: SomeFloat](v: Vector[A]; k: A): Vector[A] {...}{.inline.}
  Source Edit
proc `+=`[A: SomeFloat](v: var Vector[A]; w: Vector[A]) {...}{.inline.}
  Source Edit
proc `+`[A: SomeFloat](v, w: Vector[A]): Vector[A] {...}{.inline.}
  Source Edit
proc `-=`[A: SomeFloat](v: var Vector[A]; w: Vector[A]) {...}{.inline.}
  Source Edit
proc `-`[A: SomeFloat](v, w: Vector[A]): Vector[A] {...}{.inline.}
  Source Edit
proc `*`[A: SomeFloat](v, w: Vector[A]): A {...}{.inline.}
  Source Edit
proc l_2[A: SomeFloat](v: Vector[A]): auto {...}{.inline.}
  Source Edit
proc l_1[A: SomeFloat](v: Vector[A]): auto {...}{.inline.}
  Source Edit
proc maxIndex[A](v: Vector[A]): tuple[i: int, val: A]
  Source Edit
proc minIndex[A](v: Vector[A]): tuple[i: int, val: A]
  Source Edit
proc `*=`[A: SomeFloat](m: var Matrix[A]; k: A) {...}{.inline.}
  Source Edit
proc `*`[A: SomeFloat](m: Matrix[A]; k: A): Matrix[A] {...}{.inline.}
  Source Edit
proc `+=`[A: SomeFloat](a: var Matrix[A]; b: Matrix[A]) {...}{.inline.}
  Source Edit
proc `+`[A: SomeFloat](a, b: Matrix[A]): Matrix[A] {...}{.inline.}
  Source Edit
proc `-=`[A: SomeFloat](a: var Matrix[A]; b: Matrix[A]) {...}{.inline.}
  Source Edit
proc `-`[A: SomeFloat](a, b: Matrix[A]): Matrix[A] {...}{.inline.}
  Source Edit
proc l_2[A: SomeFloat](m: Matrix[A]): A {...}{.inline.}
  Source Edit
proc l_1[A: SomeFloat](m: Matrix[A]): A {...}{.inline.}
  Source Edit
proc max[A](m: Matrix[A]): A
  Source Edit
proc min[A](m: Matrix[A]): A
  Source Edit
proc T[A](m: Matrix[A]): Matrix[A]
  Source Edit
proc `*`[A: SomeFloat](a: Matrix[A]; v: Vector[A]): Vector[A] {...}{.inline.}
  Source Edit
proc `*`[A: SomeFloat](a, b: Matrix[A]): Matrix[A] {...}{.inline.}
  Source Edit
proc `=~`[A: SomeFloat](v, w: Vector[A]): bool
  Source Edit
proc `=~`[A: SomeFloat](v, w: Matrix[A]): bool
  Source Edit
proc `|*|`[A](a, b: Vector[A]): Vector[A]
  Source Edit
proc `|*|`[A](a, b: Matrix[A]): Matrix[A]
  Source Edit
proc sqrt[A: SomeFloat](v`gensym352431: Vector[A]): Vector[A]
  Source Edit
proc sqrt[A: SomeFloat](m`gensym352434: Matrix[A]): Matrix[A]
  Source Edit
proc cbrt[A: SomeFloat](v`gensym352628: Vector[A]): Vector[A]
  Source Edit
proc cbrt[A: SomeFloat](m`gensym352631: Matrix[A]): Matrix[A]
  Source Edit
proc log10[A: SomeFloat](v`gensym352828: Vector[A]): Vector[A]
  Source Edit
proc log10[A: SomeFloat](m`gensym352831: Matrix[A]): Matrix[A]
  Source Edit
proc log2[A: SomeFloat](v`gensym353028: Vector[A]): Vector[A]
  Source Edit
proc log2[A: SomeFloat](m`gensym353031: Matrix[A]): Matrix[A]
  Source Edit
proc log(x`gensym353227: float32): float32 {...}{.raises: [], tags: [].}
  Source Edit
proc log[A: SomeFloat](v`gensym353228: Vector[A]): Vector[A]
  Source Edit
proc log[A: SomeFloat](m`gensym353231: Matrix[A]): Matrix[A]
  Source Edit
proc exp[A: SomeFloat](v`gensym353428: Vector[A]): Vector[A]
  Source Edit
proc exp[A: SomeFloat](m`gensym353431: Matrix[A]): Matrix[A]
  Source Edit
proc arccos[A: SomeFloat](v`gensym353628: Vector[A]): Vector[A]
  Source Edit
proc arccos[A: SomeFloat](m`gensym353631: Matrix[A]): Matrix[A]
  Source Edit
proc arcsin[A: SomeFloat](v`gensym353828: Vector[A]): Vector[A]
  Source Edit
proc arcsin[A: SomeFloat](m`gensym353831: Matrix[A]): Matrix[A]
  Source Edit
proc arctan[A: SomeFloat](v`gensym354028: Vector[A]): Vector[A]
  Source Edit
proc arctan[A: SomeFloat](m`gensym354031: Matrix[A]): Matrix[A]
  Source Edit
proc cos[A: SomeFloat](v`gensym354228: Vector[A]): Vector[A]
  Source Edit
proc cos[A: SomeFloat](m`gensym354231: Matrix[A]): Matrix[A]
  Source Edit
proc cosh[A: SomeFloat](v`gensym354428: Vector[A]): Vector[A]
  Source Edit
proc cosh[A: SomeFloat](m`gensym354431: Matrix[A]): Matrix[A]
  Source Edit
proc sin[A: SomeFloat](v`gensym354628: Vector[A]): Vector[A]
  Source Edit
proc sin[A: SomeFloat](m`gensym354631: Matrix[A]): Matrix[A]
  Source Edit
proc sinh[A: SomeFloat](v`gensym354828: Vector[A]): Vector[A]
  Source Edit
proc sinh[A: SomeFloat](m`gensym354831: Matrix[A]): Matrix[A]
  Source Edit
proc tan[A: SomeFloat](v`gensym355028: Vector[A]): Vector[A]
  Source Edit
proc tan[A: SomeFloat](m`gensym355031: Matrix[A]): Matrix[A]
  Source Edit
proc tanh[A: SomeFloat](v`gensym355228: Vector[A]): Vector[A]
  Source Edit
proc tanh[A: SomeFloat](m`gensym355231: Matrix[A]): Matrix[A]
  Source Edit
proc erf[A: SomeFloat](v`gensym355428: Vector[A]): Vector[A]
  Source Edit
proc erf[A: SomeFloat](m`gensym355431: Matrix[A]): Matrix[A]
  Source Edit
proc erfc[A: SomeFloat](v`gensym355628: Vector[A]): Vector[A]
  Source Edit
proc erfc[A: SomeFloat](m`gensym355631: Matrix[A]): Matrix[A]
  Source Edit
proc lgamma[A: SomeFloat](v`gensym355828: Vector[A]): Vector[A]
  Source Edit
proc lgamma[A: SomeFloat](m`gensym355831: Matrix[A]): Matrix[A]
  Source Edit
proc gamma[A: SomeFloat](v`gensym356028: Vector[A]): Vector[A]
  Source Edit
proc gamma[A: SomeFloat](m`gensym356031: Matrix[A]): Matrix[A]
  Source Edit
proc trunc[A: SomeFloat](v`gensym356228: Vector[A]): Vector[A]
  Source Edit
proc trunc[A: SomeFloat](m`gensym356231: Matrix[A]): Matrix[A]
  Source Edit
proc floor[A: SomeFloat](v`gensym356428: Vector[A]): Vector[A]
  Source Edit
proc floor[A: SomeFloat](m`gensym356431: Matrix[A]): Matrix[A]
  Source Edit
proc ceil[A: SomeFloat](v`gensym356628: Vector[A]): Vector[A]
  Source Edit
proc ceil[A: SomeFloat](m`gensym356631: Matrix[A]): Matrix[A]
  Source Edit
proc degToRad[A: SomeFloat](v`gensym356828: Vector[A]): Vector[A]
  Source Edit
proc degToRad[A: SomeFloat](m`gensym356831: Matrix[A]): Matrix[A]
  Source Edit
proc radToDeg[A: SomeFloat](v`gensym357028: Vector[A]): Vector[A]
  Source Edit
proc radToDeg[A: SomeFloat](m`gensym357031: Matrix[A]): Matrix[A]
  Source Edit
proc cumsum[A](v: Vector[A]): Vector[A]
  Source Edit
proc sum[A](v: Vector[A]): A
  Source Edit
proc mean[A: SomeFloat](v: Vector[A]): A {...}{.inline.}
  Source Edit
proc variance[A: SomeFloat](v: Vector[A]): A
  Source Edit
proc solve[A: SomeFloat](a, b: Matrix[A]): Matrix[A] {...}{.inline.}
  Source Edit
proc solve[A: SomeFloat](a: Matrix[A]; b: Vector[A]): Vector[A] {...}{.inline.}
  Source Edit
proc inv[A: SomeFloat](a: Matrix[A]): Matrix[A] {...}{.inline.}
  Source Edit
proc balance[A: SomeFloat](a: Matrix[A]; op = BalanceOp.Both): BalanceResult[A]
  Source Edit
proc hessenberg[A: SomeFloat](a: Matrix[A]): Matrix[A]
  Source Edit
proc eigenvalues[A: SomeFloat](a: Matrix[A]): EigenValues[A]
  Source Edit
proc schur[A: SomeFloat](a: Matrix[A]): SchurResult[A]
  Source Edit
proc tr[A](a: Matrix[A]): A
  Source Edit
proc det[A: SomeFloat](a: Matrix[A]): A
  Source Edit

Iterators

iterator items[A](v: Vector[A]): auto {...}{.inline.}
  Source Edit
iterator pairs[A](v: Vector[A]): auto {...}{.inline.}
  Source Edit
iterator columns[A](m: Matrix[A]): auto {...}{.inline.}
  Source Edit
iterator rows[A](m: Matrix[A]): auto {...}{.inline.}
  Source Edit
iterator columnsSlow[A](m: Matrix[A]): auto {...}{.inline.}
  Source Edit
iterator rowsSlow[A](m: Matrix[A]): auto {...}{.inline.}
  Source Edit
iterator items[A](m: Matrix[A]): auto {...}{.inline.}
  Source Edit
iterator pairs[A](m: Matrix[A]): auto {...}{.inline.}
  Source Edit

Templates

template makeVectorI[A](N: int; f: untyped): Vector[A]
  Source Edit
template makeMatrixIJ(A: typedesc; M1, N1: int; f: untyped; ord = colMajor): auto
  Source Edit
template concat[A](vectors: varargs[Vector[A]]): Vector[A]
  Source Edit
template vstack[A](vectors: varargs[Vector[A]]): Matrix[A]
  Source Edit
template max[A](v: Vector[A]): A
  Source Edit
template min[A](v: Vector[A]): A
  Source Edit
template `*`[A; ](k: A; v: Vector[A] or Matrix[A]): auto
  Source Edit
template `/`[A; ](v: Vector[A] or Matrix[A]; k: A): auto
  Source Edit
template `/=`[A; ](v: var Vector[A] or var Matrix[A]; k: A)
  Source Edit
template `!=~`(a, b: Vector or Matrix): bool
  Source Edit
template makeUniversal(fname: untyped)
  Source Edit
template makeUniversalLocal(fname: untyped)
  Source Edit
template stddev[A](v: Vector[A]): A
  Source Edit
template sum(m: Matrix): auto
  Source Edit
template mean(m: Matrix): auto
  Source Edit
template variance(m: Matrix): auto
  Source Edit
template stddev(m: Matrix): auto
  Source Edit
template rewriteLinearCombination{
  v + `*`(w, a)
}[A](a: A; v, w: Vector[A]): auto
  Source Edit
template rewriteLinearCombinationMut{
  v += `*`(w, a)
}[A](a: A; v: var Vector[A]; w: Vector[A]): auto
  Source Edit
template `\`(a: Matrix; b: Matrix or Vector): auto
  Source Edit