【问题标题】:Shortening exponential additions - exp( ... ) + exp( ... ) +缩短指数加法 - exp( ... ) + exp( ... ) +
【发布时间】:2018-12-29 20:58:07
【问题描述】:

我的代码中有一个统计公式

x = exp( a1 ) + exp( a2 ) + exp( a2 ) + .... exp( an )

但是所有这些 exp(...) 都略贵,特别是如果有很多

是否有一种“更短”的方式来评估表达式一次?

x = exp( a1 ... an )

【问题讨论】:

  • 除非指数相同或被分解以匹配和简化。我不认为有一种方法可以快捷地添加指数函数。
  • 一般不,抱歉
  • 数学无济于事,但多个处理器可以。只要开销不太高,也许并行化计算(la map/reduce)会使其更快。您拥有的价值越多,可能性就越大。
  • 根据a_i 的大小,有一些数值近似可以提供帮助。您需要多准确的答案?
  • 如果不同指数的数量有限,只需缓存它或使用查找表

标签: math exponential


【解决方案1】:

不,这是不可能的。根据您使用的语言,可能值得尝试不同的数学库(在 C/Fortran 中实现),或者根据要总结的项数,使用多个线程(因为指数可以彼此独立计算)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-09
    • 1970-01-01
    相关资源
    最近更新 更多