徽标
联盟百科
通讯
下载应用,请到 Google Play
新! 在您的Android™设备上下载联盟百科!
自由
比浏览器更快的访问!
 

高阶函数

指数 高阶函数

在数学和计算机科学中,高阶函数是至少满足下列一个条件的函数:.

19 关系: 复合函数导数微积分学函数函數程式語言积分算子组合子逻辑高阶逻辑计算机科学脚本语言Λ演算PythonScheme柯里化泛函泛函分析有类型λ演算数学

复合函数

在数学领域,两个函数的复合函数指一个将第一个函数作用于参数,然后再将第二个函数作用于所得结果的函数。 具体来说,给定两个函数f: X → Y和g: Y → Z,其中f的陪域等于g的定义域(称为f、g可复合),则其复合函数h.

新!!: 高阶函数和复合函数 · 查看更多 »

导数

导数(Derivative)是微积分学中重要的基礎概念。一个函数在某一点的导数描述了这个函数在这一点附近的变化率。导数的本质是通过极限的概念对函数进行局部的线性逼近。当函数f的自变量在一点x_0上产生一个增量h时,函數输出值的增量與自變量增量h的比值在h趋于0时的極限如果存在,即為f在x_0处的导数,记作f'(x_0)、\frac(x_0)或\left.\frac\right|_。例如在运动学中,物体的位移对于时间的导数就是物体的瞬时速度。 导数是函数的局部性质。不是所有的函数都有导数,一个函数也不一定在所有的点上都有导数。若某函数在某一点导数存在,则称其在这一点可导,否则称为不可导。如果函数的自变量和取值都是实数的话,那么函数在某一点的导数就是该函数所代表的曲线在這一点上的切线斜率。 对于可导的函数f,x \mapsto f'(x)也是一个函数,称作f的导函数。寻找已知的函数在某点的导数或其导函数的过程称为求导。反之,已知导函数也可以倒过来求原来的函数,即不定积分。微积分基本定理说明了求原函数与积分是等价的。求导和积分是一对互逆的操作,它们都是微积分学中最为基础的概念。.

新!!: 高阶函数和导数 · 查看更多 »

微积分学

微積分學(Calculus,拉丁语意为计数用的小石頭) 是研究極限、微分學、積分學和無窮級數等的一個數學分支,並成為了現代大學教育的重要组成部分。歷史上,微積分曾經指無窮小的計算。更本質的講,微積分學是一門研究變化的科學,正如:幾何學是研究形狀的科學、代數學是研究代數運算和解方程的科學一樣。微積分學又稱為“初等數學分析”。 微積分學在科學、經濟學、商業管理學和工業工程學領域有廣泛的應用,用來解决那些僅依靠代數學和幾何學不能有效解決的問題。微積分學在代數學和解析幾何學的基礎上建立起来,主要包括微分學、積分學。微分學包括求導數的運算,是一套關於變化率的理論。它使得函數、速度、加速度和斜率等均可用一套通用的符號進行演绎。積分學,包括求積分的運算,為定義和計算長度、面積、體積等提供一套通用的方法。微積分學基本定理指出,微分和積分互為逆運算,這也是兩種理論被統一成微積分學的原因。我們能以兩者中任意一者為起點來討論微積分學,但是在教學中一般會先引入微分學。在更深的數學領域中,高等微積分學通常被稱為分析學,並被定義為研究函數的科學,是現代數學的主要分支之一。.

新!!: 高阶函数和微积分学 · 查看更多 »

函数

函數在數學中為兩集合間的一種對應關係:輸入值集合中的每項元素皆能對應唯一一項輸出值集合中的元素。例如實數x對應到其平方x2的關係就是一個函數,若以3作為此函數的輸入值,所得的輸出值便是9。 為方便起見,一般做法是以符號f,g,h等等來指代一個函數。若函數f以x作為輸入值,則其輸出值一般寫作f(x),讀作f of x。上述的平方函數關係寫成數學式記為f(x).

