Кортеж

редактировать
Эта статья о математической концепции. Чтобы узнать о музыкальном термине, см. Tuplet. "Octuple" перенаправляется сюда. Чтобы узнать о типе гребной лодки, см. Octuple scull. "Duodecuple" перенаправляется сюда. Чтобы узнать о термине в музыке, см. « Двенадцатитоновая техника».

В математике, А кортеж является конечным упорядоченным списком (последовательности) элементов. П -кратного представляет собой последовательность (или упорядоченный список) из п элементов, где п является неотрицательным целым числом. Есть только один 0-кортеж, называемый пустым кортежем. П -кратный является определяются индуктивно с использованием конструкции упорядоченной пары.

Математики обычно пишут кортежи, перечисляя элементы в круглых скобках « () » и разделяя их запятыми; например, (2, 7, 4, 1, 7) обозначает 5-кортеж. Иногда элементы окружают другие символы, например квадратные скобки «[]» или угловые скобки «⟨⟩». Фигурные скобки «{}» используются для указания массивов в некоторых языках программирования, но не в математических выражениях, поскольку они являются стандартной записью для множеств. Термин кортеж часто встречается при обсуждении других математических объектов, таких как векторы.

В информатике кортежи бывают разных форм. Большинство типизированных языков функционального программирования реализуют кортежи непосредственно как типы продуктов, тесно связанные с алгебраическими типами данных, сопоставлением с образцом и деструктурирующим присваиванием. Многие языки программирования предлагают альтернативу кортежам, известным как типы записей, с неупорядоченными элементами, доступ к которым осуществляется по метке. Некоторые языки программирования объединяют упорядоченные типы кортежей и неупорядоченные типы записей в единую конструкцию, как в структурах C и записях Haskell. Реляционные базы данных могут формально идентифицировать свои строки (записи) как кортежи.

Кортежи также встречаются в реляционной алгебре ; при программировании семантической сети с помощью Resource Description Framework (RDF); в лингвистике ; и в философии.

СОДЕРЖАНИЕ

  • 1 Этимология
    • 1.1 Имена кортежей определенной длины
  • 2 свойства
  • 3 Определения
    • 3.1 Кортежи как функции
    • 3.2 Кортежи как вложенные упорядоченные пары
    • 3.3 Кортежи как вложенные наборы
  • 4 n -набора m -множеств
  • 5 Теория типов
  • 6 См. Также
  • 7 Примечания
  • 8 ссылки
  • 9 Источники
  • 10 Внешние ссылки

Этимология

Термин возник как абстракция последовательности: single, couple / double, triple, quadruple, quintuple, sextuple, septuple, octuple,..., n ‑tuple,..., где префиксы взяты из латинских названий цифры. Уникальный 0-кортеж называется нулевым кортежем или пустым кортежем. Кортеж из 1 называется одиночным (или одноэлементным), кортеж из двух элементов называется упорядоченной парой или парой, а набор из трех элементов называется тройкой (или тройкой). Число n может быть любым целым неотрицательным числом. Например, комплексное число может быть представлено как кортеж из двух вещественных чисел, кватернион может быть представлен как кортеж из четырех, октонион может быть представлен как кортеж из восьми, а сегмент может быть представлен как кортеж из 16 чисел..

Хотя в этих случаях суффикс трактуется как кратный, исходный суффикс был кратным, например, «тройной» (тройной) или «десятикратный» (десятикратный). Это происходит от средневекового латинского plus (что означает «больше»), связанного с греческим ‑πλοῦς, который заменил классический и позднеантичный ‑plex (что означает «сложенный»), например, «дуплекс».

Имена кортежей определенной длины

