gpt4 book ai didi

c - 将复数乘以标量,例如 (2-6i)*3

转载 作者:太空宇宙 更新时间:2023-11-04 08:44:29 25 4
gpt4 key购买 nike

假设我们有以下构造函数..

 complex(int,x,int,y){
r = x;
i = y;
}

如果我要取 3*complex(1,2) 本质上和乘法是一样的

complex(1,2)*complex(3,0)?

我正在尝试在这里计算一个 julia 集,我对复数还很陌生。感谢您的帮助!

最佳答案

是的,但是您编写它的方式与 C 或 C++ 或 CUDA 不匹配。

如果你有一个复数 (2-6i) 并且你想将它乘以 3,这与将它乘以 (3+0i) 是一样的。

如果您想在 CUDA 中使用复数,我会为您省去一些麻烦,并从您这样做时所有的定义开始:

#include <cuComplex.h>

(在标准的 linux CUDA 安装中,这将在 /usr/local/cuda/include 中)

在使用 nvcc 编译的任何 .cu 文件中使用它。需要使用复数的地方。

如果您熟悉该头文件,您将节省一些时间来尝试手动构建这些东西。

有一些函数可以构建复数,并对它们进行各种类型的算术运算。您也可以在 SO 上搜索更多高级功能,例如极坐标转换等。

还有 wikipedia article读起来也不错。

下面是乘以 (2-6i) * (3+0i) 的示例代码:

cuDoubleComplex a, b, c;
a = make_cuDoubleComplex(2, -6);
b = make_cuDoubleComplex(3, 0);
c = cuCmul(a, b);

以上代码在主机代码或设备代码中同样有效。

关于c - 将复数乘以标量,例如 (2-6i)*3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22215030/

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