新!!: 高阶函数和函数 · 查看更多 »

函數程式語言

函數式編程(functional programming)或称函数程序设计,又稱泛函編程,是一種編程典範,它將電腦運算視為數學上的函數計算,並且避免使用程序状态以及易变物件。函數程式語言最重要的基礎是λ演算(lambda calculus)。而且λ演算的函數可以接受函數當作輸入(引數)和輸出(傳出值)。 比起指令式編程,函數式編程更加強調程序执行的结果而非执行的过程,倡导利用若干简单的执行单元让计算结果不断渐进,逐层推导复杂的运算,而不是设计一个复杂的执行过程。.

新!!: 高阶函数和函數程式語言 · 查看更多 »

积分

积分是微积分学与数学分析裡的一个核心概念。通常分为定积分和不定积分两种。直观地说,对于一个给定的正实值函数 f(x), f(x)在一个实数区间 上的定积分 可以理解为在 \textstyle Oxy坐标平面上,由曲线 (x,f(x))、直线x.

新!!: 高阶函数和积分 · 查看更多 »

算子

算子(Operator)是从一个向量空间(或模)到另一个向量空间(或模)的映射。 算子对于线性代数和泛函分析都至关重要,它在纯数学和应用数学的许多其他领域中都有应用。 例如,在经典力学中,导数的使用无处不在,而在量子力学中,可观察量由埃尔米特算子表示。 各种算子可以具有包括线性、连续性和有界性等的重要性质。.

新!!: 高阶函数和算子 · 查看更多 »

组合子逻辑

组合子逻辑是Moses Schönfinkel和哈斯凱爾·加里介入的一种符号系统,用来消除数理逻辑中对变量的需要。它最近在计算机科学中被用做计算的理论模型和设计函数式编程语言的基础。它所基于的组合子是只使用函数应用或早先定义的组合子来定义从它们的参数得出的结果的高阶函数。.

新!!: 高阶函数和组合子逻辑 · 查看更多 »

高阶逻辑

在数学中,高阶逻辑在很多方面有别于一阶逻辑。 其一是变量类型出现在量化中;粗略的说,一阶逻辑中禁止量化谓词。允许这么做的系统请参见二阶逻辑。 高阶逻辑区别于一阶逻辑的其他方式是在构造中允许下层的类型论。高阶谓词是接受其他谓词作为参数的谓词。一般的,阶为n的高阶谓词接受一个或多个(n − 1)阶的谓词作为参数,这里的n > 1。对高阶函数类似的评述也成立。 高阶逻辑更加富有表达力,但是它们的性质,特别是有关模型论的,使它们对很多应用不能表现良好。作为哥德尔的结论,经典高阶逻辑不容许(递归的公理化的)可靠的和完备的证明演算;这个缺陷可以通过使用Henkin模型来修补。 高阶逻辑的一个实例是构造演算。.

新!!: 高阶函数和高阶逻辑 · 查看更多 »

计算机科学

