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

数学では、行列(複数の行列)は、行、列に配置された数値、記号、または式の長方形配列です。マトリックス内の個々のアイテムは、その要素またはエントリと呼ばれます。

27
Pythonで2次元配列を定義する方法
次のように初期化された長さのない2次元配列を定義したい: Matrix = [][] しかし、それは動作しません... 私は以下のコードを試しましたが、それも間違っています: Matrix = [5][5] エラー: Traceback ... IndexError: list index out of range 私の間違いは何ですか?

12
転置/解凍機能(zipの逆)?
2項目のタプルのリストがあり、それらを2つのリストに変換したいと思います。最初のリストには各タプルの最初の項目が含まれ、2番目のリストには2番目の項目が含まれています。 例えば: original = [('a', 1), ('b', 2), ('c', 3), ('d', 4)] # and I want to become... result = (['a', 'b', 'c', 'd'], [1, 2, 3, 4]) それを行う組み込み関数はありますか?
505 python  list  matrix  transpose 

9
最初にローカル変数に割り当てずに、関数によって返されたMATLAB配列にインデックスを付けるにはどうすればよいですか?
たとえば、中央の値をから読み取りたい場合magic(5)は、次のようにします。 M = magic(5); value = M(3,3); 取得するvalue == 13。次のいずれかのようなことができるようになりたいです。 value = magic(5)(3,3); value = (magic(5))(3,3); 中間変数を省略します。ただし、MATLABはのUnbalanced or unexpected parenthesis or bracket前の最初の括弧について文句を言い3ます。 最初に変数に割り当てることなく、配列/行列から値を読み取ることはできますか?

5
numpy配列と行列の違いは何ですか?どちらを使用すればよいですか?
それぞれの長所と短所は何ですか? 私が見てきたことから、必要に応じてどちらか一方をもう一方の代わりとして機能させることができるので、両方を使用するか、どちらか一方のみを使用する必要がありますか? プログラムのスタイルは私の選択に影響しますか?私はnumpyを使用していくつかの機械学習を行っているので、行列はたくさんありますが、ベクトル(配列)もたくさんあります。
345 python  arrays  matrix  numpy 

6
numpy.array形状(R、1)と(R、)の違い
ではnumpy、一部の操作は正常に(R, 1)戻り(R,)ますが、一部は戻ります。これは明示的でreshapeある必要があるため、行列の乗算をより退屈なものにします。たとえば、行列が与えられた場合M、行数をnumpy.dot(M[:,0], numpy.ones((1, R)))どこにしたいのかR(もちろん、同じ問題が列ごとにも発生します)。当社は、取得しますmatrices are not alignedので、エラーをM[:,0]形状である(R,)が、numpy.ones((1, R))形状です(1, R)。 だから私の質問は: 形状(R, 1)との違いは何ですか(R,)。文字通り、数字のリストとリストのリストで、すべてのリストに数字だけが含まれていることがわかります。行列の乗算を簡単にするのではなく、numpy形状(R, 1)を優先するように設計しないのはなぜでしょうか(R,)。 上記の例にもっと良い方法はありますか?このように明示的に再形成しない場合:numpy.dot(M[:,0].reshape(R, 1), numpy.ones((1, R)))

30
2次元配列をどのように回転させますか?
Raymond Chenの投稿に触発されて、4x4の2次元配列があるとしたら、90度回転する関数を記述します。レイモンドは疑似コードのソリューションにリンクしていますが、実際の世界のものを見たいです。 [1][2][3][4] [5][6][7][8] [9][0][1][2] [3][4][5][6] になる: [3][9][5][1] [4][0][6][2] [5][1][7][3] [6][2][8][4] 更新:ニックの答えは最も簡単ですが、n ^ 2よりも優れた方法はありますか?マトリックスが10000x10000の場合はどうなりますか?

11
最も広く使用されているC ++ベクトル/行列数学/線形代数ライブラリ、およびそれらのコストと利益のトレードオフは何ですか?[閉まっている]
閉まっている。この質問はスタックオーバーフローのガイドラインを満たしていません。現在、回答を受け付けていません。 この質問を改善してみませんか?Stack Overflowのトピックとなるように質問を更新します。 2年前休業。 この質問を改善する 多くのプロジェクトは、マトリックス計算を行う必要性にゆっくりと遭遇し、最初にいくつかのベクトルクラスを構築し、機能が徐々に追加されて、中途半端なカスタム線形代数ライブラリの構築に巻き込まれ、それに依存するようになるのではないかと思われます。 いくつかの接線方向に関連するライブラリ(OpenCV、OpenSceneGraphなど)への依存を構築していない間は、それを回避したいと思います。 そこに一般的に使用される行列数学/線形代数ライブラリは何ですか、なぜ別のものを使用することにしたのですか?何らかの理由で使用しないようにアドバイスされるものはありますか?私はこれを幾何学的/時間のコンテキスト*(2,3,4 Dim)*で具体的に使用していますが、将来的にはより高次元のデータを使用する可能性があります。 API、速度、メモリ使用量、幅/完全性、狭さ/特異性、拡張性、成熟度/安定性のいずれかに関する違いを探しています。 更新 私は非常に満足しているEigen3を使用することになりました。

30
爆弾投下アルゴリズム
n x m非負の整数で構成される行列があります。例えば: 2 3 4 7 1 1 5 2 6 2 4 3 4 2 1 2 1 2 4 1 3 1 3 4 1 2 1 4 3 2 6 9 1 6 4 「爆弾の投下」は、ターゲットセルの数とその隣接セルの8つすべての数を1つ減らし、最低ゼロにします。 x x x x X x x x x すべてのセルをゼロに減らすために必要な爆弾の最小数を決定するアルゴリズムは何ですか? Bオプション(注意深い読者ではないため) …

