Julia Symbolics 中常量表示的 Sqrt
Sqrt of constant representation in Julia Symbolics
我正在寻找一种表示符号表达式的方法,例如 sqrt(3)*x
,以避免预先计算 sqrt(3)
。
示例代码:
using Symbolics
@variables x
y = sqrt(3)*x
显示y,可以看到sqrt(3)变成了浮点数
是否有一种机制可以将 sqrt 保持为符号形式?
我无法重现:
julia> using Symbolics
julia> @variables x
(x,)
julia> y = 1//3*x
(1//3)*x
julia> y
(1//3)*x
我的配置:
[0c5d862f] Symbolics v0.1.21
和
julia> versioninfo()
Julia Version 1.6.0
Commit f9720dc2eb (2021-03-24 12:55 UTC)
Platform Info:
OS: Linux (x86_64-pc-linux-gnu)
CPU: Intel(R) Core(TM) i7-9850H CPU @ 2.60GHz
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-11.0.1 (ORCJIT, skylake)
is there a mechanism to keep the sqrt in symbolic form?
julia> using Symbolics
julia> @variables x
(x,)
julia> y = Symbolics.Term(sqrt,[3])*x
x*sqrt(3)
有趣,y = 1//3 * x 有效,但根据原始问题,y = sqrt(3) * x 无效。所以,用户 Nasser 的回答真的很有帮助谢谢。
我正在寻找一种表示符号表达式的方法,例如 sqrt(3)*x
,以避免预先计算 sqrt(3)
。
示例代码:
using Symbolics
@variables x
y = sqrt(3)*x
显示y,可以看到sqrt(3)变成了浮点数
是否有一种机制可以将 sqrt 保持为符号形式?
我无法重现:
julia> using Symbolics
julia> @variables x
(x,)
julia> y = 1//3*x
(1//3)*x
julia> y
(1//3)*x
我的配置:
[0c5d862f] Symbolics v0.1.21
和
julia> versioninfo()
Julia Version 1.6.0
Commit f9720dc2eb (2021-03-24 12:55 UTC)
Platform Info:
OS: Linux (x86_64-pc-linux-gnu)
CPU: Intel(R) Core(TM) i7-9850H CPU @ 2.60GHz
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-11.0.1 (ORCJIT, skylake)
is there a mechanism to keep the sqrt in symbolic form?
julia> using Symbolics
julia> @variables x
(x,)
julia> y = Symbolics.Term(sqrt,[3])*x
x*sqrt(3)
有趣,y = 1//3 * x 有效,但根据原始问题,y = sqrt(3) * x 无效。所以,用户 Nasser 的回答真的很有帮助谢谢。