Accumulate one unit's networks end to end
accumulate_unit_networks.RdOne libtma call per unit: runs apply_tensor() for the directed
per-line rows (and misses), then folds unordered rows, applies the weight
model per line, sums the lines and pulls out the self-connection diagonal –
the steps accumulate() and every other binding share.
Usage
accumulate_unit_networks(
tensor,
dims,
dims_sender,
dims_receiver,
dims_mode,
context_lookup,
unit_rows,
codes,
times,
ordered = FALSE,
weight = NULL,
misses = TRUE,
diagonal = FALSE
)Arguments
- tensor
Numeric vector (column-major flat tensor)
- dims
Integer vector of tensor dimensions
- dims_sender
0-based sender axis indices
- dims_receiver
0-based receiver axis indices
- dims_mode
0-based mode axis indices
- context_lookup
Integer matrix (n_context_rows x n_factors), 0-based
- unit_rows
0-based response-row indices for this unit
- codes
Numeric matrix (n_context_rows x n_codes)
- times
Numeric vector of timestamps per context row
- ordered
TRUE = directed; FALSE = undirected
- weight
Weight model name (
"binary","product","sqrt","log1p"), or TRUE/FALSE for the legacy binary flag. NULL (default) ="binary".- misses
TRUE (default) = also accumulate missed co-occurrences and self-misses.
- diagonal
Unordered only: self-connections (and self-misses) are also columns of the connection (and miss) vectors, in the A & A, A & B, B & B, ... layout. The separate self vectors are returned either way.
Value
List with connection_counts (n_codes^2 ordered, or
choose(n_codes, 2)), row_connection_counts (raw per line, folded
when unordered), self_connection_counts (n_codes),
row_self_connection_counts (raw per line); with misses, also
miss_counts, row_miss_counts, self_miss_counts,
row_self_miss_counts.