タグ付けされた質問 「algorithms」

特定の問題を明確な方法で解決するために必要な特定の手順の説明。抽象的な形式で表現されます。

2
切り捨てられたSVDの計算、一度に1つの特異値/ベクトル
特異値を1つずつ計算する切り捨てSVDアルゴリズムはありますか? 私の問題:大きな密行列の最初の特異値(および特異ベクトル)を計算したいのですが、適切な値がわかりません。は大きいため、効率上の理由から、後で最小のSVを切り捨てるためだけに完全なSVDを評価するのではなく、kkkMMMkkkMMM 理想的には、特異値を最大()から最小()まで連続的に計算する方法があるでしょう。そうすれば、があるしきい値を下回った場合に、番目の特異値を計算した後で計算を停止することができます。σ1、σ2、…σ1,σ2,…\sigma_1, \sigma_2,\ldotsσ1σ1\sigma_1σんσn\sigma_nkkkσk/ σ1σk/σ1\sigma_k/\sigma_1 そのようなアルゴリズムは存在しますか(できればPython実装で)?私のグーグル検索では、kをパラメーターとして使用する切り捨てられたSVD関数のみを見つけたので、アプリオリに推測する必要があります。

3
小さなポイントの3D凸包のボリュームは、すべて船体に設定されます
3Dを除いて前にこれと似た質問があります。船体の実際の形状ではなく、ボリュームだけが必要です。 より正確には、3Dで小さなポイントセット(たとえば、10〜15)が与えられます。これらはすべて、ポイントセットの凸包上にあることがわかっています(したがって、それらはすべて「重要」であり、ハルを定義します)。船体の体積だけを計算したいのですが、実際の多面体を計算する必要はありません。これを行うための効率的なアルゴリズムはありますか?

3
と間には複雑性がありますか?[終了]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、計算科学スタック交換のトピックになるようにします。 5年前休業。 より大きくより小さい複雑度はありか?O (n log n )O(n)O(n)O(n)O(nlogn)O(nlog⁡n)O(n \log n)

2
最大の大きさの固有値に対応する密行列の固有ベクトルを計算する最も効率的な方法は何ですか?
密な実対称正方行列があります。寸法は約1000x1000です。最初の主成分を計算する必要があり、これを行うのに最適なアルゴリズムは何であるのかと思います。 MATLABはArnoldi / Lanczosアルゴリズム(の場合eigs)を使用しているようです。しかし、それらについて読んだだけでは、行列がスパースではなく、最初の固有ベクトルのみに関心があるため、単純な累乗反復よりも利点があるかどうかわかりません。 この場合の最速のアルゴリズムは何ですか?

3
複雑な数値分析
実際の変数の関数の代わりに複雑な変数の関数を扱う場合、どの数値分析の状況がより多く/より少なく安定し、より速く/より遅く収束しますか、そうでなければまったく異なりますか?
10 algorithms 

1
正定対称行列の逆行列とその行列式を計算する最速のアルゴリズムは何ですか?
正定対称行列が与えられた場合、逆行列とその行列式を計算するための最速のアルゴリズムは何ですか?私が興味を持っている問題については、行列の次元は30以下です。 高い精度とスピードが本当に必要です。(数百万行列が実行されます) 行列式が必要です。各計算では、iverse行列の要素が1つだけ必要です。ありがとう!

2
数値的に弱い収束はどのように感じますか?
無限次元のヒルベルト空間またはバナッハ空間に問題があり(PDEまたはそのような空間における最適化の問題だと考えて)、解に弱く収束するアルゴリズムがあるとします。問題を離散化し、対応する離散化アルゴリズムを問題に適用する場合、弱い収束はすべての座標での収束であり、したがって強い収束でもあります。私の質問は: この種類の強い収束は、元の無限アルゴリズムの古き良き単純な強い収束から得られた収束とは異なると感じますか? または、より具体的に: 「離散化された弱収束法」では、どのような悪い動作が発生する可能性がありますか? 私自身は通常、弱い収束しか証明できないときはあまり満足していませんが、これまでは、問題を離散化した問題をより高い次元にスケーリングしても、メソッドの結果に関する問題を観察できませんでした。 「最初の離散化より最適化」の問題と「最初の最適化より離散化」の問題には興味がなく、問題とすべてのプロパティを共有しない離散化問題にアルゴリズムを適用した場合に発生する可能性のある問題を認識しています。アルゴリズムの設計対象。 更新:具体的な例として、変数の最適化問題を検討し、それを(慣性)前方後方分割のようなもの、または弱い収束のみが知られている他の方法で解決します。離散化された問題では、同じ方法を使用できます。アルゴリズムを直接離散化した場合は、正しい離散化で同じアルゴリズムが得られます。離散化の精度を上げると、何が問題になるのでしょうか?L2L2L^2L2L2L^2

