gpt4 book ai didi

math - 函数的右/左反函数是什么?

转载 作者:行者123 更新时间:2023-12-02 01:25:28 24 4
gpt4 key购买 nike

在他的《软件基础》一书中,Benjamin Pierce notes that

The function split is the right inverse of combine

splitunzipcombinezip。我想知道函数的“右逆函数”是什么意思,以及是否还有 zip 的左逆函数。

最佳答案

如果 f ,

rf 的右逆。 r 是恒等函数(其中 . 表示组合)。

如果 l ,

lf 的左逆。 f 是恒等函数。

在这里,他有点滥用命名,因为函数 combine 没有将这对列表作为输入,而是分别接受每个列表。

splitcombine 的右逆而不是完全逆的原因是 combine 函数删除了一个元素如果它们的大小不同,它的输入列表。从这个意义上说,split 丢失了 combine 没有机会产生的信息。

也就是说,如果你开始:

l1 = [1]
l2 = [2; 3; 4]

然后:

combine l1 l2 = [(1, 2)]

和:

split (combine l1 l2) = ([1], [2])

split 无法成为 combine 的左逆,因为 combine 只是删除了元素 34 不存在。

另一方面,对于任何对 lp 的列表:

let (l1, l2) := split lp in combine l1 l2
= lp

(如果 combine 将一对作为输入,你可以这样写 (combine .split) lp = lp)

关于math - 函数的右/左反函数是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37337577/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com