Questions tagged «complex»

2
为什么计算科学家需要实现自己的std :: complex版本?
许多计算科学较为著名的C ++库如征,Trilinos和deal.II使用标准的C ++模板库头对象std::complex<>,表示复杂的浮点数。 在Jack Poulson 回答有关默认构造函数的问题时,他指出,“出于多种原因” 他std::complex在Elemental中具有自己的实现。那是什么原因 这种方法的优点和缺点是什么?

2
科学计算中复杂算术的危险
复杂的内积具有由惯例决定两个不同的定义:ˉ Ù Ť v或ü Ť ˉ v。在BLAS中,我找到了例程cdotu,zdotu和cdotc,zdotc。前两个例程实际上计算u T v(伪内积!),而后两个例程将内积中的第一个向量共轭。另外,通过任一定义(共轭Ù或v),⟨ ü ,v ⟩ = ¯ ⟨ v ,ù ⟩⟨ ü ,v ⟩⟨u,v⟩\langle u,v\rangleü¯Ťvu¯Tv\bar{u}^TvüŤv¯uTv¯u^T\bar{v}üŤvuTvu^Tvüuuvvv⟨ ü ,v ⟩ = ⟨ v ,ù ⟩¯¯¯¯¯¯¯¯¯¯¯⟨u,v⟩=⟨v,u⟩¯\langle u,v\rangle=\overline{\langle v,u\rangle}与共轭!此外,正如评论中指出的那样,为多值复杂函数选择主要值可能取决于惯例。 我的问题是:这种复杂性是否会导致在科学计算中使用复杂算术的真正危险?Deal.ii的作者强调了这个问题,他们建议始终将复数分为实数部分和虚数部分,并且仅使用实数算法。但是我从来没有发现拆分方法很方便。例如,考虑时谐麦克斯韦方程的PML。 在大多数开源FEM软件中,除FreeFem ++和libmesh之外,似乎都普遍担心使用复数。但是,即使有两个例外,复杂算法的测试也比实数少。 我的最后一个问题是:我们是否应该始终避免使用复数?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.