julia - 计算复数的能力时出现 Julia 错误
问题描述
我是 Julia 的初学者,我正在使用它来计算复数的幂,作为我运行的大型科学任务中的子程序
array = [1im^(i-j) for i in 1:5, j in 1:5]
但我得到以下信息DomainError
:
DomainError with -1:
Cannot raise an integer x to a negative power -1.
Convert input to float.
特别是,当我运行 for 循环并打印 each 的值(i,j)
时,在 (i=2,j=1) 处会发生相同的错误。如果有人可以帮助我,我将不胜感激。我的代码似乎有什么问题?我该如何克服这个错误?
先感谢您。
解决方案
像这样使用浮点数作为基础(这是错误消息建议您执行的操作):
julia> [(1.0im)^(i-j) for i in 1:5, j in 1:5]
5×5 Matrix{ComplexF64}:
1.0+0.0im 0.0-1.0im -1.0-0.0im -0.0+1.0im 1.0+0.0im
0.0+1.0im 1.0+0.0im 0.0-1.0im -1.0-0.0im -0.0+1.0im
-1.0+0.0im 0.0+1.0im 1.0+0.0im 0.0-1.0im -1.0-0.0im
-0.0-1.0im -1.0+0.0im 0.0+1.0im 1.0+0.0im 0.0-1.0im
1.0-0.0im -0.0-1.0im -1.0+0.0im 0.0+1.0im 1.0+0.0im
或者像这样
julia> [float(im)^(i-j) for i in 1:5, j in 1:5]
5×5 Matrix{ComplexF64}:
1.0+0.0im 0.0-1.0im -1.0-0.0im -0.0+1.0im 1.0+0.0im
0.0+1.0im 1.0+0.0im 0.0-1.0im -1.0-0.0im -0.0+1.0im
-1.0+0.0im 0.0+1.0im 1.0+0.0im 0.0-1.0im -1.0-0.0im
-0.0-1.0im -1.0+0.0im 0.0+1.0im 1.0+0.0im 0.0-1.0im
1.0-0.0im -0.0-1.0im -1.0+0.0im 0.0+1.0im 1.0+0.0im
错误来自此定义:
^(z::Complex{<:Integer}, n::Integer) = power_by_squaring(z,n) # DomainError for n<0
推荐阅读
- google-apps-script - Google Script onChange 触发器在未进行任何更改时执行(一夜之间)
- eclipse-che - 在 kubernetes 集群(不是 minikube)上部署 Eclipse Che v7
- ruby - 如果哈希数组具有属性/值对,我如何编写 rspec 测试
- python - 如果包含某些单词,则提取 html 表中的文本
- c# - Oracle 编号映射 (ODP.NET)
- rest - 如何将 api body x-www-form-urlencoded 转换为原始纯文本/文本
- vue.js - TypeError:无法读取未定义的属性“缓存”-VueJS
- mysql - 如何在 MYSQL 数据库 varchar() 表列中搜索是否存在任何“关键字”字符串列表?
- angular - 嵌套 Angular Material 自定义组件主题
- sql - 我试图找到平均值大于 x 的分组类别