Pure-C++ port of tma's apply_tensor(). Accepts 0-based index vectors for sender/receiver/mode dimensions and a pre-converted integer context lookup matrix.

lq_apply_tensor(
  tensor,
  dims,
  dims_sender,
  dims_receiver,
  dims_mode,
  context_lookup,
  unit_rows,
  codes,
  times,
  ordered = TRUE
)

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

Value

List with `connection_counts` (vector) and `row_connection_counts` (matrix)