【问题标题】:Calculating n-roots of unity in Julia在 Julia 中计算统一的 n 根
【发布时间】:2021-04-16 20:44:40
【问题描述】:

我想在 Julia 中有一个取决于 $n$ 的算法,以便它生成统一的 n 根。

(1,w^{1}, w^{2}, ..., w^{n-1}。这样对于每个 1\leq i\leq n,我们有 (w^{i })^{n}-1=0 )

非常感谢您的合作,

【问题讨论】:

    标签: julia algebra


    【解决方案1】:
    julia> roots(n) = map(cispi, range(0, 2, length=n+1)[1:end-1])
    roots (generic function with 1 method)
    
    julia> roots(8)
    8-element Vector{ComplexF64}:
                     1.0 + 0.0im
      0.7071067811865476 + 0.7071067811865476im
                     0.0 + 1.0im
     -0.7071067811865476 + 0.7071067811865476im
                    -1.0 + 0.0im
     -0.7071067811865476 - 0.7071067811865476im
                     0.0 - 1.0im
      0.7071067811865476 - 0.7071067811865476im
    

    你可以写成roots_exp(n) = exp.(im .* range(0, 2pi, length=n+1)[1:end-1]),但对于纯虚构的论点,cisexp 更有效。并且cispi 稍微准确一些,或者至少,更有可能在您期望的时候为您提供漂亮的整数,如上所示。

    【讨论】:

      猜你喜欢
      • 2016-10-06
      • 1970-01-01
      • 2020-05-29
      • 1970-01-01
      • 1970-01-01
      • 2012-06-29
      • 2018-10-10
      • 2016-11-08
      • 1970-01-01
      相关资源
      最近更新 更多