В математике частичная функция f из множества X в множество Y — это функция из подмножества S множества X (возможно, всего X ) в Y. Подмножество S , то есть область определения f, рассматриваемая как функция, называется областью определения или естественной областью определения f . Если S равно X , то есть если f определена для каждого элемента в X , то f называется полной функцией .
Более технически, частичная функция — это бинарное отношение между двумя множествами , которое каждому элементу первого множества сопоставляется не более одного элемента второго множества; таким образом, это одновалентное отношение . Это обобщает концепцию (полной) функции , не требуя, чтобы каждый элемент первого множества был связан с элементом второго множества.
Частичная функция часто используется, когда ее точная область определения неизвестна или ее трудно указать. Однако даже когда точная область определения известна, частичные функции часто используются для простоты или краткости. Это имеет место в исчислении , где, например, частное двух функций является частичной функцией, область определения которой не может содержать нули знаменателя; в этом контексте частичная функция обычно называется просто функцией .
В теории вычислимости общерекурсивная функция — это частичная функция от целых чисел до целых чисел; не может существовать алгоритма для определения того, является ли произвольная такая функция на самом деле полной.
При использовании стрелочной нотации для функций частичная функция от до иногда записывается как или Однако общего соглашения не существует, и последняя нотация чаще используется для карт включения или вложений . [ необходима ссылка ]
В частности, для частичной функции и любой имеет место одно из следующих условий:
Например, если функция квадратного корня ограничена целыми числами
тогда определено только если является полным квадратом (то есть ). Так что но не определено.
Частичная функция возникает из рассмотрения отображений между двумя множествами X и Y , которые могут быть определены не на всем множестве X. Типичным примером является операция извлечения квадратного корня из действительных чисел : поскольку отрицательные действительные числа не имеют действительных квадратных корней, операцию можно рассматривать как частичную функцию от до Область определения частичной функции — это подмножество S множества X , на котором определена частичная функция; в этом случае частичную функцию можно также рассматривать как функцию из S в Y. В примере операции извлечения квадратного корня множество S состоит из неотрицательных действительных чисел
Понятие частичной функции особенно удобно, когда точная область определения неизвестна или даже непознаваема. Для примера последнего из области компьютерных наук см. Проблема остановки .
В случае, если область определения S равна всему множеству X , частичная функция называется полной . Таким образом, полные частичные функции из X в Y совпадают с функциями из X в Y.
Многие свойства функций могут быть расширены в соответствующем смысле частичных функций. Частичная функция называется инъективной , сюръективной или биективной , когда функция, заданная ограничением частичной функции на ее область определения, является инъективной, сюръективной или биективной соответственно.
Поскольку функция тривиально сюръективна при ограничении ее образом, термин частичная биекция обозначает частичную функцию, которая является инъективной. [1]
Инъективная частичная функция может быть инвертирована в инъективную частичную функцию, а частичная функция, которая является как инъективной, так и сюръективной, имеет инъективную функцию в качестве обратной. Более того, функция, которая является инъективной, может быть инвертирована в биективную частичную функцию.
Понятие преобразования можно обобщить и на частичные функции. Частичное преобразование — это функция , где и являются подмножествами некоторого множества [1]
Для удобства обозначим множество всех частичных функций из множества в множество через Это множество представляет собой объединение множеств функций, определенных на подмножествах с одной и той же областью определения :
последний также записывается как В конечном случае его мощность равна
поскольку любая частичная функция может быть расширена до функции любым фиксированным значением, не содержащимся в , так что область значений является операцией, которая является инъективной (уникальной и обратимой по ограничению).
Первая диаграмма в верхней части статьи представляет частичную функцию, которая не является функцией, поскольку элемент 1 в левом наборе не связан ни с чем в правом наборе. В то время как вторая диаграмма представляет функцию, поскольку каждый элемент в левом наборе связан ровно с одним элементом в правом наборе.
Рассмотрим функцию натурального логарифма, отображающую действительные числа в самих себя. Логарифм неположительного действительного числа не является действительным числом, поэтому функция натурального логарифма не связывает никакое действительное число в области определения с каким-либо неположительным действительным числом в области определения. Следовательно, функция натурального логарифма не является функцией, если рассматривать ее как функцию от действительных чисел к себе, но она является частичной функцией. Если область определения ограничена включением только положительных действительных чисел (то есть, если функция натурального логарифма рассматривается как функция от положительных действительных чисел к действительным числам), то натуральный логарифм является функцией.
Вычитание натуральных чисел (в которых — неотрицательные целые числа ) является частичной функцией:
Он определяется только тогда, когда
В денотативной семантике частичная функция рассматривается как возвращающая нижний элемент, если он не определен.
В информатике частичная функция соответствует подпрограмме, которая вызывает исключение или зацикливается навсегда. Стандарт IEEE для чисел с плавающей точкой определяет нечисловое значение, которое возвращается, когда операция с плавающей точкой не определена и исключения подавляются, например, когда запрашивается квадратный корень отрицательного числа.
В языке программирования , где параметры функции статически типизированы , функция может быть определена как частичная функция, поскольку система типов языка не может выразить точную область определения функции, поэтому программист вместо этого задает ей наименьшую область, которая может быть выражена как тип и содержит область определения функции.
В теории категорий при рассмотрении операции композиции морфизмов в конкретных категориях операция композиции является функцией тогда и только тогда, когда имеет один элемент. Причина этого в том, что два морфизма и могут быть составлены только так, как если бы то есть область значений должна равняться области значений
Категория множеств и частичных функций эквивалентна , но не изоморфна категории точечных множеств и сохраняющих точки отображений. [2] В одном учебнике отмечается, что «Это формальное завершение множеств и частичных отображений путем добавления «несобственных», «бесконечных» элементов было переизобретено много раз, в частности, в топологии ( одноточечная компактификация ) и в теоретической информатике ». [3]
Категория множеств и частичных биекций эквивалентна своей двойственной категории . [4] Это прототипическая обратная категория . [5]
Частичная алгебра обобщает понятие универсальной алгебры на частичные операции . Примером может служить поле , в котором мультипликативная инверсия является единственной надлежащей частичной операцией (потому что деление на ноль не определено). [6]
Множество всех частичных функций (частичных преобразований ) на заданном базовом множестве образует регулярную полугруппу, называемую полугруппой всех частичных преобразований (или полугруппой частичных преобразований на ), обычно обозначаемую как [7] [8] [9] Множество всех частичных биекций на образует симметричную обратную полугруппу . [7] [8]
Карты в атласах , описывающие структуру многообразий и расслоений, являются частичными функциями. В случае многообразий домен — это множество точек многообразия. В случае расслоений домен — это пространство расслоения. В этих приложениях наиболее важной конструкцией является карта перехода , которая является композитом одной карты с инверсией другой. Первоначальная классификация многообразий и расслоений в значительной степени выражается в терминах ограничений на эти карты перехода.
Причина использования частичных функций вместо функций заключается в том, чтобы разрешить представление общих глобальных топологий путем сшивания локальных патчей для описания глобальной структуры. «Патчи» — это домены, в которых определяются диаграммы.