Дополнительная информация: Цифровой префикс
Длина кортежа, п {\ displaystyle n} Имя Альтернативные названия
0 пустой кортеж нулевой кортеж / пустая последовательность / единица
1 монумент одиночный / одиночный / монада
2 пара двойной / упорядоченная пара / двухместная / двойная / двойная / двойная / диадная / двойная
3 тройной тройной / тройной / тройной / упорядоченный тройной / тройка
4 четырехместный квад / тетрада / квартет / квадруплет
5 пятикратный пятиместный / квинт / пентада
6 шестерка шестнадцатеричный / шестнадцатеричный
7 семерка семерка / гептада
8 восьмерка окта / октет / октад / октуплет
9 неполный nonad / ennead
10 девяносто декада / десятилетие (устарело)
11 необъятный hendecuple / hendecad
12 двенадцатиперстный дюжина / дуодекад
13 Tredecuple чертова дюжина
14 четверка
15 пятерка
16 секс
17 семерка
18 восьмидесятилетний
19 новый
20 маршал
21 год однотипный
22 двойник
23 тройка
24 четырехместный
25 пятиместный
26 секс
27 семерка
28 год восьмиугольник
29 ночь
30 тройной
31 год беспричинный
40 четырехместный
41 год одноквадратный
50 пятерка
60 секс
70 семидесятилетний
80 восьмидесятилетний
90 многократный
100 пятикратный
1,000 миллиард тысяча

Обратите внимание, что для имя кортежа в приведенной выше таблице может также функционировать как глагол, означающий «умножить [прямой объект] на »; например, «в пять раз» означает «умножить на 5». Если, то связанный глагол - «удвоить». Также существует глагол «sesquiple», означающий «умножать на 3/2». Теоретически «монумент» можно было бы использовать и таким образом. п 3 {\ Displaystyle п \ geq 3} п {\ displaystyle n} п знак равно 2 {\ displaystyle n = 2}

Характеристики

Общее правило идентичности двух n -наборов таково:

( а 1 , а 2 , , а п ) знак равно ( б 1 , б 2 , , б п ) {\ displaystyle (a_ {1}, a_ {2}, \ ldots, a_ {n}) = (b_ {1}, b_ {2}, \ ldots, b_ {n})} если и только если. а 1 знак равно б 1 ,   а 2 знак равно б 2 ,   ,   а п знак равно б п {\ displaystyle a_ {1} = b_ {1}, {\ text {}} a_ {2} = b_ {2}, {\ text {}} \ ldots, {\ text {}} a_ {n} = b_ {n}}

Таким образом, кортеж имеет свойства, которые отличают его от набора :

  1. Кортеж может содержать несколько экземпляров одного и того же элемента, поэтому кортеж ; но поставил. ( 1 , 2 , 2 , 3 ) ( 1 , 2 , 3 ) {\ Displaystyle (1,2,2,3) \ neq (1,2,3)} { 1 , 2 , 2 , 3 } знак равно { 1 , 2 , 3 } {\ Displaystyle \ {1,2,2,3 \} = \ {1,2,3 \}}
  2. Элементы кортежа упорядочены: кортеж, но установлен. ( 1 , 2 , 3 ) ( 3 , 2 , 1 ) {\ Displaystyle (1,2,3) \ neq (3,2,1)} { 1 , 2 , 3 } знак равно { 3 , 2 , 1 } {\ Displaystyle \ {1,2,3 \} = \ {3,2,1 \}}
  3. Кортеж имеет конечное число элементов, а набор или мультимножество может иметь бесконечное количество элементов.

Определения

Есть несколько определений кортежей, которые придают им свойства, описанные в предыдущем разделе.

Кортежи как функции

-Кратного может быть идентифицирован как пустая функция. Для получения в -кратноге может быть идентифицирован с ( сюръективными ) функциями 0 {\ displaystyle 0} п 1 , {\ Displaystyle п \ geq 1,} п {\ displaystyle n} ( а 1 , , а п ) {\ displaystyle \ left (a_ {1}, \ ldots, a_ {n} \ right)}

F   :   { 1 , , п }     { а 1 , , а п } {\ Displaystyle F ~: ~ \ left \ {1, \ ldots, n \ right \} ~ \ to ~ \ left \ {a_ {1}, \ ldots, a_ {n} \ right \}}

с доменом

домен F знак равно { 1 , , п } знак равно { я N : 1 я п } {\ displaystyle \ operatorname {domain} F = \ left \ {1, \ ldots, n \ right \} = \ left \ {i \ in \ mathbb {N}: 1 \ leq i \ leq n \ right \}}

и с codomain

codomain F знак равно { а 1 , , а п } , {\ displaystyle \ operatorname {codomain} F = \ left \ {a_ {1}, \ ldots, a_ {n} \ right \},}

