4,494
edits
(Created page with "{{Built-in|Intersection|∩}} is a dyadic set function which computes the set intersection of the two vector argument|arg...") |
m (Text replacement - "</source>" to "</syntaxhighlight>") |
||
(3 intermediate revisions by the same user not shown) | |||
Line 3: | Line 3: | ||
== Examples == | == Examples == | ||
Both arguments of Intersection is usually restricted to [[vector|vectors]]. Unlike sets in the mathematical sense, duplicate elements are allowed in both sides, and Intersection is usually implemented as "left argument [[replicate|filtered]] by its [[membership|existence]] in the right argument" < | Both arguments of Intersection is usually restricted to [[vector|vectors]]. Unlike sets in the mathematical sense, duplicate elements are allowed in both sides, and Intersection is usually implemented as "left argument [[replicate|filtered]] by its [[membership|existence]] in the right argument" <syntaxhighlight lang=apl inline>(X∊Y)/X</syntaxhighlight>, which preserves the order and multiplicity in the left argument. Both arguments can be [[nested array|nested arrays]]. | ||
< | <syntaxhighlight lang=apl> | ||
'ABRA'∩'CAR' | 'ABRA'∩'CAR' | ||
ARA | ARA | ||
Line 17: | Line 17: | ||
│AND│ | │AND│ | ||
└───┘ | └───┘ | ||
</ | </syntaxhighlight> | ||
== Extension == | |||
Some dialects allow Intersection to work on [[major cell]]s: | |||
[https://tio.run/##SyzI0U2pTMzJT9dNrShJzUtJTfn/P@JR2wQTBaNHvVvUHR2dnJyBQJ0rEihojBB0dFTnetQ3FSgY8ahjZeT//wA Try it online!]<syntaxhighlight lang=apl> | |||
X←4 2⍴'AABBCCCC' | |||
Y←3 2⍴'AABBAA' | |||
X∩Y | |||
AA | |||
BB | |||
</syntaxhighlight>{{Works in|[[Extended Dyalog APL]]}} | |||
Others can easily define such a function: | |||
[https://tio.run/##SyzI0U2pTMzJT///P@JR2wQTBaNHvVvUHR2dnJyBQJ0rEihojBB0dFTn8swrSS0qTk0uyczPA8pWP@rd9ahn/6PeFRqPOhc96t2q@ahzKZB61LsZKFPL9ahvKlBVhAKyNoXI//8B Try it online!]<syntaxhighlight lang=apl> | |||
X←4 2⍴'AABBCCCC' | |||
Y←3 2⍴'AABBAA' | |||
Intersection←{⍺⌿⍨(≢⍵)≥⍵⍳⍺} | |||
X Intersection Y | |||
AA | |||
BB | |||
</syntaxhighlight>{{Works in|[[Dyalog APL]]}} | |||
== External Links == | == External Links == | ||
=== Documentation === | === Documentation === | ||
* [ | * [https://help.dyalog.com/latest/#Language/Primitive%20Functions/Intersection.htm Dyalog] | ||
* [http://microapl.com/apl_help/ch_020_020_394.htm APLX] | * [http://microapl.com/apl_help/ch_020_020_394.htm APLX] | ||
{{APL built-ins}}[[Category:Primitive functions]][[Category:Set functions]] | {{APL built-ins}}[[Category:Primitive functions]][[Category:Set functions]] |