计算机科学用于解决信息与计算的理论基础,以及实现和应用它们的实用技术。 计算机科学(computer science,有时缩写为CS)是系统性研究信息与计算的理论基础以及它们在计算机系统中如何与应用的实用技术的学科。 它通常被形容为对那些创造、描述以及转换信息的算法处理的系统研究。计算机科学包含很多分支领域;有些强调特定结果的计算,比如计算机图形学;而有些是探討计算问题的性质,比如计算复杂性理论;还有一些领域專注于怎样实现计算,比如程式語言理論是研究描述计算的方法,而程式设计是应用特定的程式語言解决特定的计算问题,人机交互则是專注于怎样使计算机和计算变得有用、好用,以及随时随地为人所用。 有时公众会误以为计算机科学就是解决计算机问题的事业(比如信息技术),或者只是与使用计算机的经验有关,如玩游戏、上网或者文字处理。其实计算机科学所关注的,不仅仅是去理解实现类似游戏、浏览器这些软件的程序的性质,更要通过现有的知识创造新的程序或者改进已有的程序。 尽管计算机科学(computer science)的名字里包含计算机这几个字,但实际上计算机科学相当数量的领域都不涉及计算机本身的研究。因此,一些新的名字被提议出来。某些重点大学的院系倾向于术语计算科学(computing science),以精确强调两者之间的不同。丹麦科学家Peter Naur建议使用术语"datalogy",以反映这一事实,即科学学科是围绕着数据和数据处理,而不一定要涉及计算机。第一个使用这个术语的科学机构是哥本哈根大学Datalogy学院,该学院成立于1969年,Peter Naur便是第一任教授。这个术语主要被用于北欧国家。同时,在计算技术发展初期,《ACM通讯》建议了一些针对计算领域从业人员的术语:turingineer,turologist,flow-charts-man,applied meta-mathematician及applied epistemologist。 三个月后在同样的期刊上,comptologist被提出,第二年又变成了hypologist。 术语computics也曾经被提议过。在欧洲大陆,起源于信息(information)和数学或者自动(automatic)的名字比起源于计算机或者计算(computation)更常见,如informatique(法语),Informatik(德语),informatika(斯拉夫语族)。 著名计算机科学家Edsger Dijkstra曾经指出:“计算机科学并不只是关于计算机,就像天文学并不只是关于望远镜一样。”("Computer science is no more about computers than astronomy is about telescopes.")设计、部署计算机和计算机系统通常被认为是非计算机科学学科的领域。例如,研究计算机硬件被看作是计算机工程的一部分,而对于商业计算机系统的研究和部署被称为信息技术或者信息系统。然而,现如今也越来越多地融合了各类计算机相关学科的思想。计算机科学研究也经常与其它学科交叉,比如心理学,认知科学,语言学,数学,物理学,统计学和经济学。 计算机科学被认为比其它科学学科与数学的联系更加密切,一些观察者说计算就是一门数学科学。 早期计算机科学受数学研究成果的影响很大,如Kurt Gödel和Alan Turing,这两个领域在某些学科,例如数理逻辑、范畴论、域理论和代数,也不断有有益的思想交流。.

新!!: 高阶函数和计算机科学 · 查看更多 »

脚本语言

脚本语言(Scripting language)是为了缩短传统的「编写、编译、链接、运行」(edit-compile-link-run)过程而创建的计算机编程语言。早期的脚本语言经常被称为批处理语言或工作控制语言。一个脚本通常是解释运行而非编译。脚本語言通常都有簡單、易學、易用的特性,目的就是希望能讓程式設計師快速完成程式的編寫工作。而巨集語言則可視為脚本語言的分支,兩者也有實質上的相同之處。 虽然许多脚本语言都超越了计算机简单任务自动化的领域,成熟到可以编写精巧的程序,但仍然还是被称为脚本。几乎所有计算机系统的各个层次都有一种脚本语言。包括操作系统层,如计算机游戏,网络应用程序,字处理文档,网络软件等。在许多方面,高级编程语言和脚本语言之间互相交叉,二者之间没有明确的界限。.

新!!: 高阶函数和脚本语言 · 查看更多 »

Λ演算

