수학(mathematics)에서, 삼항 연산(ternary operation)은 n-항(n-ary) 연산(operation)에서 n = 3을 갖는 연산입니다. 집합 A 위에 삼항 연산은 A의 임의의 주어진 셋의 원소를 취하고 그것들을 결합하여 A의 단일 원소를 형성합니다.
컴퓨터 과학(computer science)에서, 삼항 연산자는 셋의 인수를 취하는 연산자(operator)입니다.
Examples
만약 F가 필드(field)이면, 함수 \(T(a,\ b,\ c) \ =\ ab + c\)는 F 위에 삼항 연산자의 예제입니다. 이 삼항 연산자의 속성은 투영 기하학의 토대에서 평면 삼항 링(planar ternary ring)을 정의하기 위해 사용되어 왔습니다.
점 a, b, c가 원점을 참조하는 것과 함께 유클리드 평면(Euclidean plane)에서, 삼항 연산 \([a, b, c] \ = \ a - b + c\)는 자유 벡터(free vector)를 정의하기 위해 사용되어 왔습니다. (abc) = d는 a – b = c – d를 의미하므로, 이들 방향화된 선분은 등가(equipollent)이고 같은 자유 벡터와 결합됩니다. 평면에서 임의의 세 점 a, b, c는 따라서 네 번째 꼭짓점에서 d를 갖는 평면사변형(parallelogram)을 결정합니다.
투영 기하학(projective geometry)에서, 투영 조화 켤레(projective harmonic conjugate)를 찾기 위한 과정은 세 점에 대한 삼항 연산입니다. 그림에서, 점 A, B, 및 P는 점 V, A와 B에 관한 P의 조화 켤레를 결정합니다. 점 R과 P를 통한 직선은 임의적으로 선택될 수 있으며, C와 D를 결정합니다. AC와 BD를 그리면 교점 D를 생성하고 RQ는 그런-다음 V를 산출합니다.
A와 B가 주어진 집합이고 \(\mathcal{B}(A,B)\)가 A와 B 사이의 이항 관계(binary relation)의 모음이라고 가정합니다. 관계의 합성(Composition of relations)은 항상 A = B일 때 정의되지만, 그렇지 않으면 삼항 합성은 \([p,\ q,\ r] \ =\ p q^T r\)에 의해 정의될 수 있으며, 여기서 \(q^T\)는 q의 전환 관계(converse relation)입니다. 이 삼항 관계의 속성은 힙(heap)에 대해 공리를 설정하기 위해 사용되어 왔습니다.
Computer science
컴퓨터 과학에서, 삼항 연산자는 세 개의 인수 (또는 피연산자)를 취하는 연산자(operator)입니다. 인수와 결과는 다른 유형일 수 있습니다. C와 유사한 구문을 사용하는 많은 프로그래밍 언어는 조건부 표현(conditional expression)을 정의하는 삼항 연산자, ?:를 가집니다. 일부 언어에서, 이 연산자는 조건부 연산자로 참조됩니다.
파이썬(Python)에서, 삼항 조건부 연산자는 x if C else y로 읽습니다. 파이썬은 역시 배열 슬라이싱이라고 불리는 삼항 연산자를 지원합니다. 예를 들어, a[b:c]는 첫 번째 원소가 a[b]이고 마지막 원소가 a[c-1]인 곳에서 배열을 반환합니다. OCaml 표현은 레코드, 배열, 및 문자열에 맞서 삼항 연산을 제공합니다: a.[b]<-c는 인덱스 b가 값 c를 가지는 곳에서 문자열 a를 의미할 것입니다.
곱하기-누적 연산(multiply–accumulate operation)은 또 다른 삼항 연산자입니다.
삼항 연산자의 또 다른 예제는 SQL에서 사용하는 것처럼 between입니다.
아이콘 프로그래밍 언어(Icon programming language)는 "to-by" 삼항 연산자를 가집니다: 표현 1 to 10 by 2은 1에서 9까지 홀수 정수를 생성합니다.
References
- MDN, nmve. "Conditional (ternary) Operator". Mozilla Developer Network. MDN. Retrieved 20 February 2017.
- Jeremiah Certaine (1943) The ternary operation (abc) = a b−1c of a group, Bulletin of the American Mathematical Society 49: 868–77 MR0009953
- Christopher Hollings (2014) Mathematics across the Iron Curtain: a history of the algebraic theory of semigroups, page 264, History of Mathematics 41, American Mathematical Society ISBN 978-1-4704-1493-1
- Hoffer, Alex. "Ternary Operator". Cprogramming.com. Cprogramming.com. Retrieved 20 February 2017.
- "6. Expressions — Python 3.9.1 documentation". docs.python.org. Retrieved 2021-01-19.
- "7.7 Expressions". caml.inria.fr. Retrieved 2021-01-19.
External links
- Media related to Ternary operations at Wikimedia Commons