我怎么能表达比Python大得多
How can I express much greater than in Python
我需要比较 if 语句的两个值是否大于等于。
if delta_t > tao_threshhold:
n = np.random.normal(0, 1)
rxn_vector = propensity*delta_t + (propensity*delta_t)**0.5*n
new_popul_num = popul_num
但我需要的平等比要大得多。在数学中使用的符号是 >> 但这在 Python 语法中意味着完全不同的东西。
有没有一种方法可以在 Python 中表达这比等式大得多?
干杯
我认为“远大于”的概念在很大程度上取决于用例或个人偏好。回答你的问题;你需要知道你想要的“比”多多少:
假设我想检查 delta_t 是否比 tao_threshhold 大 5 倍;我会做这样的事情:
if delta_t > 5*tao_threshhold:
但同样,解决这个问题的方法在于定义明确的“远大于”概念
不,“远大于”是一个数学概念,尚未进入 Python(据我所知,或任何其他计算机语言)。
古代和现代的编译器都可以确定一个量是否大于另一个。这是一个定义明确的比较。但是“远大于”虽然在纸面上很明显,但不会产生布尔值 (yes/no) 答案。
正如每个人都指出的那样,“更大”在 mathematics/science 中并不是一个定义明确的概念。它在理论工作中用于演示概念,但在尝试在代码中实现数学模型时它可以解释。
话虽这么说,“大得多”通常被理解为“大几个数量级”,但具体多少或多或少取决于您使用直觉和实验。它还高度依赖于测量单位和比较值的缩放比例(例如,是否有上限 delta_t
?您认为哪些值“大得多”,哪些值您不认为?您是否有先验关于其值如何根据算法的不同参数分布的知识或提示?)
实际上,一种治疗方法如下:
- 定义一些数量级:
E = 10e3
- 将您的 if 语句实现为:
if delta_t > E*tao_threshold:
...
- 注意精度错误:将大数相乘并不安全。
- 如果您不确定如何选择合适的
E
值,可以从以下原则入手:
直觉上,你的算法不应该依赖于 E
。因此,对于一组给定的参数和一个选定的 E
值,(如果你的算法是确定性的或证明收敛到所选参数内的特定值),你的算法应该显示附近 [=13] 的相同结果=]的。因此,您可以针对不同的参数值集探索 E
的不同范围并搜索稳定区域。假设您有一个标量输出和少于 3 个参数,这可以通过绘制输出来完成。这里只有一点:这与优化搜索不同。您想要找到 E
导致“稳定”结果而不是“最佳”结果的值。
- 记录代码、自述文件、文档站点和潜在技术论文中的所有内容。允许代码用户根据需要更改所选值。
- 考虑到
tao_threshold
看起来像一个参数,可能 更简单地探索该变量的不同尺度而不是引入“更大”的量词。但这在很大程度上取决于算法的上下文,并且可能会降低该参数的可解释性。
我需要比较 if 语句的两个值是否大于等于。
if delta_t > tao_threshhold:
n = np.random.normal(0, 1)
rxn_vector = propensity*delta_t + (propensity*delta_t)**0.5*n
new_popul_num = popul_num
但我需要的平等比要大得多。在数学中使用的符号是 >> 但这在 Python 语法中意味着完全不同的东西。
有没有一种方法可以在 Python 中表达这比等式大得多?
干杯
我认为“远大于”的概念在很大程度上取决于用例或个人偏好。回答你的问题;你需要知道你想要的“比”多多少:
假设我想检查 delta_t 是否比 tao_threshhold 大 5 倍;我会做这样的事情:
if delta_t > 5*tao_threshhold:
但同样,解决这个问题的方法在于定义明确的“远大于”概念
不,“远大于”是一个数学概念,尚未进入 Python(据我所知,或任何其他计算机语言)。
古代和现代的编译器都可以确定一个量是否大于另一个。这是一个定义明确的比较。但是“远大于”虽然在纸面上很明显,但不会产生布尔值 (yes/no) 答案。
正如每个人都指出的那样,“更大”在 mathematics/science 中并不是一个定义明确的概念。它在理论工作中用于演示概念,但在尝试在代码中实现数学模型时它可以解释。
话虽这么说,“大得多”通常被理解为“大几个数量级”,但具体多少或多或少取决于您使用直觉和实验。它还高度依赖于测量单位和比较值的缩放比例(例如,是否有上限 delta_t
?您认为哪些值“大得多”,哪些值您不认为?您是否有先验关于其值如何根据算法的不同参数分布的知识或提示?)
实际上,一种治疗方法如下:
- 定义一些数量级:
E = 10e3
- 将您的 if 语句实现为:
if delta_t > E*tao_threshold:
...
- 注意精度错误:将大数相乘并不安全。
- 如果您不确定如何选择合适的
E
值,可以从以下原则入手:
直觉上,你的算法不应该依赖于E
。因此,对于一组给定的参数和一个选定的E
值,(如果你的算法是确定性的或证明收敛到所选参数内的特定值),你的算法应该显示附近 [=13] 的相同结果=]的。因此,您可以针对不同的参数值集探索E
的不同范围并搜索稳定区域。假设您有一个标量输出和少于 3 个参数,这可以通过绘制输出来完成。这里只有一点:这与优化搜索不同。您想要找到E
导致“稳定”结果而不是“最佳”结果的值。 - 记录代码、自述文件、文档站点和潜在技术论文中的所有内容。允许代码用户根据需要更改所选值。
- 考虑到
tao_threshold
看起来像一个参数,可能 更简单地探索该变量的不同尺度而不是引入“更大”的量词。但这在很大程度上取决于算法的上下文,并且可能会降低该参数的可解释性。