タグ付けされた質問 「sparse-matrix」

7
SparseArrayとHashMap
HashMap整数キーを持つSparseArraysがs よりもはるかに優れている理由はいくつか考えられます。 のAndroidドキュメントには、SparseArray「従来の方法よりも一般的に遅い」と書かれていますHashMap。 HashMapsではなくSparseArrays を使用してコードを記述する場合、コードはMapの他の実装で動作し、Maps用に設計されたすべてのJava APIを使用できます。 HashMapsではなくSparseArrays を使用してコードを記述した場合、そのコードはAndroid以外のプロジェクトで機能します。 オーバーライド地図equals()とhashCode()のに対しSparseArrayません。 しかしHashMap、Androidプロジェクトで整数キー付きのを使用しようとすると、IntelliJはSparseArray代わりにを使用するように指示します。これは本当に理解するのが難しいと思います。誰かがSparseArrays を使用する説得力のある理由を知っていますか?

7
JavaScript配列はスパースですか?
つまり、現在の時刻を配列のインデックスとして使用すると、次のようになります。 array[Date.getTime()] = value; インタプリタは0から現在までのすべての要素をインスタンス化しますか?ブラウザーが異なると、それは異なりますか? 以前は、AIXカーネルにバグがあり、リクエストに応じて疑似ttyが作成されることを覚えていましたが、「echo> / dev / pty10000000000」とすると、/ dev / pty0、/ dev / pty1が作成されます....そして、倒れる。見本市では楽しかったですが、これが私の顧客に起こってほしくありません。


3
OctaveよりもSciPyの方が100倍以上遅い、大きなスパース行列の最小の固有ベクトルを見つける
大きな対称正方スパース行列(最大30000x30000)の最小固有値に対応する少数(5-500)の固有ベクトルを計算しようとしています。値の0.1%未満が非ゼロです。 私は現在scipy.sparse.linalg.eigshをシフトインバートモード(sigma = 0.0)で使用しています。これは、トピックに関するさまざまな投稿でわかった解決策です。ただし、ほとんどの場合、問題を解決するのに最大1時間かかります。一方、ドキュメントから予想された最大固有値(私のシステムではサブ秒)を要求すると、関数は非常に高速になります。 私は仕事でMatlabに慣れているので、Octaveで問題を解決しようとしました。これにより、eigs(sigma = 0)を使用して数秒(サブ10秒)で同じ結果が得られました。固有ベクトルの計算を含むアルゴリズムのパラメータースイープを実行したいので、Pythonでもそのような時間の増加が得られるでしょう。 最初にパラメーター(特に許容誤差)を変更しましたが、タイムスケールではあまり変わりませんでした。 私はWindowsでAnacondaを使用していますが、scipyが使用するLAPACK / BLAS(これは非常に苦痛でした)をmkl(デフォルトのAnaconda)からOpenBlas(ドキュメントに従ってOctaveが使用)に切り替えようとしましたが、変更を確認できませんでしたパフォーマンス。 使用したARPACKに変更点があるかどうか(およびその方法)はわかりませんでした。 以下のコードのテストケースを次のドロップボックスフォルダーにアップロードしました:https ://www.dropbox.com/sh/l6aa6izufzyzqr3/AABqij95hZOvRpnnjRaETQmka?dl=0 Pythonで import numpy as np from scipy.sparse import csr_matrix, csc_matrix, linalg, load_npz M = load_npz('M.npz') evals, evecs = linalg.eigsh(M,k=6,sigma=0.0) オクターブで: M=dlmread('M.txt'); M=spconvert(M); [evecs,evals] = eigs(M,6,0); どんな助けもappriciated! コメントと提案に基づいて試したいくつかの追加オプション: オクターブ: eigs(M,6,0)とeigs(M,6,'sm')私は同じ結果を与えます: [1.8725e-05 1.0189e-05 7.5622e-06 7.5420e-07 -1.2239e-18 -2.5674e-16] にeigs(M,6,'sa',struct('tol',2))収束しながら …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.