問題タブ [bernoulli-numbers]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
390 参照

c++ - Boost を使用したベルヌーイ数は Mathematica とは異なります

最新の Boost には、ベルヌーイ数を計算する関数がありますが、それが正確に何をするのかがわかりません。

たとえばMathematica、Pythonmpmathで次のようにwww.bernoulli.org言います。

しかしブースト版

戻り値0.166667

この違いはなぜですか?何か不足していますか?

0 投票する
2 に答える
261 参照

smalltalk - 入力 > 1 のベルヌーイ数法が正しくありません

次のように、n:th ベルヌーイ数を返すメソッドを実装しようとしています。

(私はコードにコメントするために最善を尽くしました)。

ただし、入力 n > 1 の場合、間違ったベルヌーイ数が得られます。

  • n = 0 --> 1 (正しい)。
  • n = 1 --> -1/2 (正解)
  • n = 2 --> 2/3 (1/6 のはず)
  • n = 3 --> -7/12 (0 のはず)
  • n = 4 --> 77/45 (-1/30 のはず)
  • n = 5 --> 3157/9720 (0 のはずです)

私の推測では、入力 n < 2 が正しく機能する (そして n < 2 は inner-inner ループを完全にスキップする) ため、内部ループまたは inner-inner ループを何らかの形で間違って実装したと思います。私が作業している疑似コードも間違っている可能性がありますが、昨日 COBOL で動作させたので、それは疑わしいです。binom メソッドは正しく機能します。私はこれを自分でテストしました。

それでも、なぜこれが正常に機能しないのかわかりません。どんな助けでも大歓迎です。

0 投票する
1 に答える
341 参照

python-3.x - numpy を使用して何十億ものベルヌーイ抽出を効率的に実行する方法は?

私は疫学に関する論文に取り組んでおり、一時的なネットワークで SI の流行をシミュレートする必要があります。各時間ステップで、感染したノードと影響を受けやすいノードの間で抽出を実行する確率 ~ ベルヌーイ (ベータ) があります。私は np.random.binomial(size=whatever, n=1, p=beta) を使用してコンピューターに決定させています。ここで、各ノードから開始することで、同じネットワークでの流行をシミュレートする必要があります。これを K 回繰り返して、各ノードの統計的に関連する結果を取得する必要があります。また、時間ネットワークも確率的であるため、すべてを NET_REALIZATION 回繰り返す必要があります。

したがって、N = 100 のネットワークで、K=500 および NET=REALIZATION=500 の場合、流行は 25,000,000 回繰り返されるはずです。T=100 の場合、SI カップルのセットごとに 2,500,000,000 回の抽出が行われることを意味します (もちろん時間によって異なります)。beta が小さい場合 (よくあることですが)、計算に非常に時間がかかります。私のコンピューターでは、ベルヌーイ抽出に 3.63 µs かかると思われる場合、これは結果が得られるまで何時間も待たなければならないことを意味し、これが私の論文の作成を実際に制限しています。問題は、時間の半分以上がランダムな抽出に費やされていることです。抽出の結果は他のデータ構造と相互作用するため、numpy を使用する必要があります。numba を使用してみましたが、抽出速度が向上するようには見えませんでした。同じ結果を得るより速い方法はありますか? 0 と 1 の 10^12 抽出のような非常に大きな抽出を永遠に 1 回行うことを考えていましたが、異なるシミュレーションごとにそれらの一部をインポートするだけです (これはベータ値のいくつかの値に対して繰り返す必要があります)。もっと賢い動きがあれば。

手伝ってくれてありがとう