| | |
module nmf64 | : | {val nmf [ m] [ n]: ( A: [ m][ n]f64) -> ( k: i64) -> ( max_iter: i64) -> ( tol: f64) -> ([ m][ k]f64, [ k][ n]f64, i64) val frob_norm [ m] [ n]: ( xss: [ m][ n]f64) -> f64 } |
module linalg64 | : | { type t = f64 val dotprod [ n]: [ n]f64 -> [ n]f64 -> f64 val outer [ n] [ m]: [ n]f64 -> [ m]f64 -> [ n][ m]f64 val cross: [3]f64 -> [3]f64 -> [3]f64 val matvecmul_row [ n] [ m]: [ n][ m]f64 -> [ m]f64 -> [ n]f64 val matvecmul_col [ n] [ m]: [ n][ m]f64 -> [ n]f64 -> [ n][ n]f64 val matmul [ n] [ p] [ m]: [ n][ p]f64 -> [ p][ m]f64 -> [ n][ m]f64 val kronecker [ n] [ m] [ p] [ q]: [ m][ n]f64 -> [ p][ q]f64 -> ?[ d₀][ d₁].[ d₀][ d₁]f64 val kronecker' [ m] [ n] [ p] [ q]: [ m][ n]f64 -> [ p][ q]f64 -> [ m][ n][ p][ q]f64 val inv [ n]: [ n][ n]f64 -> [ n][ n]f64 val ols [ n] [ m]: [ n][ m]f64 -> [ n]f64 -> [ m]f64 } |
val nmf | [m₀] [n₁] : | (A: [m₀][n₁]f64) -> (k: i64) -> (max_iter: i64) -> (tol: f64) -> ([m₀][k]f64, [k][n₁]f64, i64) |
val matsub | [n₂] [n₆] : | (as: [n₆][n₂]f64) -> (bs: [n₆][n₂]f64) -> *[n₆][n₂]f64 |
val matprod | [n₂] [n₆] : | (as: [n₆][n₂]f64) -> (bs: [n₆][n₂]f64) -> *[n₆][n₂]f64 |
val matmean | [m] [n] : | (xss: [m][n]f64) -> f64 |
val nmf_test | [m] [n] : | (A: [m][n]f64) -> (max_iter: i64) -> (tol: f64) -> (test_tol: f64) -> bool |