问题标签 [complex-numbers]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2290 浏览

math - 使用符号数学工具箱绘制复杂函数?

我应该如何绘制这个函数:

z^(1/n)[z 的复根]

ezsurf(), ezmesh(), ...? 在官方文档中明确指出,ezsurf()例如ezsurfc(),不接受复杂的输入。

我知道诀窍可能是同时使用real()imag()功能,但即便如此,我还是无法摆脱这个问题。

0 投票
3 回答
905 浏览

boost - 在 Boost MPI 中使用骨架/内容机制发送复杂数据

似乎通过骨架/内容机制发送 stl 复杂数据不起作用。

这是一个显示问题的简单代码:

输出中向量 l 的条目不是 (1.0,1.0) 但它们似乎未初始化。这仅在使用复杂数据类型和骨架/内容机制时才会发生。

有谁知道,如果这是一个内置问题,或者我做错了什么?

0 投票
4 回答
1230 浏览

c++ - 如何在 C++ 程序中包含 C 系统头文件而不是同名的 C++ 系统头文件?

我的 Mac OS X 系统似乎有几个不同版本的头文件complex.h,而且它们不兼容。

  • /usr/include/complex.h定义数字的 C99 实现_Complex
  • /usr/include/c++/4.2.1/backward/complex.h是围绕 C++ 标头的一个薄包装器.h,它定义了std::complex数字的 C++ 实现。

我的问题是我有一个使用 C99 复数编译的 C 库,我需要将我的 C++ 程序链接到它。但是,它的包含文件引用<complex.h>,以及在编译我的程序时,g++ 选择了 C++ 向后兼容标头,然后一切都变得松散了。

我尝试将-I/usr/include标志传递给 g++,但没有帮助。

包含时如何强制 g++ 使用 C 标头而不是 C++ 标头<complex.h>

0 投票
2 回答
309803 浏览

python - Complex numbers in python

Are complex numbers a supported data-type in python? If so, how do you use them?

0 投票
2 回答
769 浏览

java - 递归FFT java算法返回null?

我目前正在尝试在java中实现FFT算法并且遇到了一些麻烦!我已经很好地测试了算法的所有其他部分,它们似乎工作正常。

我遇到的麻烦是,在基本情况下,它返回一个复数数组,在基本情况下A[0]已填充。在执行基本案例之后,尽管将它们分配给基本案例,但在发现为null的地方执行了 for 循环y0[0],对此非常困惑。这显示在该行中y1[0]System.out.println

谁能告诉我我的方式的错误?

这是我请求的 splitInput 方法的代码

编辑:我已经根据你的建议更新了我的代码,仍然从行中得到一个空指针异常,y[k] = y0[k].plus(omega[k].times(y1[k]));因为y0&y1仍然null在基本情况之后 :( 任何进一步的想法?这是更新的算法

0 投票
2 回答
1766 浏览

python - 在 Python 中绘制复数?

对于一个数学公平项目,我想制作一个生成 Julia 集分形的程序。为此,我需要在图表上绘制复数。有谁知道如何做到这一点?请记住,我使用的是复数,而不是常规坐标。谢谢你!

0 投票
3 回答
960 浏览

python - 如何编写函数将画布上的点映射到真实平面上的点

我正在用 Python 在 pygame 屏幕上编写一个简单的 Mandelbrot 可视化器。对于 600 x 600 屏幕上的每个像素,我正在绘制这个像素 (x, y) 作为复数是否在 Mandelbrot 集中。

问题是我从 (0, 0) 开始并迭代到 (600, 600),其中大部分都在集合之外。所以我加入一个比例因子来放大,但我仍然只绘制右上象限。我想要一些方法,所以我的情节总是以 0+0i 为中心。

我想做的是找到某种方法将 600px^2 画布映射到从 x 轴上的 [-2, 2] 到 y 轴上的 [2, -2] 的真实平面。例如,这意味着复数 0+0i 将映射到屏幕上的 (300, 300)。这样,我的情节将始终居中。

0 投票
1 回答
3919 浏览

python - python求解具有复变量的微分方程

伙计们,

是否可以在 python 中解决具有复杂变量的 ODE?我的等式具有以下形式

其中 y(t) 是已知函数,a 是已知数,i 是 -1 的根。

我尝试使用 odeint() 但它给出了许多错误消息。

我猜 odeint() 不适用于复杂变量。因此,一种解决方法是将 x 的实部和虚部分开,并将原始 ODE 视为两个耦合的 ODE。

但我也想知道这个任务是否有更方便的方法?用复变量求解 ODE/PDE 是一个普遍的问题,并且一直手动进行这种复数 -> 实数转换将非常麻烦。

非常感谢。

0 投票
2 回答
1202 浏览

wolfram-mathematica - Mathematica:找到复数实部为正的条件,Reduce 的意外/冗余输出

我需要找到复数实部为负的条件。我认为 Reduce 非常适合这个,但它提供了冗余输出(即使在简化之后)。例如:

由于 a 和 b 被假定为实数,因为它们出现在不等式中,因此不需要进一步假设 a 和 b 之间的关系,我期望的结果是:

是否有充分的理由为什么没有获得?(在我看来)多余的结果会为更复杂的表达式累积,我需要减少其中的一些。有没有获得预期结果的技巧?我尝试选择 Reals 作为域并且根本不选择域,但没有什么能真正满足我的需求。顺便说一句,我正在通过检查特征值来分析固定点的稳定性……这是一项非常常见的任务。

0 投票
2 回答
2792 浏览

c++ - cuda, pycuda -- 如何写复数 -- 错误:类“cuComplex”没有成员“i”

我很难在 cuda、pycuda 中使用复数。

我在 C 中有这个:

此外,在相同的代码中:

如何将其转换为与 pycuda 一起使用?我尝试过这样的事情(根据'cuda by an example'一书):

我犯的一些错误是:

不允许使用数据成员初始化程序

此声明没有存储类或类型说明符

谢谢!

----------------- - 编辑- ------------- ------------------

我使用#include <pycuda-complex.hpp> (相对于上述)做了以下操作:

至于typedef std::vector< boost::array<std::complex<double>,3 > > ComplexFieldType;

并且ComplexFieldType const & M,在全局函数中,我尝试了“float *M”或“cmplx *M”。

直到现在,我收到错误:

变量“cmplx”不是类型名称

如果我使用 pycuda::complex cmplx; ,然后我得到:

标识符“cmplx”未定义

后跟“::”的名称必须是类或命名空间名称

还:

表达式必须具有指向对象的类型(但也许这是来自代码的另一部分)