함수란?
함수
수학에서, 함수(函數, ) 또는 사상(寫像, )은 첫 번째 집합의 임의의 한 원소를 두 번째 집합의 오직 한 원소에 대응시키는 대응 관계이다.
지수 함수
해석학에서 지수 함수는 주로 밑이 "e"인 것만을 가리킨다. 지수 함수
formula_20, formula_21이다. 함수 문제
계산 복잡도 이론에서 함수 문제란 판정 문제가 아닌 문제들, 다시 말해서 답이 예/아니오보다 복잡한 문제들이다. 이를테면, 외판원 문제나 소인수 분해 문제는 답이 인수의 목록으로 나온다. 일반적으로 함수 문제는 판정 문제보다 다루기 힘들다. 프로그래밍 언어
프로그래머는 상위 레벨의 지시문으로 프로그램을 작성하면 컴파일러가 이 지시문을 컴퓨터가 이해할 수 있는 기계어로 번역한다. 지시문들을 한데 묶어 놓은 것들을 함수(function)이라 한다. 함수는 특정한 동작을 일반적인 형태로 정의해 놓은 지시문의 집합이다. 똑같은 동작이 필요하면 지시문을 다시 작성할 필요없이 함수의 매개변수를 이용하여 계속 사용할 수 있다. 복소함수
수학에서, 복소 함수(複素函數, )는 정의역과 공역의 원소가 모두 복소수인 함수이다. 바닥 함수와 천장 함수
실수 formula_3의 정수 부분은 formula_9이며, 분수 부분은 formula_29이다. 예를 들어, 다음과 같다.
컴퓨터 과학에서는 정수 부분과 소수 부분을 조금 다르게 정의하기도 한다. 예를 들어, 다음과 같은 변형된 정수 부분 함수와 분수 부분 함수가 쓰인다. 함수
함수의 정의역의 모든 원소는 그에 대응하는 상을 반드시 가져야 한다. 예를 들어, 각 실수 x ∈ R {\displaystyle x\in \mathbb {R} } 를 또 다른 실수 1 / ( 1 − x ) ∈ R {\displaystyle 1/(1-x)\in \mathbb {R} } 에 대응시키는 관계 R {\displaystyle R} 는 R {\displaystyle \mathbb {R} } 와 R {\displaystyle \mathbb {R} } 사이의 함수가 아니다. 1의 상이 정의되지 않았기 때문이다. 그러나, 이를 새로운 정의역 R ∖ { 1 } {\displaystyle \mathbb {R} \setminus \{1\}} 을 갖는 함수 f : R ∖ { 1 } → R {\displaystyle f\colon \mathbb {R} \setminus \{1\}\to \mathbb {R} } 로서 간주할 수 있다. 일반적으로, 집합 X {\displaystyle X} 와 Y {\displaystyle Y} 사이의 부분 정의 함수는 X {\displaystyle X} 의 어떤 부분 집합 A ⊆ X {\displaystyle A\subseteq X} 를 정의역으로 하며, Y {\displaystyle Y} 를 공역으로 하는 함수 f : A → Y {\displaystyle f\colon A\to Y} 로 정의된다. 이 경우, 상술 R {\displaystyle R} 는 R {\displaystyle \mathbb {R} } 와 R {\displaystyle \mathbb {R} } 사이의 부분 정의 함수이지만, R {\displaystyle \mathbb {R} } 와 R {\displaystyle \mathbb {R} } 사이의 함수가 아니다. 보통의 함수를 전함수(全函數, )라고 불러 부분 정의 함수와 구별하기도 한다. 벡터 함수
벡터 함수(Vector function)는 점 formula_1에서 다음과 같은 형태로 주어지는 함수를 말한다. 특수 함수
수학에서, 특수 함수(特殊函數, )는 일반적으로 형식적인 정의는 따로 갖고 있지 않지만, 해석학, 함수해석학, 물리학 등에서의 중요성으로 인해 확립된 명칭을 가지는 몇몇 수학적 함수를 가리킨다. 지수 함수
formula_39 수학
변화에 대한 이해와 묘사는 자연과학에 있어서 일반적인 주제이며, 미적분학은 변화를 탐구하는 강력한 도구로서 발전되었다. 함수는 변화하는 양을 묘사함에 있어서 중추적인 개념으로써 떠오르게 된다. 실수와 실변수로 구성된 함수의 엄밀한 탐구가 실해석학이라는 분야로 알려지게 되었고, 복소수에 대한 이와 같은 탐구 분야는 복소해석학이라고 한다. 함수해석학은 함수의 공간(특히 무한차원)의 탐구에 주목한다. 함수해석학의 많은 응용분야 중 하나가 양자역학이다. 많은 문제들이 자연스럽게 양과 그 양의 변화율의 관계로 귀착되고, 이러한 문제들이 미분방정식으로 다루어진다. 자연의 많은 현상들이 동역학계로 기술될 수 있다. 혼돈 이론은 이러한 예측 불가능한 현상을 탐구하는 데 상당한 기여를 한다. 참조 투명성
수학에서 모든 함수 응용은 수학적 함수를 구성하는 요소의 정의에 의해 참조 상 투명하다. 하지만, 프로그래밍에서는 그런 케이스가 항상 맞는 것은 아니며, 함축된 의미의 오해를 피하고자 프로시저와 메소드라는 용어가 사용된다. 함수형 프로그래밍에서는 오로지 참조 상 투명한 함수 만이 고려된다. 어떤 프로그래밍 언어들은 참조 투명성을 보장하기 위한 수단을 제공한다. 어떤 함수형 프로그래밍 언어들은 모든 함수에 대해 참조 투명성을 강제하기도 한다. 함수
1837년, 페터 구스타프 르죈 디리클레는 논문 《완전히 임의인 함수의 사인 및 코사인 함수 표현에 대하여》()에서, y {\displaystyle y} 가 x {\displaystyle x} 의 함수라는 것을 x {\displaystyle x} 의 주어진 구간에서의 임의의 값에 y {\displaystyle y} 의 유일한 값이 대응하는 것으로 정의하였으며, y {\displaystyle y} 가 x {\displaystyle x} 에 따라 어떤 법칙을 통해 결정되거나, 수학 공식으로 표현될 필요는 없다고 설명하였다. 이는 오늘날에도 사용되는 정의이다. 층 (수학)
위상 공간 사이의 연속 함수가 주어지면, 이로부터 그 위에 존재하는 층들의 사상을 유도할 수 있다. 이는 함자를 이룬다. 구체적으로, 위상 공간 사이의 연속 함수 formula_113가 주어졌다고 하고, 위상 공간 formula_14 위의, 아벨 군 값을 가진 층과 층 사상들의 범주를 formula_71라고 하자. 그렇다면 다음과 같은 함자들이 존재한다.
이들은 서로 수반 함자이다. 여기서 formula_149는 유도 범주, formula_150은 오른쪽 유도 함자를 나타낸다. 지수 함수
이제 formula_51로 놓고 이것을 지수함수로 정의한다. 바닥 함수와 천장 함수
수학과 컴퓨터 과학에서, 바닥 함수()는 각 실수 이하의 최대 정수를 구하는 함수이다. 천장 함수(天障函數, )는 각 실수 이상의 최소 정수를 구하는 함수이다. 바닥 함수는 내림 함수 · 버림 함수 · 최대 정수 함수(最大整數函數, )라고도 하며, 천장 함수는 올림 함수 · 최소 정수 함수(最小整數函數, )라고도 한다. 현수 (위상수학)
formula_1가 위상 공간이라고 하자. 그렇다면 formula_1의 현수 formula_3는 다음과 같은 몫공간이다.
여기서 formula_5은 표준적인 위상이 주어진 단위 폐구간이다. 즉, 곱공간 formula_6에서 양 끝 formula_7을 각각 하나의 점으로 동일화시킨 몫공간이다. 만약 연속함수 formula_8가 존재한다면, 마찬가지로 자연스럽게 그 정의역과 공역의 현수들 사이의 연속함수
가 존재한다. 이에 따라, 현수는 위상 공간들과 연속 함수들의 범주 formula_11의 자기 함자
를 이룬다. 열린 함수와 닫힌 함수
함수
는 (formula_54가 이산 공간이므로) 열린 함수이며, 닫힌 함수이다. 그러나 이는 연속 함수가 아니다. 절댓값
노름은 벡터 공간에 정의되며, 음이 아닌 실숫값을 취하며, 양의 정부호성을 만족시키며, 양의 동차성을 만족시키며, 삼각 부등식을 만족시키는 함수이다. 실수체와 복소수체는 벡터 공간의 특수한 경우이므로, 실수 또는 복소수의 절댓값은 노름의 특수한 경우이다. 모든 노름 formula_52는 표준적인 거리 함수 formula_53를 유도한다. 지수 적분 함수
수학에서, 지수 적분 함수(指數積分函數, )은 특수 함수의 하나이며, formula_1의 역도함수이다. 가우스 함수
수학에서 가우스 함수()는 다음과 같은 형태의 함수이다.
여기서 formula_2는 실수 상수이다. 이 함수는 카를 프리드리히 가우스의 이름을 따서 명명되었다. 함수
임의의 i ∈ { 1 , … , n } {\displaystyle i\in \{1,\dots ,n\}} 에 대하여, D ⊆ X i ⊆ cl ⁡ D {\displaystyle D\subseteq X_{i}\subseteq \operatorname {cl} D} 인 영역 D ⊆ X {\displaystyle D\subseteq X} 가 존재한다. 임의의 i ∈ { 1 , … , n } {\displaystyle i\in \{1,\dots ,n\}} 에 대하여, f | X i {\displaystyle f|_{X_{i}}} 는 ~ 함수이다. 매끄러운 함수
어떤 함수가 formula_2번 미분가능하고 그 미분한 함수가 모두 연속일 경우, 그 함수를 formula_3 함수라고 부른다. 예를 들어, formula_4는 연속인 함수를 의미하며, formula_5는 연속 미분 가능한 함수, 즉 미분 가능하고 도함수가 연속 함수인 함수를 의미한다. 다음수 함수
수학에서, 다음수 함수()또는 다음수 연산()은 자연수 "n"에 대해서 "S"("n") = "n"+1인 원시 재귀 함수 "S"이다.
예를 들어, "S"(1) = 2이고 "S"(2) = 3이다. 다음수 연산은 또한 0차 하이퍼 연산의 맥락으로 제레이션()으로 알려져 있다: H("a", "b") = 1 + "b". 함수 포인터
데이터 값을 가리키는 대신, 함수 포인터는 메모리 내에서 실행 가능한 코드를 가리킨다. 역참조될 때, 함수 포인터는 가리키는 함수를 보통의 함수 호출처럼 작동시키고 인자를 보내는데 사용될 수 있다. 이러한 작동은 함수가 고정된 이름이나 주소를 사용해서 직접적으로가 아니라 변수를 통해서 간접적으로 호출되기 때문에 또한 "간접" 호출로도 알려져 있다. 초월함수
가장 익숙한 초월함수는 로그, 지수(특정하지 않은 밑을 포함해서), 삼각,그리고 쌍곡선함수와 그 역함수이다. 익숙하지 않은 것 들은 감마, 타원 그리고 제타 함수와 같은 해석학의 특수 함수도 모두 초월함수이다. 일반화된 초기하 함수와 베셀 함수는 일반적으로는 초월함수지만, 특별한 매개 변수 값에서는 대수함수이다. 곱셈적 함수
이다.  부정적분
함수 formula_1 (formula_2)가 주어졌을 때, 만약 다음 조건을 만족시키는 함수 formula_3 (formula_2)가 존재한다면, 이를 formula_1의 원함수(原函數, ) 또는 역도함수(逆導函數)라고 한다.
함수 formula_1 (formula_2)의 한 원함수 formula_3가 존재할 경우, formula_1의 모든 원함수는 정확히 다음과 같다.
이를 formula_1의 부정적분이라고 한다. 여기서 formula_13는 임의의 상수이며, 이를 적분 상수라고 부른다. 부정적분이 항상 위와 같은 꼴임은 다음과 같이 증명할 수 있다. 우선 임의의 상수 formula_13에 대하여, formula_15이므로, formula_16이다. 즉, formula_17는 formula_1의 원함수이다. 또한 임의의 원함수 formula_19에 대하여, formula_20이므로, 평균값 정리에 따라 formula_21는 상수 함수이다. 따라서 formula_19는 formula_23 꼴로 나타낼 수 있다. 열린 함수와 닫힌 함수
함수
는 전단사 함수이며, 열린 함수이며, 닫힌 함수이지만, 연속 함수가 아니다. 매개변수
첫째, 일반식에서 문자의 값이 방정식족, 함수족에 포함된 원소를 결정하는 사용법위의 식에서 문자 "a","b"가 매개변수에 해당한다. 변수 "a","b"에 수를 대입함에 따라 특정한 방정식 (또는 함수)들이 만들어진다. "a","b"의 값에 따라, 즉 "a","b"를 매개로 하여 "x"의 값이나 "x","y" 사이의 관계가 결정된다는 의미이다.
대한민국 교과과정에서는 '상수'라고 표현하기도 한다. 이 외에도 부정소(indeterminate)라고도 한다. 모듈러 형식
모듈러 형식(modular形式, )은 수학에서 특정한 종류의 함수 방정식과 증가 조건을 만족하는, 상반 평면 위에서 정의되는 (복소) 해석함수이다. 따라서 모듈러 형식의 이론은 복소해석학에 속하지만 역사적으로는 정수론과 긴밀한 관계에 있어왔다. 모듈러 형식은 대수적 위상수학이나 끈이론 등의 다른 분야에도 나타난다. 함수 행렬식
함수 행렬식(函數行列式, )은 무한차원 내적공간 (주로 함수 공간)에서의 선형 연산자의 행렬식이다. 유한차원에서의 행렬식은 간단하게 정의할 수 있지만, 무한차원에서는 이를 엄밀히 정의하기 힘들다. 그러나 양자론에서는 경로적분을 다루기 위하여 함수 공간에서의 임의의 미분 연산자의 행렬식을 (형식적으로나마) 취한다. 함수
1797년, 실베스트르 프랑수아 라크루아()는 저서 《미분과 적분에 대하여》()에서 수식으로 표현될 필요가 없는, 더 넓은 함수의 개념을 도입하였으며, 5차 방정식의 근이 5차 방정식의 계수의 함수라는 예시를 들었다. 1811~15년, 조제프루이 라그랑주는 저서 《역학 해석》()에서 "함수"라는 용어를 거의 모든 유형의 함수에서 사용하였다. 함수 (프로그래밍)
아래는 인자도 받지 않고 아무런 반환값도 없는 함수의 예이다.
다음은 함수의 원형이 어떻게 선언되는지 보여준다. 보통 함수의 반환형, 이름, 인자 목록을 그대로 쓰되 중괄호로 묶인 코드 대신 세미콜론으로 끝내는 형식이다.
이 외에 C++, 자바 등의 경우, 반환형과 함수 이름은 같아도 인자 목록의 개수나 자료형이 다르면 호출할 때 사용한 인자 목록에 따라 적절한 함수가 호출되도록 컴파일되는 오버로딩 함수를 지원한다. 함수해석학
함수해석학(函數解析學, )이란 벡터 공간과 연산자들에 대해 다루는 해석학의 한 분야이다. 역사적으로 함수 공간에 대해서 연구하기 시작한 것이 그 기원이며 특히 푸리에 변환, 미분 방정식, 적분 방정식에서 함수의 변환에 대한 연구들이 그 예이다. 함수해석학에서 큰 업적을 남긴 수학자로는 스테판 바나흐가
있다. 지수 함수
formula_14, formula_15이고, 함수
X {\displaystyle X} 는 집합이며, f {\displaystyle f} 의 정의역이라고 한다. Y {\displaystyle Y} 는 집합이며, f {\displaystyle f} 의 공역이라고 한다. graph ⁡ f {\displaystyle \operatorname {graph} f} 는 곱집합 X × Y {\displaystyle X\times Y} 의 부분 집합이며, f {\displaystyle f} 의 그래프</b>라고 한다. 상수 함수
정의역 formula_2와 공역 formula_3 사이의 함수 formula_4가 주어졌다고 하고, 정의역 formula_2에 위상 공간의 구조가 주어졌다고 하자. 그렇다면, 다음 두 조건이 서로 동치이며, 이를 만족시키는 함수 formula_5를 국소 상수 함수(局所常數函數, )라고 한다. 함수
만약 f {\displaystyle f} 가 공역의 모든 원소에게 정의역의 적어도 하나의 원소를 대응시킨다면, (즉, 치역이 공역과 같다면,) f {\displaystyle f} 를 전사 함수 또는 위로의 함수</b>라고 한다.[1] 예를 들어, 함수 함수 (동음이의)
함수의 다른 뜻은 다음과 같다. 지수 함수
이때 formula_33는 강한 증가 함수이며 치역이 실수 전체이므로 역함수가 존재한다. 이때의 역함수를 formula_34라고 표기한다. 허수
미국 수학에서 허수란 formula_11 형태, 즉 순허수이다. 즉 실수에 허수단위 formula_12가 곱해진 형식을 가지고 있고, 따라서 제곱하면 음수가 된다. 생성함수 (수학)
수학에서 어떤 수열 "a" (n은 자연수)에 대하여,
와 같이 미지수의 계수가 수열의 각 항으로 되어 있는 멱급수 형태의 함수를 생성함수(generating function)라고 한다. 쌍곡선 함수
수학에서, 쌍곡선 함수(双曲線函數, )는 일반적인 삼각함수와 유사한 성질을 갖는 함수로 삼각함수가 단위원 그래프를 매개변수로 표시할 때 나오는 것처럼, 표준쌍곡선을 매개변수로 표시할 때 나온다. 타원함수
복소해석학에서, 타원 함수(楕圓函數, )는 복소 타원 곡선 위에 정의된 유리형 함수이다. 즉, 복소평면 위에 정의된, 두 개 방향으로 주기함수인 유리형 함수다. 매개변수 (컴퓨터 프로그래밍)
각각의 매개변수는 함수의 정의 부분에 포함되어 있는 고유한 특성이다. 예를 들어, (대다수의 언어에서는) 입력으로 들어온 2개의 정수를 더해서 합을 계산해 주는 함수의 경우 정수 형태의 매개변수 2개가 필요하다. 일반적으로 함수는 몇개의 매개변수를 가지든 상관없으며, 매개변수가 하나도 없을 수도 있다. 만약 함수가 매개변수를 가질 경우, 각각의 매개변수에 대한 정의를 나열해 놓은 것을 "매개변수 목록(parameter list)" 이라고 한다. 정칙 함수
복소해석학에서, 정칙 함수(正則函數, )는 복소 함수에 대한, 미분 가능 함수와 해석 함수에 동시에 대응하는 개념이다. 실수 함수의 경우 미분 가능 함수의 개념은 해석 함수의 개념보다 훨씬 약하지만, 복소 함수의 경우 같은 개념에 대응한다. 매개변수 (컴퓨터 프로그래밍)
종종 "매개변수(parameter)"와 "전달인자(argument)"는 적당히 섞어서 쓰이기도 하는데, 이 경우 문맥에 따라 의미를 달리해서 해석되기도 한다. 하지만 엄밀히 말해서 "매개변수"는 함수의 정의부분에 나열되어 있는 변수들을 의미하며, "전달인자"는 함수를 호출할때 전달되는 실제 값을 의미한다. 이같은 의미를 명확히 하기 위해 매개변수는 변수(variable)로, 전달인자는 값(value)으로 보는 것이 일반적이다. 초월함수
어떤 함수가 초월함수가 아니라면 대수 함수이다. 대수함수의 간단한 예로 유리 함수와 제곱근 함수가 있지만,일반적으로 대수 함수들은 기초 함수들의 유한한 식으로 정의될 수 없다. 주기함수
상수 함수는 주기 함수이며, 모든 실수를 주기로 갖는다. 따라서, 기본 주기가 없다. 현수 (위상수학)
현수와 마찬가지로, 밑점을 보존시키는 연속함수 formula_20가 주어지면, 밑점을 보존시키는 연속함수
가 존재한다. 이에 따라, 축소 현수는 점을 가진 공간들과 점을 보존시키는 연속 함수들의 범주 formula_22의 자기 함자
를 이룬다. 이 함자의 왼쪽 수반 함자는 고리 공간 함자 formula_24이다. 함수
만약 f {\displaystyle f} 가 정의역의 서로 다른 원소를 항상 공역의 서로 다른 원소로 대응시킨다면, f {\displaystyle f} 를 단사 함수 또는 일대일 함수</b>라고 한다.[1] 예를 들어, 함수 함수
함수의 현대적 정의는 게오르크 칸토어가 제기한 집합론에 기반한 것이다. 버트런드 러셀은 집합을 기반으로 수학의 공리를 재서술하면서 함수 역시 이를 기반으로 재정의하였다.[5] 지수 함수
"a"가 음이 아닌 실수, "x"가 임의의 실수일 때, "a"를 밑, "x"를 지수로 하는 지수함수를 "a" 로 쓴다.
특별히 지수가 자연수(혹은 유리수)일 때, 이 함수는 "a"의 거듭제곱과 일치한다. 지수함수는 다음의 공리에 의해 정의된다. 함자 (수학)
‘’라는 단어는 원래 철학자 루돌프 카르나프가 1934년에 언어철학에 대한 저서 《언어의 논리적 구문》()에서 정의한 용어다. 함수 (프로그래밍)
일부 프로그래밍 언어에서는 함수와 서브루틴을 구분하기도 한다. 파스칼이나 포트란과 같은 언어는 반환값이 없는 경우를 서브루틴, 반환값이 있는 경우를 함수로 부른다. 반면 C 등의 언어에서는 함수와 서브루틴이 동의어이다. 함수
즉, 먼저 X {\displaystyle X} 의 원소를 f {\displaystyle f} 에 따라, f {\displaystyle f} 의 공역이자 g {\displaystyle g} 의 정의역인 Y {\displaystyle Y} 의 원소에 대응시키고, 다시 이를 g {\displaystyle g} 에 따라 Z {\displaystyle Z} 의 원소로 대응시킨다. 함수
는 전단사 함수이다. 메소드 (컴퓨터 프로그래밍)
메소드(method) 또는 멤버 함수(member function)는 객체 지향 프로그래밍에서 객체과 관련된 서브 루틴 (또는 함수)이며 데이터와 멤버 변수에 대한 접근 권한을 갖는다. 함자 (수학)
상수 함자(): C의 모든 대상에 대해 D의 특정한 대상 X를 대응시키고, C의 모든 사상에 대해 X 상의 항등사상을 대응시키는 함자를 상수 함자 혹은 선택 함자라고 한다. 곱셈적 함수
이 곱셈적 함수의 성질을 이용하면 함수값의 계산이 훨씬 용이해진다. 예를 들어 "n" = 144 = 2 · 3의 약수함수(Divisor function)값을 계산해 보면, 매끄러운 함수
해석학에서, 매끄러운 함수()는 무한 번 미분이 가능한 함수이다. formula_1 함수로 표기하기도 한다. 함수형 프로그래밍
수학적 함수와 명령형 프로그래밍에서 사용되는 함수는 차이가 있는데, 명령형의 함수는 프로그램의 상태의 값을 바꿀 수 있는 부작용이 생길 수 있다. 이 때문에 명령형 함수는 참조 투명성이 없고, 같은 코드라도 실행되는 프로그램의 상태에 따라 다른 결과값을 낼 수 있다. 반대로 함수형 코드에서는 함수의 출력값은 그 함수에 입력된 인수에만 의존하므로 인수 x에 같은 값을 넣고 함수 f를 호출하면 항상 f(x)라는 결과가 나온다. 부작용을 제거하면 프로그램의 동작을 이해하고 예측하기가 훨씬 쉽게 된다. 이것이 함수형 프로그래밍으로 개발하려는 핵심 동기중 하나이다. 함수 (프로그래밍)
함수는 대부분의 프로그래밍 언어에서 지원하는 기능으로, 하나의 큰 프로그램을 여러 부분으로 나누어주기 때문에 같은 함수를 여러 상황에서 여러 차례 호출할 수 있으며 일부분을 수정하기 쉽다는 장점을 가진다. 로그
이 함수의 극한값과 실값이 같기 때문에, 연속의 정의에 따라 지수함수는 연속이라고 할 수 있다. 0보다 큰 "y"는 적당한 "x" 와 "x" 에 대해서 "f"("x")과 "f"("x") 사이에 존재한다. 따라서 "f"("x")="y"는 해를 가진다. 또한, 지수함수는 단조함수이기 때문에, 한 개의 "y"에 대하여 두 개 이상의 x값을 가질 수 없다. 따라서 "f"("x")="y"는 유일한 해 하나를 가지고, 우리는 이를 로그 함수라고 부른다. 함자 (수학)
수학에서는 사상의 방향을 바꾸는 함자를 생각해야 하는 경우도 많이 있다. 따라서 F가 C에서 D로의 반변함자(反變函子, )는 다음과 같은 데이터로 구성된다.
이 데이터는 다음 두 조건을 만족시켜야 한다.
즉, 반변함자가 합성사상을 보낼 때 두 사상의 순서가 바뀐다. 위에서 정의한 사상의 방향을 바꾸지 않는 보통의 함자는 반변함자와 구분하기 위해 공변함자(共變函子, )라고 한다. 다른 방법으로, 범주의 반변함자를 것을 그 쌍대범주의 공변함자로서 정의할 수도 있다. 일부 저자들은 모든 함자를 공변적으로 서술하는 쪽을 선호하며, 따라서 formula_17가 반변함자라고 말하는 대신 formula_18(혹은 formula_19)가 (공변)함자라고 말한다. 해시 함수
해시 함수(hash function)는 임의의 길이의 데이터를 고정된 길이의 데이터로 매핑하는 함수이다. 해시 함수에 의해 얻어지는 값은 해시 값, 해시 코드, 해시 체크섬 또는 간단하게 해시라고 한다. 그 용도 중 하나는 해시 테이블이라는 자료구조에 사용되며, 매우 빠른 데이터 검색을 위한 컴퓨터 소프트웨어에 널리 사용된다. 해시 함수는 큰 파일에서 중복되는 레코드를 찾을 수 있기 때문에 데이터베이스 검색이나 테이블 검색의 속도를 가속할 수 있다. 예를 들어서, DNA sequence에서 유사한 패턴을 찾는데 사용될 수도 있다. 또한 암호학에서도 사용될 수 있다. 암호용 해시 함수는 매핑된 해싱 값만을 알아가지고는 원래 입력 값을 알아내기 힘들다는 사실에 의해 사용될 수 있다. 또한 전송된 데이터의 무결성을 확인해주는 데 사용되기도 하는데, 메시지가 누구에게서 온 것인지 입증해주는 HMAC를 구성하는 블록으로 사용된다. 해시 함수는 결정론적으로 작동해야 하며, 따라서 두 해시 값이 다르다면 그 해시값에 대한 원래 데이터도 달라야 한다. (역은 성립하지 않는다) 해시 함수의 질은 입력 영역에서의 해시 충돌 확률로 결정되는데, 해시 충돌의 확률이 높을수록 서로 다른 데이터를 구별하기 어려워지고 검색하는 비용이 증가하게 된다. 수론적 함수
정수론에서 수론적 함수(數論的函數, )는 모든 양의 정수에 대해 정의된 함수이며 복소수 함수값을 가질 수도 있다. 다시 말하면 수론적 함수는 복소수의 수열에 지나지 않는다. 함수
사상</b>은 보통 함수의 동의어로 쓰이나, 추상대수학에서는 더 좁은, 범주론에서는 더 넓은 뜻을 갖는다. 비 해석적 매끄러운 함수
수학에서, 매끄러운 함수(무한히 미분가능한 함수)와 해석함수 는 가장 중요한 함수의 유형이다. 어떠한 실수 인자를 가지는 해석함수는 매끄럽다는것은 쉽게 증명된다. 아래의 반례와 같이 그 역은 참이 아니다 고차 함수
형식화되지 않은 람다 대수에서 모든 함수들은 고차 함수이다. 대부분의 함수형 프로그래밍 언어를 파생시키는 형식화된 람다 대수에서 하나의 함수를 인수로 취하는 고차 함수들은 formula_1의 형태의 값이다. 상수 함수
수학에서, 상수 함수(常數函數, )는 정의역의 값에 관계없이 항상 같은 값을 갖는 함수를 말한다. 예를 들어, formula_1는 x의 값이 무엇이든 항상 3이라는 값을 갖는다. 매개변수
매개변수(媒介變數), 파라미터(parameter), 모수(母數)는 수학과 통계학에서 어떠한 시스템이나 함수의 특정한 성질을 나타내는 변수를 말한다. 일반적으로는 θ라고 표현되며, 다른 표시는 각각 독특한 뜻을 지닌다. 함수의 수치를 정해진 변역에서 구하거나 시스템의 반응을 결정할 때는 독립변수는 변하지만 매개변수는 일정하다. 다른 매개변수를 이용해 함수의 다른 수치를 다시 구하거나 시스템의 다른 반응을 볼 수도 있다. 함수
구체적인 함수를 나타내는 방법은 여러 가지가 있다. 정의역의 원소가 유한 개일 경우, 각 원소가 공역의 어느 원소와 대응하는지를 표 따위에 열거하여 나타낼 수 있다. 함숫값을 구하는 공식이나 알고리즘이 존재한다면, 이를 통해 나타낼 수도 있다. 함수의 정의역과 공역이 모두 실수 집합이나 복소수 집합의 부분 집합이라면, 함수의 그래프를 통해 나타낼 수도 있는데, 직관적인 반면 정확성이 떨어질 수 있다. 기수 (수학)
만약 단사 함수
가 존재한다면,
라고 정의한다. 마찬가지로, 만약 전사 함수
가 존재하거나 formula_37가 공집합이라면,
로 정의한다. 삼각함수
수학에서, 삼각함수(三角函數, )는 각의 크기를 삼각비로 나타내는 함수이다. 예각 삼각함수는 직각 삼각형의 예각에 직각 삼각형의 두 변의 길이의 비를 대응시킨다. 임의의 각의 삼각함수 역시 정의할 수 있다. 삼각함수는 복소수의 지수 함수의 실수 · 허수 부분이며, 따라서 복소수를 다룰 때 핵심적인 역할을 한다. 가장 근본적인 주기 함수이며, 각종 주기적 현상을 다룰 때 푸리에 급수의 형태로 등장한다. 파동 함수
양자역학에서, 파동 함수(波動函數, 는 양자역학적 계의 상태에 대한 정보를 담고 있는 복소 함수이다. 고전적인 파동 방정식을 따르기 때문에 이런 이름이 붙었지만, 고전적인 파동과는 여러 면에서 다르다. 파동 함수의 절댓값의 제곱은 입자가 특정 위치에 존재할 확률 밀도 함수이다 (보른 해석, ). 수학적으로, 파동 함수의 집합은 힐베르트 공간을 이룬다. 즉, 파동 함수는 힐베르트 공간 안의 벡터로 간주할 수 있다. 전사 함수
수학에서, 전사 함수(全射函數, ) 또는 위로의 함수()는 공역과 치역이 같은 함수이다. 조건수
수치해석 분야에서 함수의 조건수(condition number)는 argument에서 의 작은 변화의 비율에 대해 함수가 얼마나 변화할 수 있는지에 대한 argument measure이다. 여기서 "함수"는 문제의 해를 의미하며, "argument"는 문제에서의 데이터를 의미한다. 작은 조건수를 갖는 문제를 "well-conditioned"라고 하며, 큰 조건수를 갖는 문제를 "ill-conditioned"라고 한다. 조건수는 문제의 고유한 성질이다. 함수형 프로그래밍
C++11에서는 다음과 같이 작성한다.
고계 함수(higher-order function)란, 함수를 다루는 함수를 뜻한다. 사실 함수형 언어에서는 함수도 '값(value)'으로 취급한다. 그러므로 정수 1이나 인수를 제곱하는 함수나 동등한 입장에서 다룰 수 있다. 정수를 함수의 인수로 전달할 수 있듯이 어떤 함수도 다른 함수의 인수로 전달할 수 있다. 마찬가지로 함수의 결과 값으로 정수를 반환할 수 있듯이 함수를 반환할 수도 있다.  함수
17세기에 도입한 대부분의 함수는 함수 개념이 충분히 인식되기 이전에는 곡선, 특히 운동 궤적으로서 연구되었다. 1667년, 제임스 그레고리()는 논문 《원과 쌍곡선의 구적법에 대하여》()에서 함수를 다른 양들에 대한 대수 연산 및 극한 연산을 통해 얻는 양으로 정의하였다. 1665년부터, 아이작 뉴턴은 줄곧 "플루언트"()라는 용어로 변수 간 관계를 지칭하였다. 1673년, 고트프리트 빌헬름 라이프니츠는 오늘날 쓰이는 용어인 "펑크션"()을 곡선 위 점에 따라 변화하는 양으로 정의하였다. 1697년, 요한 베르누이는 함수를 상수와 변수가 대수 연산 및 초월 연산을 통해 구성하는 양으로 정의하였으며, 1698년에 라이프니츠의 용어를 채택하였다. 1714년, 라이프니츠는 저서 《역사》()에서 함수를 변수에 의존하는 양으로 정의하였다. 그러나, 그는 여태 미분 가능한 함수만을 다루었다. 변수
변수(變數)는 수학에서 쓰이는 수식에 따라서 변하는 값을 뜻한다. (예: formula_1 에서는 formula_2가 2이지만 formula_3 에서는 formula_2가 1이다.) 이에 반대되는 개념으로는 상수가 있다. 중세 수학에서는 변수를 formula_5 등의 홀소리로 표시했지만 현대 수학에서는 x, y, z, w 등의 마지막 알파벳으로 표시한다. 많은 변수를 다룰 때는 첨자를 붙여 formula_6 으로 쓰는 경우도 있다. 계수
수학에서, 계수(係數)는 어느 변수에 일정하게 곱해진 상수 인자이다. 예를 들어, formula_1 에서 계수는 formula_2 이고. formula_3 에서 계수는, formula_4 이다. (보통, 1은 계수에서 생략한다.) 계수
그 대상은 변수, 벡터, 함수 등과 같은 것들이 될 수 있다. 이 경우에 그 대상들은 같은 방법으로 지수화되는 데, 다음과 같이 표현된다:
여기서 "a"은 각각의 "n" = 1, 2, 3, …에서 변수 "x"의 계수이다. 부호함수
실수 부호 함수는 다음과 같이 정의된다.
여기서 formula_3는 단위 계단 함수, formula_4는 지시 함수이다. 즉, 실수 부호 함수는 양수는 1, 0은 0, 음수는 -1을 값으로 한다. 함수
어떤 가족의 구성원들의 집합을 정의역, 날짜의 집합을 공역으로 하며, 각 구성원 x {\displaystyle x} 를 그 생년월일 f ( x ) {\displaystyle f(x)} 로 대응시키는 관계 f {\displaystyle f} 는 함수이다. 모든 구성원은 어느 날엔가 태어났으며, 동시에 두 다른 날에 태어났을 수 없기 때문이다. 정의역이 { 1 , 2 , 3 } {\displaystyle \{1,2,3\}} , 공역이 { 4 , 5 , 6 , 7 } {\displaystyle \{4,5,6,7\}} 이며, 대응 규칙 f ( 1 ) = 4 {\displaystyle f(1)=4} , f ( 2 ) = 5 {\displaystyle f(2)=5} , f ( 3 ) = 6 {\displaystyle f(3)=6} 을 따르는 대응 관계는 함수이다. 실수 집합을 R {\displaystyle \mathbb {R} } 로 쓰자. 그렇다면, 모든 실수를 그 제곱으로 대응시키는 대응 관계 f : R → R {\displaystyle f\colon \mathbb {R} \to \mathbb {R} } , x ↦ x 2 {\displaystyle x\mapsto x^{2}} 는 함수이다. 공집합을 ∅ {\displaystyle \varnothing } 로 쓰자. 그렇다면, 임의의 집합 Y {\displaystyle Y} 에 대하여, f : ∅ → Y {\displaystyle f\colon \varnothing \to Y} 는 함수이며, 여기에는 아무런 대응 규칙이 필요하지 않다. 이러한 함수를 공함수(空函數, )라고 한다. f : ∅ → ∅ {\displaystyle f\colon \varnothing \to \varnothing } 는 공역이 공집합인 유일한 함수이다. 함수 (프로그래밍)
함수가 결과값을 반환하는 것 이외에 외부에 영향을 주는 작동을 할 경우 부작용이 있다고 부른다. 부작용이 없는 함수를 순수한 함수로 부르며, 하스켈과 같은 순수 함수형 프로그래밍에서는 모든 함수가 순수한 함수이다.비주얼 베이직은 함수를 성격에 따라 Sub와 Function으로 구분하는데, Sub은 독립적으로 프로그램에 접근하며 값을 반환하지 않으나 Function은 특정 값을 반환할 수 있다. Sub은 호출한다고 하며 Call()을 사용하고, Function은 값을 대입하도록 한다. Function형 함수에 특별히 자료형을 부여할 필요는 없다. 함수
함수가 아니지만 '함수'라는 이름이 붙은 부분 정의 함수와 다가 함수의 개념이 존재한다. 함수 (프로그래밍)
함수의 개념은 컴퓨팅 머신이 이미 존재한 이후 어느 시점에서 발전하였다. 산술 및 조건 점프 명령은 일찍이 계획되었고 상대적으로 조금씩 변화해왔다. 그러나 프로시저 호출을 위한 특별한 명령들은 여러 해에 걸쳐 상당히 변화되고 있다. SSEM과 RCA 1802와 같은 최초의 컴퓨터들과 마이크로프로세서들은 단일 함수 호출 명령어가 없었다. 함수는 구현할 수 있었지만 프로그래머들이 호출 시퀀스(일련의 명령)를 각각의 호출 영역에 사용해야 했다. IBM 1620, 인텔 8088, PIC 마이크로컨트롤러와 같은 일부 매우 초기의 컴퓨터들과 마이크로프로세서들은 전용 하드웨어 스택을 사용하여 반환 주소를 저장하는 단일 명령 함수 호출을 갖고 있었으며, 이러한 하드웨어는 함수를 겨우 몇 번만 겹쳐 사용하는 것만 지원되었지만 반복적인 함수를 지원하였다. 유니박 I, PDP-1, IBM 1130과 같은 1960년대 중순 이전의 머신들은 일반적으로 호출 규약을 사용하여 명령 카운터를 호출된 함수의 최초의 메모리 지점에 저장하였다. 함수를 여러 번 임의로 겹쳐 사용하는 것을 지원하였지만 반복적인 함수를 지원하지는 못했다.
PDP-11(1970년)은 스택 푸시형 함수 호출 명령을 갖춘 최초의 컴퓨터들 가운데 하나이며, 이 기능은 임의로 겹쳐 함수를 사용하는 것과 반복적인 함수를 모두 지원한다. 생산함수
생산함수(Production function)는 주어진 생산요소들의 투입량과 이러한 생산요소들을 가지고 최대로 생산할 수 있는 재화의 생산량의 관계를 나타내는 함수이다. 생산함수는 기업이나 국가가 가진 기술의 수준을 반영한다. 가상 함수
객체 지향 프로그래밍에서, 가상 함수(virtual function 또는 virtual method)는 상속하는 클래스 내에서 같은 시그니처의 함수로 오버라이딩 될 수 있는 함수 또는 메소드이다. 이 개념은 객체 지향 프로그래밍 (OOP)의 다형성에서 중요한 부분이다. 함수형 프로그래밍
익명 함수(anonymous function)란, 이름이 없는 함수를 뜻한다. 전통적인 명령형 언어에서는 모든 함수에 이름이 부여되어야만 한다. 예컨대 인수를 제곱하는 함수를 C 언어로 작성한다면 다음과 같이 작성할 수 있을 것이다.
그러나 함수형 언어에서는 이 함수를 익명함수로 작성할 수 있다.  열린 함수와 닫힌 함수
함수
는 연속 함수이며 닫힌 함수이지만, 열린 함수가 아니다. 예를 들어, 열린집합 formula_50의 상은 formula_51이므로 열린집합이 아니다. 지수 함수
formula_29 바닥 함수와 천장 함수
분수 부분 함수는 1-주기 함수이며, 그 푸리에 급수는 다음과 같다.
바닥 함수와 천장 함수는 주기 함수가 아니므로, 이들의 푸리에 급수는 균등 수렴하지 않는다. 바닥 함수와 천장 함수는 조각마다 일차 함수이며, 분수 부분 함수는 조각마다 상수 함수이다. 이 셋의 불연속점 집합은 모두 정수 집합이다. 초등함수
수학에서, 초등 함수(初等函數, )는 대수 함수와 지수 함수와 로그 함수에 사칙 연산 및 함수의 합성을 가하여 만들 수 있는 일변수 함수이다. 단조함수
수학에서, 단조 함수(單調函數, )는 주어진 순서를 보존하는 함수이다. 기하학적으로, 실수 단조 함수의 그래프는 왼쪽에서 오른쪽으로 줄곧 상승하거나 줄곧 하강한다. 대수학적으로, 단조 함수는 두 순서 집합 사이의 준동형이다. 함수형 프로그래밍
순수한 함수(pure function)란, 부작용(side-effect)이 없는 함수, 즉, 함수의 실행이 외부에 영향을 끼치지 않는 함수를 뜻한다. 따라서 순수한 함수는 스레드 안전하고, 병렬적인 계산이 가능하다. ML (프로그래밍 언어)
팩토리얼 함수의 첫 번째 줄은 이 함수의 자료형을 표시하는 부분이다. ML은 코드로부터 자동으로 변수와 함수의 자료형을 추론하므로 이 부분은 없어도 무방하다. 첫 번째 줄은 ""함수 fac" (fac)"의 자료형은" (:) "정수에서 정수로 가는" (fn: int -> int) "함수이다."" 와 같이 해석할 수 있다. 따라서 이 함수는 정수를 인자로 받아 또 다른 정수를 반환하는 함수이다. 함수의 합성
함수의 합성은 결합 법칙을 만족시킨다. 즉, 임의의 집합 formula_1, formula_2, formula_3, formula_16 및 함수
가 주어졌을 때,
이다. 이에 따라, (항등 함수의 존재를 추가하면) 집합과 함수들은 범주를 이루는 것을 알 수 있다.