问题标签 [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 回答
4434 浏览

java - Java中的离散傅里叶变换(非FFT)

我正在为 Java 中的 CSE 类进行分配,并正在实现 FFT 和直接 DFT(使用矩阵计算)。我的 FFT 工作正常,但我的直接 DFT 不起作用。我的傅立叶矩阵没有给出正确的值,我想知道它是否是用户错误,或者问题是否在于我正在使用的 Complex 类(org.apache.commons.math.complex)。有这样一个主流课程,我想它只是用户错误,所以如果有人能指出它,那就太好了。

我的傅立叶矩阵计算如下:

我将一些项目提取到变量中以进行调试,但根据我的理解,代码应该都可以工作。

然而,上面的代码对于一个长度为 4 的向量,给出了以下矩阵:

任何帮助是极大的赞赏。

0 投票
2 回答
1094 浏览

python - Python中是否有用于大精度复数的库?

Python中是否有用于大精度复数的库?

0 投票
2 回答
4189 浏览

c++ - How to use complex numbers in c++?

may you tell me how to write a complex variable in C++ code please?

I do have separate real part psi_rl and imaginary part psi_im. Now I have to write psi = psi_rl + i psi_im. Do you have any idea how to accomplish this task?

Thanks.

0 投票
2 回答
2578 浏览

matlab - matlab图像处理错误

我试图在 matlab 中找到图像的傅里叶变换。我在没有库函数的情况下这样做。代码是:

当我编译这个程序时,会出现以下错误:

当我使用 a=rand(1,128) 而不是 a=imread('lena128','bmp') 时,我没有收到该错误。我在网上搜索,发现类似的问题。但没有解决办法。谁能为我指出错误?

0 投票
4 回答
20312 浏览

wolfram-mathematica - 在 Mathematica 中绘制一个复杂的函数

如何制作 Mathematica 图形来复制复杂绘图在 sage 中的行为?IE

... 采用一个变量的复杂函数,并在指定的 xrange 和 yrange 上绘制函数的输出,如下所示。输出的大小由亮度表示(零为黑色,无穷大为白色),而参数由色调表示(红色为正实数,随着参数的增加通过橙色、黄色……增加) .

这是 zeta 函数的示例(从 M. Hampton of Neutral Drifts窃取),具有绝对值的叠加轮廓:

zeta 函数 complex_plot

在 Mathematica 文档页面Functions Of Complex VariablesContourPlot中,它说您可以使用DensityPlot“可能按阶段着色”来可视化复杂函数。但是问题出在这两种类型的图中,ColorFunction只需要一个等于该点的轮廓或密度的变量 - 所以在绘制绝对值时似乎不可能让它为相位/参数着色。请注意,这不是Plot3D所有 3 个参数(x,y,z)都传递给的问题ColorFunction

我知道还有其他方法可以可视化复杂的函数 - 例如Plot3D 文档中的“简洁示例” ,但这不是我想要的。

另外,我在下面确实有一个解决方案ContourPlot(实际上已用于生成维基百科中使用的一些图形),但它定义了一个相当低级的函数,我认为它应该可以使用像or这样的高级函数DensityPlot。并不是说这应该阻止您提供您最喜欢的使用较低级别结构的方法!


编辑: Michael Trott 在 Mathematica 杂志上有一些不错的文章:
可视化代数函数的黎曼曲面,IIaIIbIIcIId
可视化黎曼曲面演示
黎曼曲面的回归(Mma v6 的更新)

当然,Michael Trott 编写了Mathematica 指南,其中包含许多精美的图形,但似乎落后于加速的 Mathematica 发布时间表!

0 投票
1 回答
3702 浏览

python - 将交错的 NumPy 整数数组转换为 complex64 的最快方法是什么?

我有一个输入数据流,其中包含交错的实数和虚数整数。将这些转换为 complex64 值是我程序中最慢的操作。这是我目前的做法:

如果不进行 C 扩展或使用 cython 之类的东西,我可以做得更好吗?如果我不能做得更好,那么使用其中一种技术的最简单方法是什么?

0 投票
1 回答
919 浏览

iphone - iOS——实现复数

作为这个问题的后续行动:

当我注意到如果使用该支持进行计算时,我 正在使用Apple 的复数支持实现一个计算器应用程序,最终会得到以下结果:

(1+i)^2=1.2246063538223773e-16 + 2i

当然正确的恒等式是(1+i)^2=2i。这是一个更普遍现象的具体例子——如果舍入错误将一个应该为零的部分舍入到稍微不为零的部分,那么它们可能真的很烦人。

关于如何处理的建议?我可以用其他方式实现复数的整数幂,但一般问题仍然存在,我的解决方案本身可能会导致其他不一致。

0 投票
2 回答
1787 浏览

c# - 这个傅立叶变换实现有什么问题

我正在尝试实现离散傅立叶变换,但它不起作用。我可能在某个地方写了一个错误,但我还没有找到它。

基于以下公式:

大地

此函数执行第一个循环,循环 X0 - Xn-1... 在此处输入图像描述

而实际计算,这可能就是bug所在。

接下来解释其余代码:

var sign = reverse ? 1.0: -1.0;反转的 DFT 不会-1在参数中包含,而常规 DFT 确实-1在参数中包含 a。

在此处输入图像描述

var argument = sign*2.0*Math.PI*k/data.Length;是算法的参数。这部分:

在此处输入图像描述

然后是最后一部分

transformed += data[i]*Complex.FromPolarCoordinates(1, argument*i);

我想我仔细复制了算法,所以我看不出我在哪里犯了错误......

附加信息

正如 Adam Gritt 在他的回答中所表明的那样,AForge.net 对该算法有一个很好的实现。我大概可以通过复制他们的代码在 30 秒内解决这个问题。但是,我仍然不知道我在实施中做错了什么。

我真的很好奇我的缺陷在哪里,以及我的解释是错误的。

0 投票
2 回答
1740 浏览

c++ - 使用 std::transform 和 tr1::bind 转换 std::complex 的向量

给定 std::complex 的 std::vector,我想将其转换为仅包含复数实部的向量,除以某个常数系数。现在,我这样做:

这当然可以,但我正在寻找一种使用 std::transform 做同样事情的方法。我试过:

但它不会起作用。我有这个错误:

我不明白为什么会有“未解析的重载函数类型”。

有人可以向我解释什么是错的吗?

0 投票
5 回答
854 浏览

c - C99:复数的虚部可以是负零吗

是否可以在 C99 复数浮点数的虚部存储负零?

我应该如何用带符号的虚部静态初始化复杂的常量?

我有一个小例子,但我不明白,为什么ac相同以及为什么-std=c99会改变结果。

欢迎引用 C99-TC3 和 gcc 手册。

我在 C99 (n1256.pdf) 和http://www.knosof.co.uk/cbook/中找不到任何相关内容