BPFK Section: MEX Operators

From Lojban
Revision as of 11:33, 26 January 2015 by Gleki (talk | contribs) (Gleki moved page bPFK Section: MEX Operators to BPFK Section: MEX Operators without leaving a redirect)
Jump to: navigation, search

Contents

Proposed Definitions And Examples

fu'u (VUhU0)

Proposed definition

An elliptical/unspecified mathematical operator. This is semantic analogue of {zo'e}, {co'e}

Proposed keyword

  • unspecified operator

Examples of fu'u Usage

li pa fu'u pa du li re
1 'something' 1 is 2

{BOX}


ge'a (VUhU0)

Proposed definition

A null operator, in the sense that it returns all its arguments unchanged. Used as syntactic glue in poly-ary operators, such as to pass three arguments to a ternary operator in infix notation.

Proposed keyword

  • null operator

See Also

  • {tu'o} Null operand

Examples of ge'a Usage

papano bi'eju'u re gei pipanopano bi'eju'u re ge'a re
.1010 (base 2) × 2 ~94~ 110 (base 2) (CLL, 18.14.4)

{BOX}


fe'i (VUhU1)

Proposed definition

The n-ary operation of division. Divides the first argument by all subsequent ones in a left associative manner: x1 / x2 / x3 ...

Proposed keyword

  • Division
  • Divides

Notes

  • The operands of fe'i are numbers, and a fe'i expression evaluates to a number.
  • When fe'i has only one operand, it is the identity function.
  • Distinct from the fraction slash {fi'u} in that it is an operator (and not of selma'o PA).

Examples of fe'i Usage

li na'u tanjo te'u vei pai fe'i vo ve'o du li pa
tan( pi / 4 ) = 1 (CLL, variation of 18.18.1)

{BOX}


pi'i (VUhU1)

Proposed definition

The n-ary operation of multiplication. Multiplies all the arguments together in a left associative manner: x1 * x2 * x3 ...

Proposed keywords

  • multiplication
  • multiply
  • times

Notes

  • When reducing a pi'i expression from left to right, the types of the two operands considered at each point must together take one of the following forms:
    • number and number -- standard mathematical multiplication; evalutes to a number
    • number and matrix or matrix and number -- scaling the elements of a matrix by a factor; evaluates to a matrix
    • number and array of numbers or array of numbers and number -- scaling the elements of an array by a factor; evaluates to an array of numbers
    • matrix and matrix -- standard matrix multiplication; the number of columns in the first matrix must equal the number of rows in the right matrix, otherwise the result is undefined; evaluates to a matrix
    • matrix and array of numbers -- The operator sa'i is implicitly applied to the array, and the expression is then evaluated as a matrix-matrix multiplication, yielding a one-column matrix that is then implicitly converted to an array of the numbers in its column.
  • When pi'i has only one operand, it is the identity function.

Examples of pi'i Usage

li ci su'i vo pi'i mu du li cimu
3 + 4 × 5 = 35 (CLL, 18.5.8)

{BOX}


su'i (VUhU1)

Proposed definition

The n-ary operation of addition. Adds all the arguments together in a left associative manner: x1 + x2 + x3 ...

Proposed keywords

  • plus
  • add
  • addition

See Also

  • {ma'u}

Notes

  • {su'i} is the operation of addition, addition from the plus sign that indicates a positive number {ma'u}

Examples of su'i Usage

li pa su'i pa du li re
1 + 1 = 2 (CLL, 18.5.1)
li ma'u pa su'i ni'u pa du li no
+1 + -1 = 0 (CLL, 18.5.5)

{BOX}


vu'u (VUhU1)

Proposed definition

The n-ary operation of subtraction. Takes the first argument as subtracts all subsequent ones in a left associative manner: x1 - x2 - x3 ...

Proposed keyword

  • subtract
  • minus

See Also

  • va'a
  • ni'u

Notes

This is the operator for subtraction. It is distinct from {va'a} which is the operator for negation, and also from {ni'u} which is a minus sign and is part of the number

Examples of vu'u Usage

li ci vu'u re du li ma'u
the-number 3 - 2 = some-positive-number (CLL, 18.8.14)
li tu'o va'a ny. du li no vu'u ny.
-n = 0 - n (CLL, 18.14.1)

{BOX}


fa'i (VUhU2)

Proposed definition

The unary operation of inverting. It returns the reciprocal of the given number: 1 / x1

Proposed keyword

  • inverse
  • reciprocal

See Also

  • {fi'u}

Notes

This is performs similar to {fi'u}. There are differences though. This is an operator and thus may take a mekso operand as an argument, whereas {fi'u} is part of PA and so is part a number.

Examples of fa'i Usage

li fa'i vei pa su'i pa du li fi'u re
Reciprocal of (1 + 1) = 1/2

{BOX}


gei (VUhU2)

Proposed definition

This operator is a trinary operator that mimics scientific notation. It is designed so that arguments can be omitted to give magnitudes quickly. gei x1 x2 x3 = x_2 * (x_3 ~94~ x_1). x_3 defaults to 10; so gei x1 x2 = x2 * 10 ~94~ x1. x_2 defaults to 1; so gei x1 = 10 ~94~ x1

Proposed keyword

  • scientific notation

Examples of gei Usage

li cinonoki'oki'o du li bi gei ci
300,000,000 = 3 * 10~94~8 (CLL, 18.14.2)
gei reno
10~94~20 (CLL, 18.14.3)
papano bi'eju'u re gei pipanopano bi'eju'u re ge'a re
.1010_2 * 2 ~94~ 110_2 (CLL, 18.14.4)

{BOX}


ju'u (VUhU2)

Proposed definition

The binary operation that indicates the number base of its first argument: x1 is in base x2

Proposed keyword

  • base
  • number base
  • radix

Notes

For bases up to 16 Lojban has numerals you can use. But for bases greater than 16, use {pi'e} to separate the place values. {pi} is used as radix point in any base.

Examples of ju'u Usage

li pa no pa no ju'u re du li pa no
1010 base 2 = 10 (CLL, 18.10.1)
li daufeigai ju'u paxa du li rezevobi
ABC base 16 = 2748 (CLL, 18.10.2)
li pa pi'e re pi'e ci ju'u reno du li vovoci
1;2;3 base 20 = 443 (CLL, 18.10.7)
li pa pi'e vo pi ze ju'u reno du li re vo pi ci mu
1;4.7 base 20 = 24.35 (CLL, 18.10.10)

{BOX}


pa'i (VUhU2)

Proposed definition

The binary operation that returns the ratio of its two arguments: the ratio of x1 to x2.

Proposed keyword

  • ratio

Notes

No examples in CLL and none turned up searching lojban.org

Examples of pa'i Usage

( ! no correct natural usage ! )

Artificial Example:

li pa pa'i pa du li mo'e lo ninmu pa'i mo'e lo nanmu

"the ratio 1 to 1 is equal to the ratio of men to woman"

{BOX}


te'a (VUhU2)

Proposed definition

The binary operation of exponentiation: x1 to the power of x2

Proposed keyword

  • exponential
  • power

Examples of te'a Usage

li vei ny. su'i pa ve'o pi'i vei ny. su'i pa ve'o du li ny. bi'e te'a re su'i re bi'e pi'i ny. su'i pa
(n + 1)(n + 1) = n~94~2 + 2n + 1 (CLL, 18.5.10)

{BOX}


cu'a (VUhU3)

Proposed definition

The unary operation of taking an absolute value or norm: the absolute value of x1

Proposed keyword

  • absolute value
  • norm

Examples of cu'a Usage

24 Mar 2005 07:54:02 <Broca> doi jbokaj li cu'a ni'u re

li cu'a ni'u re du li re
|-2| = 2

{BOX}


de'o (VUhU3)

Proposed definition

The binary operation of logarithm. The default value of x2 is either 10 or e, depending on context. log x1 in base x2

Proposed keyword

  • log
  • ln
  • logarithm

Examples of cu'a Usage

li de'o pa du li no
ln 1 = 0

{BOX}


fe'a (VUhU3)

Proposed definition

The binary operation of taking an nth root. The default is to take a square root. The x2-th root of x1.

Proposed keyword

  • root
  • square root
  • nth root

Examples of fe'a Usage

li fe'a vei by. bi'ete'a re vu'u vo bi'epi'i .abu bi'epi'i cy. ve'o
the square root of (b^2 - 4ac) (CLL, 18.17.6)

{BOX}


ne'o (VUhU3)

Proposed definition

The factorial function. The factorial of x1.

Proposed keyword

  • factorial
  • gamma function

Notes

The definition could easily be expanded to non integer arguments by identification with a suitable modification of the gamma function (z! = \Gamma(z-1]. It depends how stringent the community wants to be with the initial definitions and how much they want to leave up to usage.

Examples of ne'o Usage

li ne'o mu du li pareno
5! = 120

{BOX}


va'a (VUhU3)

Proposed definition

The unary operation giving the additive inverse of a number. For most people, this is a fancy way of saying the negative of a number.

Proposed keyword

  • additive inverse

Notes

  • This is distinct from the minus sign {ni'u} and subtraction {vu'u}.
  • This operator (and multiplicative inverse now that I think of it) could be made more useful if there was an explicit link to abstract algebra (specifically groups and rings). Consider it on my maybe-to-do list. mi'e Ross

See Also

  • ni'u
  • vu'u

Examples of va'a Usage

li py. su'i va'a ny. ku'e su'i zy du li xy.
p + (-n) + z = x (CLL, 18.6.2)

{BOX}


pi'a (VUhU4)

Proposed definition

This n-ary operator takes vectors as operands and forms them into the rows of a matrix. The matrix with rows x1, x2, x3, ...

Proposed keyword

  • matrix
  • row matrix
  • row

See Also

  • jo'i
  • sa'i

Examples of pi'a Usage

jo'i biboi paboi xa pi'a jo'i ciboi muboi ze ge'a jo'i voboi soboi re 
||8|1|6

3|5| 7

4|9|2|| (CLL, 18.15.2)

{BOX}


re'a (VUhU4)

Proposed definition

The unary operation of transposing a matrix.

Proposed keyword

  • transpose
  • matrix transposition

Examples of re'a Usage

li re'a vei jo'i paboi re pi'a jo'i ciboi vo du li jo'i paboi ci pi'a jo'i reboi vo
The transpose of the matrix ( (1 2)(3 4) ) = ( (1 3)(2 4) )

{BOX}


ri'o (VUhU4)

Proposed Definition

The trinary operation of taking the definite integral of a function. The integral of x1 with respect to x2 over range x3

Proposed Keywords

  • integral
  • integration

Notes

This definition should be extended somehow to accommodate indefinite integration. I suggest that indefinite integration should be the interpretation when x3 is omitted. I'm not sure whether the grammar is capable of polymorphic operators like this. Other options/ways to get this behaviour is to default x3 to no bi'o ty (recover indefinite integrals as parameter integrals), or make it the indefinite when x3 is filled with mo'e zi'o.

This definition is (rather sneakily) fully compatible with a Lebesgue definition of integration. Just give a measurable function as x1, a measure to x2 and measurable set to x3.

Examples of ri'o Usage

li ri'o pa xy. no bi'e bi'o pa du li pa
The integral of 1 with respect to x from 0 to 1 is equal to 1

{BOX}


sa'i (VUhU4)

Proposed Definition

This n-ary operator takes vectors as operands and forms them into the columns of a matrix. The matrix with the columns x1, x2, x3, ...

Proposed Keywords

  • matrix
  • column matrix
  • columns

See also

  • pi'a
  • jo'i

Examples of sa'i Usage

jo'i biboi ciboi vo sa'i jo'i paboi muboi so ge'a jo'i xaboi zeboi re
||8|1|6

3|5|7

4|9|2||(CLL, 18.15.3)

{BOX}


sa'o (VUhU4)

Proposed Definition

The trinary operation of taking the derivative of a function. The derivative of x1 with respect to x2 of degree x3. The default value of x3 is 1.

Proposed Keywords

  • derivative
  • derive

Examples of sa'o Usage

li sa'o xy. xy. du li ma'o pa
The derivative of x with respect to x is the function 1

{BOX}


si'i (VUhU4)

Proposed Definition

The trinary operation which lays out the summation of an indexed sequence of expressions. Also known in mathematics as sigma notation. The sum of x1 in a variable x2 over range x3

Proposed Keywords

  • sum
  • sigma summation

Examples of ' Usage

li si'i ky. ky. vei no bi'o ny. du li pimu pi'i ny. pi'i vei ny. su'i pa
The sum of k from 0 to n is equal to 0.5 x n x ( n+1 )

{BOX}

Impact

There is no changes to the definitions. I've tried to make them follow the CLL as closely as possible. Further since there is so little mekso literature, there is almost nothing to 'break' anyway. I have made a few suggestions to extend the definitions to expand the functionality some operators. This can be ratified formally if the bpfk/community feels that they add to utility more than they subtract in flexibility.

I (mi'e Ross) am not the first person to take up this section. Minimiscience did some work before I came along. He (She?) is obviously a programmer and seem to have been caught up in designing a consistent type system. Evidence of the beginnings of the system has been moved to the section below this. I am of the opinion that we will never be able to describe how these operators work in every context and so we should stick to giving the base definition and allow authors/speakers to use the operators in other contexts in accordance with common mathematical convention. For the moment, the only hangover of Minimiscience's type system in the above definitions is for {pi'i}.

This said, I think there is merit in the idea to specify default values for omitted arguments or alternatively treat the functions as polymorphic and give definitions of different combinations of arguments it gets given. The latter seems blotted/ overkill but would give definite meanings to operators that get passed tu'o. I haven't done either above.

Minimiscience's Type System

  • When an expression is here said to be "undefined," it means that, in the absence of external information about the interpretation of the expression, it is semantically void, meaningless, and/or nonsensical.
  • Mathematical operators take one or more operands, which are here referred to by an 'x' subscripted with a number.
  • Operators defined here as "unary" are defined as operating on their first operand that is not equal to tu'o (referred to as "the operand" within the respective definitions), regardless of where it occurs in the operand list.
    • See also: CLL section 18.16, example 16.3 and the paragraph before it, in which the operand of va'a is in the x_1 place; CLL section 18.14, example 14.1, in which the operand of va'a is in the x_2 place.
  • If all operands of an operator are tu'o, the value of the expression is equal to tu'o.
  • If an operand described in an operator's definition is missing from the operator's operand list and there is no default value given, the missing operand shall be interpreted as tu'o.
  • If one or more extra operands not described in an operator's definition are present in the operator's operand list, they affect the evaluation in an undefined or unspecified manner analogous to sumti attached to a selbri with do'e.
  • Lojban mathematical operators are defined in terms of conventional mathematical operators, and thus there is an implicit type system used in determining the value of an expression. Mekso operands may be of any of the following types:
    • number -- a "number" production in the formal grammar, usually corresponding to an element of the complex plane
    • array -- an array, vector, ordered list/set, or tuple of one or more mekso values, constructed using jo'i
    • matrix -- a composition of one or more arrays of numbers, all of the same size, constructed using pi'a or sa'i
    • function
  • If an operator is applied to operands of a type which its definition does not address, the expression is undefined.
  • The operand tu'o is polymorphic; its type in an expression is determined by its surrounding context.
  • Operator-specific type information (currently in the "Notes" subsections) needs to be included in the main definitions somehow without being too clunky.