Singleton: Difference between revisions

From APL Wiki
Jump to navigation Jump to search
Miraheze>Marshall
(Created page with "A singleton is an array with bound 1. Equivalently, its shape consists entirely of 1s. It may have any rank. Every scalar is a singleton, because <code>1=×/...")
 
mNo edit summary
(6 intermediate revisions by 5 users not shown)
Line 1: Line 1:
A singleton is an array with [[bound]] 1. Equivalently, its [[shape]] consists entirely of 1s. It may have any [[rank]].
A '''singleton''' is an [[Array model|array]] with [[bound]] 1. Equivalently, its [[shape]] consists entirely of 1s. It may have any [[rank]]. For example, all the following are singletons:


Every [[scalar]] is a singleton, because <code>1=×/</code>.
* The [[scalar]] <source lang=apl inline>42</source>
* The [[vector]] <source lang=apl inline>,42</source>
* The [[matrix]] <source lang=apl inline>⍪42</source>
* The three-[[dimension]]al array <source lang=apl inline>1 1 1⍴42</source>
* The [[nested]] scalar <source lang=apl inline>⊂4 2</source>
 
Whether an array <source lang=apl inline>X</source> is a singleton can be determined with <source lang=apl inline>1=×/⍴X</source> or, less efficiently, with <source lang=apl inline>1=≢,X</source>.
 
Every scalar <source lang=apl inline>X</source> is a singleton, because <source lang=apl inline>1=×/⍴X</source>, or alternatively <source lang=apl inline>1=≢,X</source>.


Singletons may be subject to [[singleton extension]].
Singletons may be subject to [[singleton extension]].
{{APL features}}[[Category:Kinds of array]]

Revision as of 08:57, 13 May 2020

A singleton is an array with bound 1. Equivalently, its shape consists entirely of 1s. It may have any rank. For example, all the following are singletons:

Whether an array X is a singleton can be determined with 1=×/⍴X or, less efficiently, with 1=≢,X.

Every scalar X is a singleton, because 1=×/⍴X, or alternatively 1=≢,X.

Singletons may be subject to singleton extension.

APL features [edit]
Built-ins Primitives (functions, operators) ∙ Quad name
Array model ShapeRankDepthBoundIndex (Indexing) ∙ AxisRavelRavel orderElementScalarVectorMatrixSimple scalarSimple arrayNested arrayCellMajor cellSubarrayEmpty arrayPrototype
Data types Number (Boolean, Complex number) ∙ Character (String) ∙ BoxNamespaceFunction array
Concepts and paradigms Conformability (Scalar extension, Leading axis agreement) ∙ Scalar function (Pervasion) ∙ Identity elementComplex floorArray ordering (Total) ∙ Tacit programming (Function composition, Close composition) ∙ GlyphLeading axis theoryMajor cell search
Errors LIMIT ERRORRANK ERRORSYNTAX ERRORDOMAIN ERRORLENGTH ERRORINDEX ERRORVALUE ERROREVOLUTION ERROR