Top Qs
Timeline
Chat
Perspective

Ternary operation

Mathematical operation that combines three elements to produce another element From Wikipedia, the free encyclopedia

Remove ads

In mathematics, a ternary operation is an n-ary operation with n = 3. A ternary operation on a set A takes any given three elements of A and combines them to form a single element of A.

In computer science, a ternary operator is an operator that takes three arguments as input and returns one output.[1]

Examples

Summarize
Perspective
Thumb
Given A, B and point P, geometric construction yields V, the projective harmonic conjugate of P with respect to A and B.

The function is an example of a ternary operation on the integers (or on any structure where and are both defined). Properties of this ternary operation have been used to define planar ternary rings in the foundations of projective geometry.

In the Euclidean plane with points a, b, c referred to an origin, the ternary operation has been used to define free vectors.[2] Since (abc) = d implies ba = cd, the directed line segments ba and cd are equipollent and are associated with the same free vector. Any three points in the plane a, b, c thus determine a parallelogram with d at the fourth vertex.

In projective geometry, the process of finding a projective harmonic conjugate is a ternary operation on three points. In the diagram, points A, B and P determine point V, the harmonic conjugate of P with respect to A and B. Point R and the line through P can be selected arbitrarily, determining C and D. Drawing AC and BD produces the intersection Q, and RQ then yields V.

Suppose A and B are given sets and is the collection of binary relations between A and B. Composition of relations is always defined when A = B, but otherwise a ternary composition can be defined by where is the converse relation of q. Properties of this ternary relation have been used to set the axioms for a heap.[3]

In Boolean algebra, defines the formula .

Remove ads

Computer science

Summarize
Perspective

In computer science, an operator is a ternary operator if it takes three arguments (or operands).[1]

Many programming languages that use C-like syntax[4] feature the ternary conditional operator, ?:, which defines a conditional expression that yields a value. This is sometimes referred to simply as the ternary operator, despite that several unrelated ternary operators exist.

In the expression x = a ? b : c the variable x will be assigned the value b if a is true. Otherwise it will be assigned the value c.

Some languages use a different syntax. In Python, the same expression would take the form x = b if a else c. In Excel formulae, the form is =IF(a, b, c).

Many languages do not have a ternary conditional operator, though some have an alternative. For instance, in Ruby, the if/elsif/else flow control structure yields a value, so it serves the same purpose. In SQL, the CASE expression evaluates many conditionals to yield a value. These examples are not strictly ternary because they may have more than three components.

Ternary operators other than the ternary conditional operator exist.

In Python the expression a[b:c] will slice a portion of an array. The result is a new array containing all the elements of a from b to c-1.[5]

In OCaml the expression a.(b) <- c updates element b of array a to value c.[6]

In some assembly languages the MAD operation is in ternary form. The statement MAD a, b, c multiplies b and c, adds the result to a, and stores the final result in a, all in a single CPU cycle. In some assembly languages the order of the operands may differ. In some, the operation isn't ternary because it requires a fourth operand to indicate the location where the result will be stored.

The SQL expression BETWEEN is ternary, as in age BETWEEN 90 AND 100.

The Icon expression to becomes ternary when used with by, as in 1 to 10 by 2, which generates the odd integers from 1 through 9.

Remove ads

See also

References

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads