gpt4 book ai didi

lambda - 计算两个向量的点积

转载 作者:行者123 更新时间:2023-12-02 17:53:28 26 4
gpt4 key购买 nike

我应该在序言中创建一个谓词,使得 iprod(List1, List2, Result)需要两个长度相等的列表,每个列表都包含整数。结果是两个向量的点积。

例如,List1 = [1,2,3] , List2 = [4,5,6] ,那么结果将是 1*4 + 2*5 + 3*6 。另外,我不应该使用内置的点积函数。

到目前为止我的代码:

iprod([],[], 0).
iprod([H1|List1], [H2|List2], Result is H1 * H2) :- iprod(List1, List2, Result).

最佳答案

使用 SWI-Prolog:

?- use_module(<a href="http://www.complang.tuwien.ac.at/ulrich/Prolog-inedit/lambda.pl" rel="noreferrer noopener nofollow">library(lambda)</a>).

?- maplist(\X^Y^Z^(Z=X*Y),[1,2,3],[4,5,6],Dots).
Dots = [1*4,2*5,3*6].
?- maplist(\X^Y^Z^(Z is X*Y),[1,2,3],[4,5,6],Dots).
Dots = [4,10,18].

关于lambda - 计算两个向量的点积,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4908229/

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