From 7e5d0fcc39fd8a683fc7010af064849b454b432b Mon Sep 17 00:00:00 2001 From: Marshall Lochbaum Date: Sat, 4 Jun 2022 17:40:31 -0400 Subject: Further editing --- doc/transpose.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc/transpose.md') diff --git a/doc/transpose.md b/doc/transpose.md index f1f978ad..e11ab359 100644 --- a/doc/transpose.md +++ b/doc/transpose.md @@ -18,7 +18,7 @@ Transpose is named this way because it exchanges the two axes of the matrix. Abo With two axes the only interesting operation of this sort is to swap them (and with one or zero axes there's nothing interesting to do, and `⍉` just returns the argument array). But a BQN programmer may well want to work with higher-rank arrays—although such a programmer might call them "tensors"—and this means there are many more ways to rearrange the axes. Transpose extends to high-rank arrays to allow some useful special cases as well as completely general axis rearrangement, as described below. -## Monadic Transpose +## Transposing tensors APL extends matrix transposition to any rank by reversing all axes for its monadic `⍉`, but this generalization isn't very natural and is almost never used. The main reason for it is to maintain the equivalence `a MP b ←→ b MP⌾⍉ a`, where `MP ← +˝∘×⎉1‿∞` is the generalized matrix product. But even here APL's Transpose is suspect. It does much more work than it needs to, as we'll see. -- cgit v1.2.3