Minimum: Difference between revisions

Jump to navigation Jump to search
90 bytes added ,  22:23, 10 September 2022
m
Text replacement - "</source>" to "</syntaxhighlight>"
m (Text replacement - "<source" to "<syntaxhighlight")
Tags: Mobile edit Mobile web edit
m (Text replacement - "</source>" to "</syntaxhighlight>")
 
Line 1: Line 1:
{{Built-in|Minimum|⌊}}, '''Min''', or '''Lesser of''' is a [[dyadic]] [[scalar function]] which returns the [[Less than|smaller]] of its two [[argument]]s. The name "Minimum" is sometimes also used for the Minimum [[Reduce]] <syntaxhighlight lang=apl inline>⌊/</source>, which returns the smallest element of a [[vector]] (this usage is related to the [[wikipedia:minimum|minimum]] of a function). Minimum is paired with [[Maximum]], which returns the greater argument rather than the smaller, and shares the glyph <syntaxhighlight lang=apl inline>⌊</source> with the [[Floor]] function. It is not subject to [[comparison tolerance]], since the result will be exactly equal to one argument, and there is no reason to choose a larger argument even if the two arguments are [[tolerant comparison|tolerantly]] equal. As a [[Boolean function]], Minimum is identical to [[And]].
{{Built-in|Minimum|⌊}}, '''Min''', or '''Lesser of''' is a [[dyadic]] [[scalar function]] which returns the [[Less than|smaller]] of its two [[argument]]s. The name "Minimum" is sometimes also used for the Minimum [[Reduce]] <syntaxhighlight lang=apl inline>⌊/</syntaxhighlight>, which returns the smallest element of a [[vector]] (this usage is related to the [[wikipedia:minimum|minimum]] of a function). Minimum is paired with [[Maximum]], which returns the greater argument rather than the smaller, and shares the glyph <syntaxhighlight lang=apl inline>⌊</syntaxhighlight> with the [[Floor]] function. It is not subject to [[comparison tolerance]], since the result will be exactly equal to one argument, and there is no reason to choose a larger argument even if the two arguments are [[tolerant comparison|tolerantly]] equal. As a [[Boolean function]], Minimum is identical to [[And]].


== Examples ==
== Examples ==
Line 7: Line 7:
       2.4 ⌊ 1.9
       2.4 ⌊ 1.9
1.9
1.9
</source>
</syntaxhighlight>
Together with [[Maximum]], it can clamp an array of numbers to a range (closed interval), here from 0 to 1:
Together with [[Maximum]], it can clamp an array of numbers to a range (closed interval), here from 0 to 1:
<syntaxhighlight lang=apl>
<syntaxhighlight lang=apl>
       0 ⌈ 1 ⌊ ¯0.2 ¯0.1 0.3 0.8 1 1.3
       0 ⌈ 1 ⌊ ¯0.2 ¯0.1 0.3 0.8 1 1.3
0 0 0.3 0.8 1 1
0 0 0.3 0.8 1 1
</source>
</syntaxhighlight>
Because the [[complex number]]s do not form an [[wikipedia:ordered field|ordered field]], attempting to take the minimum with a complex argument yields a [[DOMAIN ERROR]].
Because the [[complex number]]s do not form an [[wikipedia:ordered field|ordered field]], attempting to take the minimum with a complex argument yields a [[DOMAIN ERROR]].
<syntaxhighlight lang=apl>
<syntaxhighlight lang=apl>
Line 19: Line 19:
       3⌊3J1
       3⌊3J1
       ∧
       ∧
</source>
</syntaxhighlight>


=== Reduction ===
=== Reduction ===
Line 27: Line 27:
       ⌊/ 4 3 2 3 1 5 7
       ⌊/ 4 3 2 3 1 5 7
1
1
</source>
</syntaxhighlight>
To find the [[index]] of the minimum, [[Index Of]] can be used to search for it. A shorter, but usually slower, method is to take the [[First]] of the vector's [[Grade]].
To find the [[index]] of the minimum, [[Index Of]] can be used to search for it. A shorter, but usually slower, method is to take the [[First]] of the vector's [[Grade]].
<syntaxhighlight lang=apl>
<syntaxhighlight lang=apl>
Line 34: Line 34:
       ⊃⍋ 4 3 2 3 1 5 7
       ⊃⍋ 4 3 2 3 1 5 7
5
5
</source>
</syntaxhighlight>
The two solutions may differ when [[comparison tolerance]] is not zero, because Index Of uses tolerant comparison but Grade does not. The first solution will return a smaller index if an element that is tolerantly but not exactly equal to the minimum is found at that index.
The two solutions may differ when [[comparison tolerance]] is not zero, because Index Of uses tolerant comparison but Grade does not. The first solution will return a smaller index if an element that is tolerantly but not exactly equal to the minimum is found at that index.


Reducing over an empty axis yields the largest representable number, as that is the identity element for Minimum. This value is usually <syntaxhighlight lang=apl inline>∞</source> (for dialects that support [[infinity|infinities]]) or <syntaxhighlight lang=apl inline>1.797693135E308</source> (with 64-bit [[float]]s) or <syntaxhighlight lang=apl inline>1E6145</source> (with 128-bit [[decimal float]]s).
Reducing over an empty axis yields the largest representable number, as that is the identity element for Minimum. This value is usually <syntaxhighlight lang=apl inline>∞</syntaxhighlight> (for dialects that support [[infinity|infinities]]) or <syntaxhighlight lang=apl inline>1.797693135E308</syntaxhighlight> (with 64-bit [[float]]s) or <syntaxhighlight lang=apl inline>1E6145</syntaxhighlight> (with 128-bit [[decimal float]]s).


== External links ==
== External links ==

Navigation menu