首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么sage要返回另一个方程(当它显然是简单的和可解的)

为什么sage要返回另一个方程(当它显然是简单的和可解的)
EN

Stack Overflow用户
提问于 2021-12-08 08:00:08
回答 1查看 63关注 0票数 1

我试图用给定的数据来求解sage的一个简单方程:

代码语言:javascript
复制
a=var("a")
x=vector([1,1])
y=vector([2,3])
A=matrix(2,2,[a,-1,-1,1])

我想要解这个方程:

代码语言:javascript
复制
f= ((x*A*y)/((sqrt(x*A*x)*sqrt(y*A*y))))==1/2 

返回:

(2_sqrt(a-1)/sqrt(4_a- 3) == (1/2) )

求返回的f:

代码语言:javascript
复制
solve(f,a)

== 1/4_sqrt(4_a - 3)

而这个方程很容易用手求解。我遗漏了什么或者做错了什么吗?

EN

回答 1

Stack Overflow用户

发布于 2022-05-24 16:50:55

Sage并没有实现寻找解决方案的所有可能方法。在我的使用方法中,人(结构)洞察力和机器计算能力的结合总是最有效的。

为什么我们有半途而废的答案?在我们的例子中,f是一个等式,

代码语言:javascript
复制
sage: f
2*sqrt(a - 1)/sqrt(4*a - 3) == (1/2)

这不是一个代数方程。(平方根出现在那里。)solve的文档,通过solve??solve或.,提到了所涉及的方程/表达式所需的代数特征。Sage可能自己尝试获得一个代数版本,但这是一个自愿的步骤,这取决于类型化的求解命令行。

因此,得到方程的“回声”是一个正常的事实。

但是,请注意,涉及其他解决程序的帮助(在本例中):

代码语言:javascript
复制
sage: solve(f, a, algorithm='sympy')
[a == (13/12)]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70271663

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档