如何在Prolog中处理复数?

如何在Prolog中处理复数?,prolog,numbers,complex-numbers,operations,Prolog,Numbers,Complex Numbers,Operations,我有一个任务是写一个prolog代码来加、乘、减、除复数。然而,我不知道如何在序言中描绘虚数 kompl_mul(komplex(A1,B1),komplex(A2,B2),komplex(A,B)) :- A is A1*A2 - B1*B2, B is A1*B2 - A2*B1. 这就是我从乘法规则开始的方式,但是我如何实现+bi呢?如何证明B是bi 非常感谢你的帮助 看起来你已经有了一个很好的开始,这就是a+bi被表示为komplex(a,b),是吗?你问我如何证明B是bi

我有一个任务是写一个prolog代码来加、乘、减、除复数。然而,我不知道如何在序言中描绘虚数

kompl_mul(komplex(A1,B1),komplex(A2,B2),komplex(A,B)) :-
   A is A1*A2 - B1*B2,
   B is A1*B2 - A2*B1.
这就是我从乘法规则开始的方式,但是我如何实现+bi呢?如何证明B是bi


非常感谢你的帮助

看起来你已经有了一个很好的开始,这就是
a+bi
被表示为
komplex(a,b)
,是吗?你问我如何证明B是bi,你似乎不理解你的表达?您不需要逐字地将其表示为
a+bi
。或者,您正在询问如何向用户输入和输出特定格式?你已经展示了一个正确的乘法公式。因此,如果你有
komplex(A1,B1)
komplex(A2,B2)
你认为
A
B
komplex(A,B)
中,如果它是前两个的总和,会是什么?在Prolog中提供复数算术的实现。