2
与えられた間隔で関数のすべての根を見つける
与えられた間隔でスカラー関数のすべての根を見つける必要があります。関数に不連続がある可能性があります。アルゴリズムの精度はεにすることができます(たとえば、アルゴリズムがεよりも近い2つの異なるルートを検出しなくても問題ありません)。 そのようなアルゴリズムは存在しますか?それについての論文を私に教えてもらえますか? 実際には、ブレントのアルゴリズムを使用して特定の間隔でゼロを見つける関数と、特定の間隔で最小値を見つける関数があります。これらの2つの関数を使用して、独自のアルゴリズムを作成しましたが、より良いアルゴリズムが存在するかどうか疑問に思いました。私のアルゴリズムはそのようなものです: インターバル[a,b]と機能から始めますf。場合はsign(f(a+ε)) ≠ sign(f(b-ε))、私が間に少なくとも1つのゼロがあると知っているaとb、私は見つけますz = zero(]a,b[)。私のテストでは、もしz本当にの値を見ることによって、(それが不連続かもしれない)がゼロであるz-εとz+ε。ある場合は、見つかったゼロのリストに追加します。f(a+ε)とf(b-ε)両方が正の場合、私は検索しm = min(]a, b[)ます。f(m)それでも肯定的な場合は、とのm = max(]a,b[)間に不連続がある可能性があるため、検索をa行いbます。もしネガティブだったらf(a+ε)、私は反対のことをしますf(b-ε)。 次に、見つけた(zまたはm)ポイントから、関数のゼロ、不連続点、および変曲点を含むスタックを構築します。最初の反復後、スタックはのようになり[a, z, b]ます。私は再び間隔からアルゴリズムを開始]a,z[して]z,b[。2つのポイントaとの間bで、極値が両方の区間の端よりも同じ符号を持ち、両方の極値で不連続性がない場合、スタックから区間を削除します。アルゴリズムは、間隔がなくなると終了します。

1
初期ヘッセ近似に対するBFGSの感度
関数の最小値を見つけるために、Broyden-Fletcher-Goldfarb-Shannoメソッドを実装しようとしています。2つの初期推定バツ− 1x−1x_{-1}&バツ0x0x_0と初期ヘッセ行列近似B0B0B_0です。について私が見つける唯一の要件B0B0B_0は、ヘッセ行列が対称正定値である場合、もそうであることB0B0B_0です。ウィキペディアを見ると、典型的な初期近似はB0= 私B0=IB_0=I(単位行列)であることがわかります。これは常に良い初期B0B0B_0ですか?自分以外を選びたいと思う理由はありますか私II?同じ行列特性を満たすBの他の選択は、メソッドの収束に大きな影響を与えるでしょうか?

2
許容角度を指定してほぼ凸包を見つけるアルゴリズムはありますか?
ポイントが設定され、角度が場合に角度が凸包を計算し、α > 0がより「境界」に近いエンベロープを計算するアルゴリズムが存在するかどうかを知りたいです。α=0α=0\alpha = 0α>0α>0\alpha > 0 そして、ポイントのセットの交差しない境界の定義がある場合、この場合、が大きいときに結果として生じるポリゴン。αα\alpha 問題の別の見方は、の場合は最小周辺解(凸包)を、α = 1(正規化した場合)はすべてのポイントを囲む最小面積ポリラインを見つけるためにパラメーター化できるアルゴリズムを見つけることです。α=0α=0\alpha = 0α=1α=1\alpha = 1

2
ヒルクライミングアルゴリズムでネイバーを生成する方法は?
ヒルクライミングは最適化のための非常に強力なツールのようです。しかし、ソリューションの「隣人」を生成する方法は常に私を困惑させます。 たとえば、私はソリューション最適化しています。ここで、は範囲、は範囲、は範囲ます。「ネイバー」を生成する最良の方法は何ですか?ここで「ステップサイズ」を実際に選択することはできません。1のステップサイズはx_1には巨大ですが、x_3には非常に小さいためです。x 1(x1、x2、x3)(x1,x2,x3)(x_1, x_2, x_3)バツ1x1x_1(0 、0.1 )(0,0.1)(0, 0.1)バツ2x2x_2(0 、100 )(0,100)(0, 100)バツ3x3x_3(0 、1000000 )(0,1000000)(0, 1000000)バツ1x1x_1バツ3x3x_3 ヒルクライミングアルゴリズムで「ネイバー」を生成する最も一般的な方法は何ですか?

2
ブラックボックス関数のノルムの推定
してみましょう当たり前で、有限次元ベクトル空間もそして、聞かせて機能的な線形有界こと。ブラックボックスとしてのみ提供されます。VVV∥⋅∥‖⋅‖\|\cdot\|F:V→RF:V→RF : V \rightarrow \mathbb R Fのノルムを推定しますFFF(上と下から)。FFFブラックボックスで、そうするための唯一の方法はから単位ベクトルでそれをテストすることですVVVと、その結果に基づいて、見つけるv∈S1Vv∈S1Vv \in S^1 V最大に|F(v)||F(v)||F(v)|。 そのようなアルゴリズムを知っていますか?私が考えているアプリケーションでは、VVVは有限要素空間であり、FFFはその空間での複雑な関数です。 編集:私の最初のアイデアは、v∈S1Vv∈S1Vv \in S^1 Vランダムに選択し、それを複数の方向、たとえばv1,…,vkv1,…,vkv_1,\dots,v_kに摂動させてから、最大のF(v_i)を得たviviv_iで手順を繰り返すことです。この問題のアルゴリズムと分析の場所を知りません。F(vi)F(vi)F(v_i)

3
実スパース行列の特性多項式の計算
一般的なスパース行列所与とM << N(訂正:M « N 2)非ゼロ要素(典型的には、mは∈ O(N ))。Aは特定のプロパティ(例:正定性)を持たず、構造(例:縞模様)がないと見なされるという意味で一般的です。A∈Rn×nA∈Rn×nA \in \mathbb{R}^{n\times n}m≪n2m≪n2m \ll n^2m∈O(n)m∈O(n)m \in {\cal O}(n)AAA Aの特性多項式または最小多項式のいずれかを計算するための優れた数値手法のいくつかは何ですか?AAA

1
残りの多項式を計算するための数値的に安定したアルゴリズム
ましょうと゜F > 度G。f mod gを計算するための漸近的に高速で数値的に安定したアルゴリズムを探しています。意図されたアプリケーションでは、f 、gは両方とも倍精度浮動小数点係数をもつ密な多項式です。しかし、今のところ、実装よりもアルゴリズムに興味があります。数値多項式のGCDを計算するためのアルゴリズムのリファレンスも高く評価されています。f,g∈R[x]f,g∈R[x]f, g \in \mathbb{R}[x]degf>deggdeg⁡f>deg⁡g\deg f > \deg gfmodgfmodgf \bmod gf,gf,gf, g

3
2つの間隔の交点を見つける最も簡単な方法
今、私は問題を抱えています。ささいなことのようですが、それでも適切な解決策を見つけるのは難しいです。問題は次のとおりです。1つには2つの間隔があり、それらの交点を見つけることです。 例えば: 交差点[0,3] - [2,4]されている[2、3] 交差点[-1、34]&[0,4]されている[0,4] [0、3]&[4、4]の交差が空のセットです 考えられるすべてのケースのテストを使用することで問題を解決できることは明らかですが、時間がかかり、間違いを起こしやすい傾向があります。問題に取り組む簡単な方法はありますか?あなたが解決策を知っている場合は、私を助けてください。とてもありがたいです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.