λ演算(英語:lambda calculus,λ-calculus)是一套從數學邏輯中發展,以變數綁定和替換的規則,來研究函式如何抽象化定義、函式如何被應用以及遞迴的形式系統。它由數學家阿隆佐·邱奇在20世紀30年代首次發表。Lambda演算作為一種廣泛用途的計算模型,可以清晰地定義什麼是一個可計算函式,而任何可計算函式都能以這種形式表達和求值,它能模擬單一磁帶图灵机的計算過程;儘管如此,Lambda演算強調的是變換規則的運用,而非實現它們的具體機器。 Lambda演算可比擬是最根本的編程語言,它包括了一條變換規則(變數替換)和一條將函式抽象化定義的方式。因此普遍公認是一種更接近軟體而非硬體的方式。對函數式編程語言造成很大影響,比如Lisp、ML语言和Haskell语言。在1936年邱奇利用λ演算給出了對於判定性問題(Entscheidungsproblem)的否定:關於兩個lambda運算式是否等價的命題,無法由一個「通用的演算法」判斷,這是不可判定效能夠證明的頭一個問題,甚至還在停机问题之先。 Lambda演算包括了建構lambda項,和對lambda項執行歸約的操作。在最簡單的lambda演算中,只使用以下的規則來建構lambda項: 產生了諸如:(λx.λy.(λz.(λx.zx)(λy.zy))(x y)的表達式。如果表達式是明確而沒有歧義的,則括號可以省略。對於某些應用,其中可能包括了邏輯和數學的常量以及相關操作。 本文讨论的是邱奇的“无类型lambda演算”,此后,已经研究出来了一些有类型lambda演算。.

新!!: 高阶函数和Λ演算 · 查看更多 »

Python

Python( ),是一种广泛使用的高级编程语言,属于通用型编程语言,由吉多·范罗苏姆创造,第一版发布于1991年。可以視之為一種改良(加入一些其他程式語言的優點,如物件導向)的LISP。作为一种解释型语言,Python的设计哲学强调代码的可读性和简洁的语法(尤其是使用空格缩进划分代码块,而非使用大括号或者关键词)。相比於C++或Java,Python让开发者能够用更少的代码表达想法。不管是小型还是大型程序,该语言都试图让程序的结构清晰明了。 与Scheme、Ruby、Perl、Tcl等动态类型编程语言一样,Python拥有动态类型系统和垃圾回收功能,能够自动管理内存使用,并且支持多种编程范式,包括面向对象、命令式、函数式和过程式编程。其本身拥有一个巨大而广泛的标准库。 Python 解释器本身几乎可以在所有的操作系统中运行。Python的正式直譯器CPython是用C语言编写的、是一個由社群驱动的自由软件,目前由Python软件基金会管理。.

新!!: 高阶函数和Python · 查看更多 »

Scheme

Scheme是一种函数式编程语言,是Lisp的两种主要方言之一(另一种为Common Lisp)。不同于Common Lisp,Scheme遵循極簡主義哲学,以一个小型语言核心作为标准,加上各种强力语言工具(语法糖)来扩展语言本身。 麻省理工學院與其他院校曾采用Scheme教授计算机科学入門課程。著名的入門教材《-zh-hans:计算机程序的构造和解释;zh-hant:電腦程式的構造和解釋-》(SICP)利用Scheme來解釋程序設計 。Scheme的廣泛受眾被視為一個主要優勢,然而不同實現之間的差異成為了它的一個劣勢。 Scheme最早由麻省理工學院的蓋伊·史提爾二世與傑拉德·傑伊·薩斯曼在1970年代發展出來,並由兩人發表的「λ論文集」推廣開來。 Scheme語言與λ演算關係十分密切。小寫字母「λ」是Scheme語言的標誌。 Scheme的哲学是:设计计算机语言不应该进行功能的堆砌,而应该尽可能减少弱点和限制,使剩下的功能显得必要。Scheme是第一個使用靜態作用域的Lisp方言,也是第一个引入“干净宏”和第一类续延的编程语言。.

新!!: 高阶函数和Scheme · 查看更多 »

柯里化

在计算机科学中,柯里化(Currying),又译为卡瑞化或加里化,是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术。这个技术由克里斯托弗·斯特雷奇以逻辑学家哈斯凱爾·加里命名的,尽管它是Moses Schönfinkel和戈特洛布·弗雷格发明的。 在直觉上,柯里化声称「如果你固定某些参数,你将得到接受余下参数的一个函数」。所以对于有两个变量的函数y^x,如果固定了y.

新!!: 高阶函数和柯里化 · 查看更多 »

泛函

传统上,泛函(functional)通常是指一種定義域為函數,而值域为实数的「函數」。换句话说,就是从函数组成的一个向量空间到实数的一个映射。也就是说它的输入为函数,而输出为实数。泛函的应用可以追溯到变分法,那里通常需要寻找一个函数用来最小化某个特定泛函。在物理学上,寻找某个能量泛函的最小系统状态是泛函的一个重要应用。 在泛函分析中,泛函也用来指一个从任意向量空间到标量域的映射。泛函中的一类特例线性泛函引发了对对偶空间的研究。 设S\ 是由一些函数構成的集合。所谓S\ 上的泛函就是S\ 上的一个实值函数。S\ 称为该泛函的容许函数集。 函数的变换某种程度上是更一般的概念,参见算子。.

新!!: 高阶函数和泛函 · 查看更多 »

泛函分析

泛函分析(Functional Analysis)是现代数学分析的一个分支,隶属于分析学,其研究的主要对象是函数构成的函数空间。泛函分析历史根源是由对函数空间的研究和对函数的变换(如傅立叶变换等)的性质的研究。这种观点被证明是对微分方程和积分方程的研究中特别有用。 使用泛函这个词作为表述源自变分法,代表作用于函数的函数,这意味着,一个函数的参数是函数。这个名词首次被雅克·阿达马在1910年使用于这个课题的书中。是泛函分析理论的主要奠基人之一。然而,泛函的一般概念以前曾在1887年是由意大利数学家和物理学家維多·沃爾泰拉(Vito Volterra)介绍。非线性泛函理论是由雅克·阿达马的学生继续研究,特别是莫里斯·弗雷歇(Maurice Fréchet)可和列维(Levy)。雅克·阿达马还创立线性泛函分析的现代流派,并由弗里杰什·里斯和一批围绕着斯特凡·巴拿赫(Stefan Banach)的波兰数学家进一步发展。.

新!!: 高阶函数和泛函分析 · 查看更多 »

有类型λ演算

有类型 lambda 演算是使用 lambda 符号(\lambda)指示匿名函数抽象的一种有类型的形式化。有类型 lambda 演算是基础编程语言并且是有类型的函数式编程语言如 ML 和 Haskell 和更间接的指令式编程语言的基础。它们通过 Curry-Howard同构密切关联于直觉逻辑并可以被认为是范畴的类的内部语言,比如简单类型 lambda 演算是笛卡尔闭范畴(CCC)的语言。 传统上,有类型 lambda 演算被看作无类型lambda演算的精细化。更现代的观点把有类型 lambda 演算看做更基础的理论,而把无类型 lambda 演算看作它的只有一个类型的特殊情况。.

新!!: 高阶函数和有类型λ演算 · 查看更多 »

数学

数学是利用符号语言研究數量、结构、变化以及空间等概念的一門学科,从某种角度看屬於形式科學的一種。數學透過抽象化和邏輯推理的使用,由計數、計算、量度和對物體形狀及運動的觀察而產生。數學家們拓展這些概念,為了公式化新的猜想以及從選定的公理及定義中建立起嚴謹推導出的定理。 基礎數學的知識與運用總是個人與團體生活中不可或缺的一環。對數學基本概念的完善,早在古埃及、美索不達米亞及古印度內的古代數學文本便可觀見,而在古希臘那裡有更為嚴謹的處理。從那時開始,數學的發展便持續不斷地小幅進展,至16世紀的文藝復興時期,因为新的科學發現和數學革新兩者的交互,致使數學的加速发展,直至今日。数学并成为許多國家及地區的教育範疇中的一部分。 今日,數學使用在不同的領域中,包括科學、工程、醫學和經濟學等。數學對這些領域的應用通常被稱為應用數學,有時亦會激起新的數學發現,並導致全新學科的發展,例如物理学的实质性发展中建立的某些理论激发数学家对于某些问题的不同角度的思考。數學家也研究純數學,就是數學本身的实质性內容,而不以任何實際應用為目標。雖然許多研究以純數學開始,但其过程中也發現許多應用之处。.

新!!: 高阶函数和数学 · 查看更多 »

重定向到这里:

高階函數

传出传入
嘿!我们在Facebook上吧! »