对于downvoters:这不是一个关于数学的问题,它是一个问题 关于编程语言的问题 Mathematica 。
Mathematica的一个主要特征是它可以象征性地处理许多事情。但是如果你想一想,许多象征性的特征实际上只是象征性的一半。
以矢量为例。我们可以有一个像{x,y,z}这样的符号向量,用一个满是符号的矩阵进行矩阵乘法,最后得到一个符号结果,所以我们可以考虑那个符号向量代数。但我们都知道,开箱即用,Mathematica不允许您说符号 x 是一个向量,并且给出一个矩阵 A ,一个。 x 也是一个矢量。这是一个更高级别的抽象,Mathematica(目前)并不是很好。
类似地,Mathematica知道如何找到函数的第五个导数,这个导数是用符号来定义的,但它并不适合于找到 r 衍生物(参见" How to find a function's rth derivative when r is symbolic in Mathematica?"问题)。
此外,Mathematica有广泛的Boolean algebra capabilities,有些石器时代,但最近很多都是在版本7中获得的。在版本8中我们得到Probability和朋友(例如Conditioned)允许我们用给定分布的随机变量的概率推理。这是一个非常壮观的补充,这有助于我熟悉这个领域,我非常喜欢与它合作。然而,...
我正在与同事讨论某些概率逻辑规则,如熟悉的
即,事件/状态/结果的条件概率 C 给定事件/状态/结果 A 为真。
具体来说,我们正在考虑这个:
虽然在我意识到我不知道如何使用Mathematica立即解决这个问题之前,我已经高度评价了Mathematica的Probability
。同样,就像抽象向量和矩阵以及符号导数一样,这似乎是一个过高的抽象层次。或者是吗?我的问题是:
您是否可以使用Mathematica程序找到在上述和类似方程中找到真或假的方法?
答案 0 :(得分:3)
<强>&GT;&GT; Mathematica不允许您说符号x是向量
确实它确实......无论如何足够近......它是Reals的集合。它被称为假设或条件,取决于你想做什么。
Refine[Sqrt[x]*Sqrt[y]]
上面没有改进,因为它假设X和Y可以是任何符号,但如果缩小范围,就会得到结果:
Assuming[ x > 0 && y > 0, Refine[Sqrt[x]*Sqrt[y]]]
有能力说:Element[x,Reals^2]
(二维真实矢量),也许在Mathematica 9中会很高兴: - )
至于这个问题:
<强>&GT;&GT;您是否可以使用Mathematica程序找到在上述和类似方程中找到真或假的方法?
请参考我在这个问题上的答案(第一个),看看贝叶斯定理的符号方法: https://stackoverflow.com/questions/8378336/how-do-you-work-out-conditional-probabilities-in-mathematica-is-it-possible
答案 1 :(得分:1)
只是看了一眼,并在Condition
的文档中找到了一个例子:
In[1]:= c = x^2 < 30; a = x > 1;
(对不起这里的格式...... )
In[2]:= Probability[c \[Conditioned] a, x \[Distributed] PoissonDistribution[2]] ==
Probability[c && a, x \[Distributed] PoissonDistribution[2]] / Probability[a, x \[Distributed] PoissonDistribution[2]]
评估为True
,对应于您提供的第一个示例的不太通用的版本。
如果我有时间的话,今晚我会再次访问。