Skip to content

Understanding transpose rules #18346

Answered by froystig
dionhaefner asked this question in Q&A
Discussion options

You must be logged in to vote

The transposition rule for a linear function $f$ computes its transpose $f^T$ at a particular point. Transposition is indeed used by jax's implementation of VJPs, where the linear function is the Jacobian map $J$ you mention.

An extra bit of complexity is that some primitives are only linear in some of their inputs. We sometimes use the term "conditionally linear" to describe this. In this case the transpose rule only transposes the "linear part" of the function.

To be a bit more precise: let's say $f$ takes two arguments, and is linear only in the second, for any value of the first. The transposition rule for $f$ then computes "the transpose of the function $f$, restricted to a particula…

Replies: 1 comment 3 replies

Comment options

You must be logged in to vote
3 replies
@dionhaefner
Comment options

@froystig
Comment options

@dionhaefner
Comment options

Answer selected by dionhaefner
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants