Index Generator: Difference between revisions

Jump to navigation Jump to search
3 bytes removed ,  15:56, 4 May 2020
m
m (Text replacement - "{{APL built-ins}}" to "{{APL built-ins}}Category:Primitive functions")
Line 84: Line 84:
== History ==
== History ==


The Greek letter iota, corresponding to the Latin letter i, is now usually treated as a mnemonic for "integers" or "[[index]]", more likely stood for "identity" in early [[Iverson notation]]. [[Ken Iverson|Iverson]]'s 1960 paper ''The Description of Finite Sequential Processes'' states that "the identity [[permutation]] vector <math>\iota</math> is defined by the relation <math>\iota_j=j</math>."<ref>[[Ken Iverson]]. [https://www.jsoftware.com/papers/DFSP.htm ''The Description of Finite Sequential Processes'']. Proceedings of a Conference on Information Theory, C. Cherry and W. Jackson, Editors, Imperial College, London, 1960-08-29.</ref> Since <math>e</math> is a more typical letter to use for the identity permutation, it's possible that Iverson's choice was also motivated by the convention of using <math>\iota</math> for an [[wikipedia:inclusion map|inclusion map]], where iota now indicates "inclusion" or "injection".<ref name="iotashaming">Sean Parent. [https://sean-parent.stlab.cc/2019/01/04/iota.html "#iotashaming"]. sean-parent.stlab.cc. 2019-01-04.</ref> The term "inclusion" typically indicates that a particular injection is meant to be treated as an identity.
The Greek letter iota, corresponding to the Latin letter i, now usually treated as a mnemonic for "integers" or "[[index]]", more likely stood for "identity" in early [[Iverson notation]]. [[Ken Iverson|Iverson]]'s 1960 paper ''The Description of Finite Sequential Processes'' states that "the identity [[permutation]] vector <math>\iota</math> is defined by the relation <math>\iota_j=j</math>."<ref>[[Ken Iverson]]. [https://www.jsoftware.com/papers/DFSP.htm ''The Description of Finite Sequential Processes'']. Proceedings of a Conference on Information Theory, C. Cherry and W. Jackson, Editors, Imperial College, London, 1960-08-29.</ref> Since <math>e</math> is a more typical letter to use for the identity permutation, it's possible that Iverson's choice was also motivated by the convention of using <math>\iota</math> for an [[wikipedia:inclusion map|inclusion map]], where iota now indicates "inclusion" or "injection".<ref name="iotashaming">Sean Parent. [https://sean-parent.stlab.cc/2019/01/04/iota.html "#iotashaming"]. sean-parent.stlab.cc. 2019-01-04.</ref> The term "inclusion" typically indicates that a particular injection is meant to be treated as an identity.


The notation <math>\iota_o(n)</math>, "Interval", was used in [[A Programming Language]] for the vector of the first <math>n</math> indices starting at [[index origin]] <math>o</math>. Both arguments were optional, with <math>n</math> being implied by [[conformability]] if omitted. It was adopted with the obvious alterations in [[APL\360]], and extended to a vector argument for [[nested array theory|nested]] APLs by [[NARS]] and for [[flat array theory|flat]] arrays by [[A+]].
The notation <math>\iota_o(n)</math>, "Interval", was used in [[A Programming Language]] for the vector of the first <math>n</math> indices starting at [[index origin]] <math>o</math>. Both arguments were optional, with <math>n</math> being implied by [[conformability]] if omitted. It was adopted with the obvious alterations in [[APL\360]], and extended to a vector argument for [[nested array theory|nested]] APLs by [[NARS]] and for [[flat array theory|flat]] arrays by [[A+]].

Navigation menu