flow = "multiply"
docs = "multiply.md"
[[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]]
source = "lib://flowstdlib/matrix/duplicate_rows"
[[connection]]
from = "input/a"
to = "duplicate_rows"
[[connection]]
from = "b_info/columns"
to = "duplicate_rows/factor"
[[process]]
source = "lib://flowstdlib/matrix/transpose"
[[connection]]
from = "input/b"
to = "transpose"
[[process]]
alias = "duplicate_columns"
source = "lib://flowstdlib/data/duplicate"
[[connection]]
from = "transpose/matrix"
to = "duplicate_columns/value"
[[process]]
alias = "duplicate_column_indexes"
source = "lib://flowstdlib/data/duplicate"
[[connection]]
from = "transpose/column_indexes"
to = "duplicate_column_indexes/value"
[[connection]]
from = "b_info/columns"
to = ["duplicate_columns/factor", "duplicate_column_indexes/factor"]
[[process]]
source = "lib://flowstdlib/matrix/multiply_row"
[[connection]]
from = "duplicate_rows/matrix"
to = "multiply_row/a"
[[connection]]
from = "duplicate_rows/row_indexes"
to = "multiply_row/a_index"
[[connection]]
from = "duplicate_columns"
to = "multiply_row/b"
[[connection]]
from = "duplicate_column_indexes"
to = "multiply_row/b_index"
[[process]]
source = "lib://flowstdlib/matrix/compose_matrix"
input.partial = { once = [[0.0,0.0],[0.0,0.0]] }
[[connection]]
from = "multiply_row/product"
to = "compose_matrix/element"
[[connection]]
from = "multiply_row/a_b_index"
to = "compose_matrix/element_indexes"
[[connection]]
from = "compose_matrix/partial"
to = "compose_matrix/partial"
[[connection]]
from = "compose_matrix/matrix"
to = "output/product"