flow = "multiply_matrices"
[[input]]
name = "a"
type = "array/array/number"
[[input]]
name = "b"
type = "array/array/number"
[[output]]
name = "product"
type = "array/array/number"
[[process]]
alias = "b_info"
source = "lib://flowstdlib/data/info"
[[connection]]
from = "input/b"
to ="b_info"
[[process]]
alias = "a_info"
source = "lib://flowstdlib/data/info"
[[connection]]
from = "input/a"
to ="a_info"
[[process]]
alias = "duplicate_rows"
source = "lib://flowstdlib/data/duplicate_rows"
[[connection]]
from = "input/a"
to = "duplicate_rows"
[[process]]
alias = "transpose"
source = "lib://flowstdlib/data/transpose"
[[connection]]
from = "input/b"
to = "transpose"
[[process]]
alias = "duplicate"
source = "lib://flowstdlib/data/duplicate"
[[connection]]
from = "transpose"
to = "duplicate/value"
[[connection]]
from = "b_info/columns"
to = "duplicate/factor"
[[connection]]
from = "b_info/columns"
to = "duplicate_rows/factor"
[[process]]
alias = "multiply"
source = "lib://flowstdlib/data/multiply_row"
[[connection]]
from = "duplicate_rows"
to = "multiply/a"
[[connection]]
from = "duplicate"
to = "multiply/b"
[[process]]
alias = "compose_rows"
source = "lib://flowstdlib/data/accumulate"
input.partial = { once = [] }
[[connection]]
from = "compose_rows/partial"
to = "compose_rows/partial"
[[connection]]
from = "compose_rows/chunk_size"
to = "compose_rows/chunk_size"
[[connection]]
from = "multiply"
to = "compose_rows/values"
[[connection]]
from = "b_info/columns"
to = "compose_rows/chunk_size"
[[process]]
alias = "compose_matrix"
source = "lib://flowstdlib/data/accumulate"
input.partial = { once = [] }
[[connection]]
from = "compose_matrix/partial"
to = "compose_matrix/partial"
[[connection]]
from = "compose_matrix/chunk_size"
to = "compose_matrix/chunk_size"
[[connection]]
from = "compose_rows/chunk"
to = "compose_matrix/values"
[[connection]]
from = "a_info/rows"
to = "compose_matrix/chunk_size"
[[connection]]
from = "compose_matrix/chunk"
to = "output/product"