タグ付けされた質問 「numerical-analysis」

2
要素が変化したときの逆行列の計算
行列Aが与えられた場合。逆行列聞かせてAがであるA - 1(あり、A A - 1 = I)。Aの 1つの要素が変更されたと仮定します(a i jをa ' i jにしましょう)。目的は、この変更後にA − 1を見つけることです。この目的を見つける方法は、逆行列を最初から再計算するよりも効率的です。n×nn×nn \times nAA\mathbf{A}AA\mathbf{A}A−1A−1\mathbf{A}^{-1}AA−1=IAA−1=I\mathbf{A}\mathbf{A}^{-1} = \mathbf{I}AA\mathbf{A}aijaija _{ij}a′ijaij′a' _{ij}A−1A−1\mathbf{A}^{-1}

1
浮動小数点の丸め
IEEE-754の浮動小数点数<1(つまり、数値> = 0.0および<1.0を生成する乱数ジェネレーターで生成)に整数(浮動小数点形式)を掛けて、それ以上の数値を取得できますか丸めのためにその整数? すなわち double r = random() ; // generates a floating point number in [0, 1) double n = some_int ; if (n * r >= n) { print 'Rounding Happened' ; } これは、Rが存在し、RがIEEE-754で表現できる1未満の最大数である場合、N * R> = N(*および> =が適切なIEEE- 754人のオペレーター) これは、このドキュメントとpostgresql ランダム関数に基づいたこの質問から来ています

1
オーバーフロー安全合計
合計が幅レジスタにも収まるように、固定幅整数(幅レジスタに収まる)、が与えられたとします。w a 1、a 2、… a n a 1 + a 2 + ⋯ + a n = S wnnnwwwa1、2、… ana1,a2,…ana_1, a_2, \dots a_na1+ a2+ ⋯ + an= Sa1+a2+⋯+an=Sa_1 + a_2 + \dots + a_n = Swww 各プレフィックスの和も幅レジスタに収まるように番号をいつでも置換できるように思えます。S i = b 1 + b 2 + ⋯ + b i wb1、b2、… …

5
2 ** xはexp(x)よりも計算が速いですか?
私がこの質問をする方法で明らかになるであろう素朴さ、そして私がそれを求めているという事実を許してください。 数学者は、通常、expexp\expを使用します(理論により)理論上最も単純な/最も基本的なものです。しかし、コンピューターはすべてをバイナリで実行するように見えるので、コンピューター上で計算する2**xよりも高速Math::exp(x)ですか?

1
絞り込みタイプの推測
職場では、動的言語に関する型情報を推論する必要があります。次のように、ステートメントのシーケンスをネストされたlet式に書き換えます。 return x; Z => x var x; Z => let x = undefined in Z x = y; Z => let x = y in Z if x then T else F; Z => if x then { T; Z } else { F; Z } 一般的なタイプ情報から始めて、より具体的なタイプを推測しようとしているので、自然な選択は絞り込みタイプです。たとえば、条件演算子は、trueブランチとfalseブランチの型の和集合を返します。単純なケースでは、非常にうまく機能します。 ただし、次のタイプを推測しようとしたときに、思わぬ障害に遭遇しました。 function …
11 programming-languages  logic  type-theory  type-inference  machine-learning  data-mining  clustering  order-theory  reference-request  information-theory  entropy  algorithms  algorithm-analysis  space-complexity  lower-bounds  formal-languages  computability  formal-grammars  context-free  parsing  complexity-theory  time-complexity  terminology  turing-machines  nondeterminism  programming-languages  semantics  operational-semantics  complexity-theory  time-complexity  complexity-theory  reference-request  turing-machines  machine-models  simulation  graphs  probability-theory  data-structures  terminology  distributed-systems  hash-tables  history  terminology  programming-languages  meta-programming  terminology  formal-grammars  compilers  algorithms  search-algorithms  formal-languages  regular-languages  complexity-theory  satisfiability  sat-solvers  factoring  algorithms  randomized-algorithms  streaming-algorithm  in-place  algorithms  numerical-analysis  regular-languages  automata  finite-automata  regular-expressions  algorithms  data-structures  efficiency  coding-theory  algorithms  graph-theory  reference-request  education  books  formal-languages  context-free  proof-techniques  algorithms  graph-theory  greedy-algorithms  matroids  complexity-theory  graph-theory  np-complete  intuition  complexity-theory  np-complete  traveling-salesman  algorithms  graphs  probabilistic-algorithms  weighted-graphs  data-structures  time-complexity  priority-queues  computability  turing-machines  automata  pushdown-automata  algorithms  graphs  binary-trees  algorithms  algorithm-analysis  spanning-trees  terminology  asymptotics  landau-notation  algorithms  graph-theory  network-flow  terminology  computability  undecidability  rice-theorem  algorithms  data-structures  computational-geometry 

2
「三分探索」は、実際の区間で単峰関数を最適化するアルゴリズムの適切な用語ですか?
実際の区間で定義された単峰関数を最適化したいとします。Wikipediaでternary searchという名前で説明されている有名なアルゴリズムを使用できます。 間隔を繰り返し半分にするアルゴリズムの場合、二分探索という用語を離散問題用に予約し、それ以外の場合は二分法という用語を使用するのが一般的です。この慣例を外挿すると、三分割法という用語が私の問題を解決するアルゴリズムに適用されるのではないかと思います。 私の質問は、アルゴリズムが継続的な問題に適用される場合でも、三元検索という用語を適用することは、学者の間で一般的であり、たとえば上級論文で使用しても安全かどうかです。これには信頼できる情報源が必要です。三分割法という用語が実際に存在するかどうかにも興味があります。

2
合計でのオーバーフローの検出
私はの配列を指定していたとの固定幅の整数を(彼らは幅のレジスタに収まるすなわち)、。2の補数演算を備えたマシンで合計を計算します。これは、ラップアラウンドセマンティクスでを法とする加算を実行します。それは簡単ですが、合計がレジスタサイズをオーバーフローする可能性があり、オーバーフローすると、結果が不正になります。nnnwwwa1,a2,…ana1,a2,…ana_1, a_2, \dots a_nS=a1+…+anS=a1+…+anS = a_1 + \ldots + a_n2w2w2^w 合計がオーバーフローしない場合は、それを計算し、オーバーフローがないことをできるだけ早く確認したいと考えています。合計がオーバーフローした場合、それがオーバーフローしていることだけを知りたいので、値は気にしません。 部分的な合計がオーバーフローする可能性があるため、単純に順番に数値を追加することはできません。たとえば、8ビットレジスタでは、は有効であり、合計がですが、部分合計がレジスタ範囲オーバーフローします。(120,120,−115)(120,120,−115)(120, 120, -115)125125125120+120120+120120+120[−128,127][−128,127][-128,127] 明らかに、より大きなレジスタをアキュムレータとして使用することもできますが、可能な限り最大のレジスタサイズをすでに使用している興味深いケースを想定してみましょう。 現在の部分合計とは逆の符号を持つ数値を追加するよく知られた手法があります。この手法は、キャッシュに優しくなく、分岐予測や投機的実行をあまり活用しないという犠牲を払って、すべてのステップでオーバーフローを回避します。 おそらく部分合計をオーバーフローする権限を利用し、オーバーフローフラグ、キャッシュ、分岐予測子、および投機的実行とロードを備えた一般的なマシンでより高速な手法はありますか? (これは、オーバーフローの安全な合計のフォローアップです)

2
数値積分とカウントルート
2つの異なる方法で表示できる問題があります。 を計算する んんn次元積分、数値コンテキスト。統合のドメインはんんn側面の三次元ハイパーキューブ LLL。 の根を数える(数えるだけ) んんn次元関数(多項式ではない)。 元の問題を解決するには、そのうちの1つを解決するだけで十分です。数値積分の単純なアルゴリズムにはO (Lん)O(Lん)O(L^n)、次元ごとに線形時間を取る。しかし、(1)に対して漸近的に高速なアルゴリズムがあるかどうかはわかりません。 (2)については、根を見つけることができるアルゴリズム(ニュートンと二分法)を知っていますが、非多項式にある根の数を数えるだけの最良のアルゴリズムについてはわかりません んんn次元関数。 (2)に最適なアルゴリズムは何ですか?(1)の最速よりも優れていますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.