Minimum
Minimum (⌊
), Min, or Lesser of is a dyadic scalar function which returns the smaller of its two arguments. The name "Minimum" is sometimes also used for the Minimum Reduce ⌊/
, which returns the smallest element of a vector (this usage is related to the minimum of a function). Minimum is paired with Maximum, which returns the greater argument rather than the smaller, and shares the glyph ⌊
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 tolerantly equal. As a Boolean function, Minimum is identical to And.
Examples
Minimum finds the smaller of two numbers:
2.4 ⌊ 1.9 1.9
Together with Maximum, it can clamp an array of numbers to a range (closed interval), here from 0 to 1:
0 ⌈ 1 ⌊ ¯0.2 ¯0.1 0.3 0.8 1 1.3 0 0 0.3 0.8 1 1
Because the complex numbers do not form an ordered field, attempting to take the minimum with a complex argument yields a DOMAIN ERROR.
3 ⌊ 3j1 DOMAIN ERROR 3⌊3J1 ∧
Reduction
Minimum Reduce finds the smallest element in an entire vector:
⌊/ 4 3 2 3 1 5 7 1
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.
{⍵⍳⌊/⍵} 4 3 2 3 1 5 7 5 ⊃⍋ 4 3 2 3 1 5 7 5
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.
External links
Documentation