pysiglib.branched_sig_combine_backprop

pysiglib.branched_sig_combine_backprop#

branched_sig_combine_backprop(derivs, bsig1, bsig2, dimension, degree, *, tree_order='recursive', planar=False, n_jobs=1)[source]#

Backpropagates through the branched signature combine (Butcher product).

Given out = branched_sig_combine(bsig1, bsig2, dimension, degree) and upstream derivatives derivs = dF/d(out), computes (dF/d(bsig1), dF/d(bsig2)).

Parameters:
  • derivs – Upstream derivatives, same shape as combine output.

  • bsig1 – First branched signature input to the forward combine.

  • bsig2 – Second branched signature input to the forward combine.

  • dimension – Dimension of the underlying path.

  • degree – Maximum tree order.

  • tree_order – Tree ordering convention of derivs, bsig1, bsig2 and the returned gradients. "recursive" (default) uses the recursive construction order. "canonical" uses the shape-first order matching tree_to_idx().

  • planar – If True, backpropagate through planar branched sig combine.

  • n_jobs – Number of parallel threads for batch processing.

Returns:

Tuple (dF/d(bsig1), dF/d(bsig2)), in the same scalar-term format as the inputs.


Citation#

If you found this library useful in your research, please consider citing the paper:

@article{shmelev2025pysiglib,
  title={pySigLib-Fast Signature-Based Computations on CPU and GPU},
  author={Shmelev, Daniil and Salvi, Cristopher},
  journal={arXiv preprint arXiv:2509.10613},
  year={2025}
}