что определяется на по я домен F знак равно { 1 , , п } {\ displaystyle i \ in \ Operatorname {domain} F = \ left \ {1, \ ldots, n \ right \}}

F ( я ) знак равно а я . {\ displaystyle F (i): = a_ {i}.}

То есть это функция, определяемая F {\ displaystyle F}

1 а 1 п а п {\ displaystyle {\ begin {alignat} {3} 1 \; amp; \ mapsto amp;amp; \; a_ {1} \\\; amp; \; \; \ vdots amp;amp; \; \\ n \; amp; \ mapsto amp;amp; \; а_ {п} \\\ конец {выровненный}}}

в этом случае равенство

( а 1 , а 2 , , а п ) знак равно ( F ( 1 ) , F ( 2 ) , , F ( п ) ) {\ Displaystyle \ влево (а_ {1}, а_ {2}, \ точки, а_ {п} \ вправо) = \ влево (F (1), F (2), \ точки, F (п) \ вправо) }

обязательно держит.

Кортежи как наборы упорядоченных пар

Функции обычно идентифицируются по их графам, которые представляют собой определенный набор упорядоченных пар. Действительно, многие авторы используют графики как определение функции. Используя это определение «функции», указанная выше функция может быть определена как: F {\ displaystyle F}

F   знак равно   { ( 1 , а 1 ) , , ( п , а п ) } . {\ Displaystyle F ~: = ~ \ left \ {\ left (1, a_ {1} \ right), \ ldots, \ left (n, a_ {n} \ right) \ right \}.}

Кортежи как вложенные упорядоченные пары

Другой способ моделирования кортежей в теории множеств - это упорядоченные вложенные пары. Этот подход предполагает, что понятие упорядоченной пары уже определено.

  1. 0-кортеж (т.е. пустой кортеж) представлен пустым набором. {\ displaystyle \ emptyset}
  2. П -кратный с п gt; 0, может быть определена как упорядоченная пара ее первой запись и ( п - 1) -кратного (который содержит остальные записи, когда п gt; 1):
    ( а 1 , а 2 , а 3 , , а п ) знак равно ( а 1 , ( а 2 , а 3 , , а п ) ) {\ displaystyle (a_ {1}, a_ {2}, a_ {3}, \ ldots, a_ {n}) = (a_ {1}, (a_ {2}, a_ {3}, \ ldots, a_ { n}))}

Это определение может быть применено рекурсивно к ( n - 1) -набору:

( а 1 , а 2 , а 3 , , а п ) знак равно ( а 1 , ( а 2 , ( а 3 , ( , ( а п , ) ) ) ) ) {\ displaystyle (a_ {1}, a_ {2}, a_ {3}, \ ldots, a_ {n}) = (a_ {1}, (a_ {2}, (a_ {3}, (\ ldots, (а_ {п}, \ emptyset) \ ldots))))}

Так, например:

( 1 , 2 , 3 ) знак равно ( 1 , ( 2 , ( 3 , ) ) ) ( 1 , 2 , 3 , 4 ) знак равно ( 1 , ( 2 , ( 3 , ( 4 , ) ) ) ) {\ Displaystyle {\ begin {align} (1,2,3) amp; = (1, (2, (3, \ emptyset))) \\ (1,2,3,4) amp; = (1, (2, (3, (4, \ emptyset)))) \\\ конец {выровнен}}}

Вариант этого определения начинается с «отслаивания» элементов с другого конца:

  1. Кортеж 0 - это пустой набор. {\ displaystyle \ emptyset}
  2. Для n gt; 0:
    ( а 1 , а 2 , а 3 , , а п ) знак равно ( ( а 1 , а 2 , а 3 , , а п - 1 ) , а п ) {\ displaystyle (a_ {1}, a_ {2}, a_ {3}, \ ldots, a_ {n}) = ((a_ {1}, a_ {2}, a_ {3}, \ ldots, a_ { n-1}), a_ {n})}

Это определение можно применить рекурсивно:

( а 1 , а 2 , а 3 , , а п ) знак равно ( ( ( ( ( , а 1 ) , а 2 ) , а 3 ) , ) , а п ) {\ displaystyle (a_ {1}, a_ {2}, a_ {3}, \ ldots, a_ {n}) = ((\ ldots (((\ emptyset, a_ {1}), a_ {2}), a_ {3}), \ ldots), a_ {n})}

Так, например:

( 1 , 2 , 3 ) знак равно ( ( ( , 1 ) , 2 ) , 3 ) ( 1 , 2 , 3 , 4 ) знак равно ( ( ( ( , 1 ) , 2 ) , 3 ) , 4 ) {\ displaystyle {\ begin {align} (1,2,3) amp; = (((\ emptyset, 1), 2), 3) \\ (1,2,3,4) amp; = ((((\ emptyset, 1), 2), 3), 4) \\\ конец {выровнен}}}

Кортежи как вложенные наборы

Используя представление Куратовского для упорядоченной пары, второе определение выше может быть переформулировано в терминах чистой теории множеств :

  1. 0-кортеж (т.е. пустой кортеж) представлен пустым набором ; {\ displaystyle \ emptyset}
  2. Позвольте быть n -набор, и пусть. Тогда. (Правую стрелку, можно прочитать как «примыкающий к».) Икс {\ displaystyle x} ( а 1 , а 2 , , а п ) {\ Displaystyle (а_ {1}, а_ {2}, \ ldots, а_ {п})} Икс б ( а 1 , а 2 , , а п , б ) {\ Displaystyle х \ rightarrow b \ эквив (a_ {1}, a_ {2}, \ ldots, a_ {n}, b)} Икс б { { Икс } , { Икс , б } } {\ Displaystyle х \ rightarrow б \ эквив \ {\ {х \}, \ {х, б \} \}} {\ displaystyle \ rightarrow}

В этой формулировке:

( ) знак равно ( 1 ) знак равно ( ) 1 знак равно { { ( ) } , { ( ) , 1 } } знак равно { { } , { , 1 } } ( 1 , 2 ) знак равно ( 1 ) 2 знак равно { { ( 1 ) } , { ( 1 ) , 2 } } знак равно { { { { } , { , 1 } } } , { { { } , { , 1 } } , 2 } } ( 1 , 2 , 3 ) знак равно ( 1 , 2 ) 3 знак равно { { ( 1 , 2 ) } , { ( 1 , 2 ) , 3 } } знак равно { { { { { { } , { , 1 } } } , { { { } , { , 1 } } , 2 } } } , { { { { { } , { , 1 } } } , { { { } , { , 1 } } , 2 } } , 3 } } {\ displaystyle {\ begin {array} {lclcl} () amp;amp;amp; = amp; \ emptyset \\ amp;amp;amp;amp; \\ (1) amp; = amp; () \ rightarrow 1 amp; = amp; \ {\ {() \}, \ {(), 1 \} \} \\ amp;amp;amp; = amp; \ {\ {\ emptyset \}, \ {\ emptyset, 1 \} \} \\ amp;amp;amp;amp; \\ (1,2) amp; = amp; (1) \ rightarrow 2 amp; = amp; \ {\ {(1) \}, \ {(1), 2 \} \} \\ amp;amp;amp; = amp; \ {\ {\ {\ {\ emptyset \}, \ {\ emptyset, 1 \} \} \}, \\ amp;amp;amp;amp; \ {\ {\ {\ emptyset \}, \ {\ emptyset, 1 \} \}, 2 \} \} \\ amp;amp;amp;amp; \\ (1,2,3) amp; = amp; (1, 2) \ rightarrow 3 amp; = amp; \ {\ {(1,2) \}, \ {(1,2), 3 \} \} \\ amp;amp;amp; = amp; \ {\ {\ {\ {\ {\ { \ emptyset \}, \ {\ emptyset, 1 \} \} \}, \\ amp;amp;amp;amp; \ {\ {\ {\ emptyset \}, \ {\ emptyset, 1 \} \}, 2 \} \} \}, \\ amp;amp;amp;amp; \ {\ {\ {\ {\ {\ emptyset \}, \ {\ emptyset, 1 \} \} \}, \\ amp;amp;amp;amp; \ {\ {\ {\ emptyset \}, \ {\ emptyset, 1 \} \}, 2 \} \}, 3 \} \} \\\ end {array}}}