12
なぜ、MATLABは行列乗算でこれほど高速なのですか?
CUDA、C ++、C#、Javaでベンチマークを作成し、検証とマトリックス生成にMATLABを使用しています。MATLABで行列乗算を実行する2048x2048と、さらに大きな行列がほぼ瞬時に乗算されます。 1024x1024 2048x2048 4096x4096 --------- --------- --------- CUDA C (ms) 43.11 391.05 3407.99 C++ (ms) 6137.10 64369.29 551390.93 C# (ms) 10509.00 300684.00 2527250.00 Java (ms) 9149.90 92562.28 838357.94 MATLAB (ms) 75.01 423.10 3133.90 CUDAだけが競争力がありますが、少なくともC ++はやや近づき、60倍遅くなるとは思いませんでした。また、C#の結果についてどう考えればよいかわかりません。アルゴリズムはC ++およびJavaとまったく同じですが、2048からの大きなジャンプがあり1024ます。 MATLABは行列乗算をどのように高速に実行しますか? C ++コード: float temp = 0; timer.start(); for(int j = 0; j …

23
JavaScriptでの2D配列の転置
私は次のような配列の配列を持っています: [ [1,2,3], [1,2,3], [1,2,3], ] それを転置して次の配列を取得したいと思います。 [ [1,1,1], [2,2,2], [3,3,3], ] ループを使用してプログラムで行うことは難しくありません。 function transposeArray(array, arrayLength){ var newArray = []; for(var i = 0; i < array.length; i++){ newArray.push([]); }; for(var i = 0; i < array.length; i++){ for(var j = 0; j < arrayLength; j++){ newArray[j].push(array[i][j]); }; }; return …

30
らせん状にループ
友人は、NxM行列の要素をループさせるアルゴリズムを必要としていました(NとMは奇数です)。私は解決策を考え出しましたが、私の同僚のSO'ersがもっと良い解決策を考え出せるかどうかを見たかったのです。 この質問への回答として自分のソリューションを投稿しています。 出力例: 3x3マトリックスの場合、出力は次のようになります。 (0、0)(1、0)(1、1)(0、1)(-1、1)(-1、0)(-1、-1)(0、-1)(1、-1 ) さらに、アルゴリズムは非正方行列をサポートする必要があるため、たとえば5x3行列の場合、出力は次のようになります。 (0、0)(1、0)(1、1)(0、1)(-1、1)(-1、0)(-1、-1)(0、-1)(1、-1 )(2、-1)(2、0)(2、1)(-2、1)(-2、0)(-2、-1)


19
Javaマトリックス数学ライブラリのパフォーマンス?[閉まっている]
現在のところ、この質問は、Q&A形式には適していません。私たちは回答が事実、参考文献、専門知識によってサポートされることを期待しますが、この質問はおそらく議論、議論、投票、または拡張された議論を誘います。この質問が改善され、場合によっては再開できると思われる場合は、ヘルプセンターにアクセスしてください。 7年前休業。 ランタイムが行列演算によって制限されているものを計算しています。(興味がある場合は、以下のいくつかの詳細。)この経験により、次の質問が生じました。 人々は、行列演算(たとえば、乗算、逆数など)のためのJavaライブラリのパフォーマンスの経験がありますか?例えば: ジャマ コルト Apacheコモンズ数学 私は何も検索しませんでした。 速度比較の詳細: Intel FORTRAN(ifort(IFORT)10.1 20070913)を使用しています。Apache commons math 1.2 matrix opsを使用してJava(1.6)で再実装し、そのすべての桁の精度に同意します。(Javaでそれを必要とする理由はあります。)(Javaダブルス、Fortranリアル* 8)。Fortran:6分、Java 33分、同じマシン。jvisualmプロファイリングは、RealMatrixImpl。{getEntry、isValidCoordinate}で費やされた多くの時間を示しています(これは、リリースされていないApache commons math 2.0ではなくなっているようですが、2.0はそれより速くありません)。FortranはAtlas BLASルーチン(dpotrfなど)を使用しています。 明らかに、これは各言語のコードに依存する可能性がありますが、ほとんどの場合、同等の行列演算にあると考えています。 ライブラリを含まない他のいくつかの計算では、Javaはそれほど遅くなく、場合によってははるかに高速です。
151 java  math  matrix  performance 

9
配列へのナンピー行列
私はnumpyを使用しています。1列N行の行列があり、N個の要素を持つ配列を取得したいと考えています。 たとえば、私が持っている場合、私はM = matrix([[1], [2], [3], [4]])取得したいですA = array([1,2,3,4])。 それを達成するために、私はを使用しますA = np.array(M.T)[0]。同じ結果を得るためのよりエレガントな方法を知っている人はいますか? ありがとう!
149 python  arrays  matrix  numpy 

8
Rメモリ管理/サイズn Mbのベクトルを割り当てることができません
Rで大きなオブジェクトを使用しようとすると問題が発生します。次に例を示します。 > memory.limit(4000) > a = matrix(NA, 1500000, 60) > a = matrix(NA, 2500000, 60) > a = matrix(NA, 3500000, 60) Error: cannot allocate vector of size 801.1 Mb > a = matrix(NA, 2500000, 60) Error: cannot allocate vector of size 572.2 Mb # Can't go smaller anymore > rm(list=ls(all=TRUE)) …

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