标签:#高阶函数

共 6 篇文章

柯里化

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

高阶函数

在数学和计算机科学中,高阶函数是至少满足下列一个条件的函数: 接受一个或多个函数作为输入 输出一个函数 在数学中它们也叫做算子(运算符)或泛函。微积分中的导数就是常见的例子,因为它映射一个函数到另一个函数。 在无类型lambda演算,所有函数都是高阶的;在有类型lambda演算中,高阶函数一般是那些函數型別包含多于一个箭头的函数。在函数式编程中,返回另一个函数的高阶函数被称为Curry化的函数。 一般性例子 在很多函数式编程语言中能找到…

Map (高阶函数)

在很多编程语言中,映射(map)是一个高阶函数的名字,它将一个应用到一个函子比如列表的每个元素,返回按相同次序的一个列表。映射的概念不受限于列表:它可工作在顺序的容器,类似树的容器,甚至是抽象容器比如future与promise。 映射在作为泛函形式考虑时,经常叫做“应用于全部”。在支持头等函数和柯里化的语言中,map可以在一个函数上,将这个只工作在一个值之上函数,提升为工作在整个容器上的逐个元素上的函数。 定义 map作为Haskel…

Filter (高阶函数)

在函数式编程中,过滤器(filter)是一个高阶函数,它按某种次序处理一个数据结构(通常是列表),来产一个新的数据结构,它精确的包含最初数据结构中给定对其返回布尔值true的那些元素。 定义 Python 在Python中,filter在说明文档中的语法是filter(function,iterable) 可以用如下办法用列表推导式实现 output = [x for x in iterable if function] 在Python…

Fold (高阶函数)

在函数式编程中,折叠(fold),也称为归约(reduce)、积累(accumulate)、聚集(aggregate)、压缩(compress)或注入(inject),指称一组高阶函数,它们分析递归数据结构并通过使用给定组合运算,将递归的处理它的构成部件、建造一个返回值的结果重组起来。典型的,要向折叠提供一个组合函数,一个数据结构的顶端,和可能的在特定条件下使用的某些缺省值。折叠接着以系统性方式使用这个函数,进行组合这个数据结构的层级中…

外积 (张量积)

外积(),在线性代数中一般指两个向量的张量積,其結果為一矩陣;與外积相對,兩向量的內積結果為純量。 外積也可視作是矩陣的克羅內克積的一種特例。注意到:一些作者將「張量的外積」作為張量積的同義詞。 矩阵乘法定义 向量的外积是矩阵的克罗内克积的特殊情况。 给定m\times 1 列向量\mathbf{u}和1 \times n 行向量\mathbf{v},它们的外积\mathbf{u} \otimes \mathbf{v}被定义为m\tim…