n -наборы m -множеств

В дискретной математике, особенно в комбинаторике и теории конечных вероятностей, n -наборы возникают в контексте различных задач подсчета и рассматриваются более неформально как упорядоченные списки длины n. n -наборы, элементы которых происходят из набора из m элементов, также называются аранжировками с повторением, перестановками мультимножества и, в некоторой неанглийской литературе, вариациями с повторением. Количество n -элементов m -множества равно m n. Это следует из комбинаторного правила произведения. Если S является конечным множеством мощности т, это число мощности на п -кратной декартовой мощности S × S × ⋯ × S. Кортежи являются элементами этого набора продуктов.

Теория типов

Основная статья: Тип продукта

В теории типов, обычно используемой в языках программирования, кортеж имеет тип продукта ; это фиксирует не только длину, но и основные типы каждого компонента. Формально:

( Икс 1 , Икс 2 , , Икс п ) : Т 1 × Т 2 × × Т п {\ displaystyle (x_ {1}, x_ {2}, \ ldots, x_ {n}): {\ mathsf {T}} _ {1} \ times {\ mathsf {T}} _ {2} \ times \ ldots \ times {\ mathsf {T}} _ {n}}

а проекции - это конструкторы терминов:

π 1 ( Икс ) : Т 1 ,   π 2 ( Икс ) : Т 2 ,   ,   π п ( Икс ) : Т п {\ displaystyle \ pi _ {1} (x): {\ mathsf {T}} _ {1}, ~ \ pi _ {2} (x): {\ mathsf {T}} _ {2}, ~ \ ldots, ~ \ pi _ {n} (x): {\ mathsf {T}} _ {n}}

Кортеж с помеченными элементами, используемый в реляционной модели, имеет тип записи. Оба эти типа можно определить как простые расширения просто типизированного лямбда-исчисления.

Понятия кортежа в теории типов и теории множеств связаны следующим образом: если мы рассматриваем естественную модель теории типов и используем скобки Скотта для обозначения семантической интерпретации, то модель состоит из некоторых наборов ( примечание: здесь используется курсив, который отличает наборы от типов), так что: S 1 , S 2 , , S п {\ Displaystyle S_ {1}, S_ {2}, \ ldots, S_ {n}}

[ [ Т 1 ] ] знак равно S 1 ,   [ [ Т 2 ] ] знак равно S 2 ,   ,   [ [ Т п ] ] знак равно S п {\ displaystyle [\! [{\ mathsf {T}} _ {1}] \!] = S_ {1}, ~ [\! [{\ mathsf {T}} _ {2}] \!] = S_ {2}, ~ \ ldots, ~ [\! [{\ Mathsf {T}} _ {n}] \!] = S_ {n}}

а толкование основных терминов таково:

[ [ Икс 1 ] ] [ [ Т 1 ] ] ,   [ [ Икс 2 ] ] [ [ Т 2 ] ] ,   ,   [ [ Икс п ] ] [ [ Т п ] ] {\ displaystyle [\! [x_ {1}] \!] \ in [\! [{\ mathsf {T}} _ {1}] \!], ~ [\! [x_ {2}] \!] \ in [\! [{\ mathsf {T}} _ {2}] \!], ~ \ ldots, ~ [\! [x_ {n}] \!] \ in [\! [{\ mathsf {T }} _ {n}] \!]}.

П -кратного теории типа имеет естественную интерпретацию как п -кратный из теории множеств:

[ [ ( Икс 1 , Икс 2 , , Икс п ) ] ] знак равно ( [ [ Икс 1 ] ] , [ [ Икс 2 ] ] , , [ [ Икс п ] ] ) {\ displaystyle [\! [(x_ {1}, x_ {2}, \ ldots, x_ {n})] \!] = (\, [\! [x_ {1}] \!], [\! [x_ {2}] \!], \ ldots, [\! [x_ {n}] \!] \,)}

Тип единицы имеет семантическую интерпретацию 0-кортеж.

Смотрите также

Заметки

Рекомендации

Источники

Внешние ссылки

  • Словарное определение кортежа в Викисловаре
Последняя правка сделана 2023-04-16 03:54:00
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте