Skip to main content

linear_transpose

Function linear_transpose 

Source
pub fn linear_transpose<Op: Primitive>(
    linear: &LinearizedGraph<Op>,
    ctx: &mut Op::ADContext,
) -> LinearizedGraph<Op>
where Op::InputKey: ADKey,
Expand description

Transpose a linearized graph, reversing linear flow.

Fan-out accumulation is emitted explicitly with crate::Primitive::add; no duplication primitive is assumed by the graph transform.

§Examples

let mut ctx = ();
let transposed = tidu::linear_transpose(&linear, &mut ctx);
assert_eq!(transposed.tangent_outputs().len(), linear.tangent_inputs().len());