Кортеж

Из Википедии, бесплатной энциклопедии
(Перенаправлено с N-кортежа )

В математике кортеж это конечная последовательность или упорядоченный список чисел математические или, в более общем смысле, объекты , которые называются элементами кортежа. n -кортеж это кортеж из n элементов, где n — неотрицательное целое число . Существует только один нулевой кортеж, называемый пустым кортежем . Кортеж из 1 и 2 кортежей обычно называют одноэлементным и упорядоченной парой соответственно.

Кортеж может быть формально определен из упорядоченных пар путем повторения , начиная с упорядоченных пар ; действительно, n -кортеж можно отождествить с упорядоченной парой его ( n - 1) первых элементов и его n -го элемента.

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

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

Кортежи также встречаются в реляционной алгебре ; при программировании семантической сети с помощью структуры описания ресурсов (RDF); в лингвистике ; [4] и в философии . [5]

Этимология [ править ]

Термин возник как абстракция последовательности: одинарная, пара/двойная, тройная, четверная, пятерная, шестикратная, семеричная, восьмеричная, ..., n -кортеж, ..., где префиксы взяты из латинских названий цифры. Уникальный нулевой кортеж называется нулевым кортежем или пустым кортежем . Кортеж из 1 называется одиночным (или одноэлементным ), кортеж из 2 называется упорядоченной парой или парой , а кортеж из 3 называется тройкой (или тройкой ). Число n может быть любым неотрицательным целым числом . Например, комплексное число может быть представлено как кортеж из 2 действительных чисел, кватернион может быть представлен как кортеж из 4 чисел, октонион может быть представлен как кортеж из 8 чисел, а седенион может быть представлен как кортеж из 16 чисел. .

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

Свойства [ править ]

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

если и только если .

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

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

Определения [ править ]

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

Кортежи как функции [ править ]

The -tuple может быть идентифицирован как пустая функция . Для тот -кортеж можно отождествить с ( сюръективной ) функцией

с доменом

и с кодоменом

который определен в к

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

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

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

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

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

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

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

  1. 0-кортеж (т.е. пустой кортеж) представлен пустым набором .
  2. n n -кортеж с n > 0 может быть определен как упорядоченная пара его первой записи и ( n − 1) -кортежа (который содержит остальные записи, когда > 1) :

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

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

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

  1. 0-кортеж — это пустой набор .
  2. Для n > 0 :

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

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

Кортежи как вложенные множества [ править ]

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

  1. 0-кортеж (т.е. пустой кортеж) представлен пустым набором ;
  2. Позволять быть n -кортежом , и разреши . Затем, . (Стрелка вправо, можно прочитать как «примыкающий к».)

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

n -кортежи из m -множеств [ править ]

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

Теория типов [ править ]

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

а проекции являются конструкторами термов:

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

Понятия кортежа в теории типов и теории множеств связаны следующим образом: если мы рассмотрим естественную модель теории типов и используем скобки Скотта для обозначения семантической интерпретации, то модель состоит из некоторых множеств. (примечание: здесь используется курсив, который отличает множества от типов), такие, что:

и интерпретация основных терминов такова:

.

- кортеж n теории типов имеет естественную интерпретацию как n -кортеж теории множеств: [10]

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

См. также [ править ]

Примечания [ править ]

  1. ^ Сравните этимологию слова «плоидность» от греческого слова «-складка».

Ссылки [ править ]

  1. ^ «Алгебраический тип данных — HaskellWiki» . wiki.haskell.org .
  2. ^ «Деструктуризация задания» . Веб-документы MDN . 18 апреля 2023 г.
  3. ^ «Гарантирует ли JavaScript порядок свойств объекта?» . Переполнение стека .
  4. ^ Мэтьюз, PH, изд. (январь 2007 г.). «N-кортеж» . Краткий Оксфордский лингвистический словарь . Издательство Оксфордского университета. ISBN  9780199202720 . Проверено 1 мая 2015 г.
  5. ^ Блэкберн, Саймон (1994). «упорядоченный n-кортеж». Оксфордский философский словарь . Краткий справочник Оксфордских рекомендаций (3-е изд.). Оксфорд: Издательство Оксфордского университета (опубликовано в 2016 г.). п. 342. ИСБН  9780198735304 . Проверено 30 июня 2017 г. упорядоченный n-кортеж[:] Обобщение понятия [...] упорядоченной пары на последовательности из n объектов.
  6. ^ OED , св «тройной», «четверной», «пятерной», «десятеричный»
  7. ^ Д'Анджело и Уэст 2000 , с. 9
  8. ^ Д'Анджело и Уэст 2000 , с. 101
  9. ^ Пирс, Бенджамин (2002). Типы и языки программирования . МТИ Пресс. стр. 126–132 . ISBN  0-262-16209-1 .
  10. ^ Стив Аводи, От наборов к типам, к категориям, к наборам , 2009, препринт

Источники [ править ]

Внешние ссылки [ править ]

  • Словарное определение кортежа в Викисловаре