問題タブ [linear-algebra]
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.
c++ - GCC を使用した PARDISO 線形ソルバー テスト ケースのコンパイル
PARDISOを使用して線形システム ソルバーをコンパイルしようとしています。テスト ケース (pardiso_sym.c) も上記の同じ Web サイトからダウンロードします。
ディレクトリ内に次のファイルがあります。
次に、次のコマンドでコンパイルを試みます。
しかし、次のエラーが発生します。
コンパイル方法の何が問題になっていますか?
これは私のシステムの追加情報です:
更新:
ライブラリは、Dave Gamble の提案を使用して認識されます。しかし、今では別のエラーが発生します:
c++ - C++の行列クラス
私は線形代数の計算を行っており、基本的に2x2、2x1、3x1、1x2のさまざまな次元を処理できる非常に軽量で使いやすい行列クラスを探していました。そのようなクラスは、パフォーマンスのために、テンプレートを使用して実装でき、場合によっては特殊化を使用できると思います。使用可能な簡単な実装を知っている人はいますか?メモリが制限されている組み込み環境でこれを実行するため、「肥大化した」実装は必要ありません。
ありがとう
algorithm - 2つの「類似した」行列を取り、「互いに整列」するアルゴリズム
まず第一に、簡潔な語彙がないため、タイトルが非常に悪いです。自分が何をしているのかを説明してから、もう一度質問します。
背景情報
n
サイズxの2つの行列があるとしますm
。ここn
で、は実験的な観測ベクトルの数であり、それぞれの長さm
(観測が収集された時系列)です。これらの行列の1つは、と呼ばれる元の行列であり、もう1つは、と呼ばれるのS
再構築されたバージョンです。S
Y
Y
を適切に再構築すると仮定しましょうS
。ただし、再構成アルゴリズムの制限により、Y
のベクトルの真の振幅を決定することはできませんS
。また、これらのベクトルに適切な符号を提供することも保証されません(ベクトルが反転する可能性があります)。また、の観測ベクトルのY
順序は、の対応するベクトルの元の順序と一致しない場合がありS
ます。
私の質問
の「再調整」である新しい行列を生成するアルゴリズムまたは手法はありますか?これによりY
、S
およびY
がS
正規化されると、アルゴリズムは(1)のベクトルにY
一致するベクトルを見つけて、ベクトルS
の元の順序を復元できます。 (2)同様にベクトルの符号と一致しますか?
いつものように、私は与えられたすべての助けに本当に感謝しています。ありがとう!
math - 現在の速度ベクトルからターゲット ベクトルへの推力のスムーズな変化のプログラミング
TL;dr: 「あるベクトルから別のベクトルへの推力のスムーズな移行を計算する方法がわかりません。」
敵がオープンスペース(壁なし)でプレイヤーを追いかける簡単なゲームをプログラミングしています。敵の x 速度と y 速度を個別に計算し、敵がプレイヤーの方向に進んでいる場合は加速し、間違った方向に進んでいる場合は急速に減速しました (例: EnemyVelocity.x > 0 & player.x <enemy.x) 、次に EnemyVelocity.x - 2.)
敵をかわそうとするゲームプレイはそれなりに楽しいものですが、敵が適切な物理学を使用して動作するようにしたいというのが私の望みです。私が現在行っていることは、敵とプレイヤーの間の角度に基づいて敵に推力を設定させ (宇宙船を考えてください)、推力を最大速度まで加速させます (EnemyVelocity 三角形の辺 c を計算します)。それが起こると、推力を自動的に調整する最善の方法がわかりません。最大速度を設定しないと、敵はうまく加速しますが、プレイヤーを簡単に追い越してしまい、プレイヤーの方向に戻るのに十分な勢いを得るのに長い時間がかかります。
私が実現したいのは、敵がプレイヤーに向かう途中で常に速度を調整し、敵がいる場所をターゲットにすることです (プレイヤーがどこにいるかを敵に予測させたくありません)。次に、プレイヤーを逃した場合、同じ推力と加速の式で速度を再調整し、プレイヤーに送り返したいと思います。
これには 2 つのベクトルが関係すると考えています。1 つは敵が現在移動している場所で、もう 1 つは敵が移動しようとしている場所です (プレイヤーに直接向かうベクトル)。あるベクトルから別のベクトルへの推力のスムーズな移行を計算する方法がわかりません。
ヒント、公式、質問は大歓迎です!ありがとうスタックオーバーフロー。
java - Javaで任意のサイズの恒等行列を作成するにはどうすればよいですか?
Javaで指定されたサイズの恒等行列を作成するユーティリティはありますか?
c++ - 最も広く使用されている C++ ベクトル/行列数学/線形代数ライブラリと、それらのコストと利点のトレードオフは何ですか?
多くのプロジェクトでは、行列演算を行う必要性が徐々に生じ、最初にいくつかのベクトル クラスを構築し、機能を徐々に追加するという罠に陥り、中途半端なカスタム線形代数ライブラリを構築し、それに依存するようになります。
いくつかの接線関連のライブラリ (OpenCV、OpenSceneGraph など) に依存して構築するのではなく、それを避けたいと思います。
一般的に使用されている行列数学/線形代数ライブラリとは何ですか?なぜそれらを使用することに決めたのでしょうか? 何らかの理由で使用しないようにアドバイスされるものはありますか? 私はこれを特に幾何学的/時間的なコンテキスト*(2,3,4 Dim)*で使用していますが、将来的にはより高次元のデータを使用する可能性があります。
API、速度、メモリ使用量、広さ/完全性、狭さ/具体性、拡張性、および/または成熟度/安定性のいずれかに関する違いを探しています。
アップデート
私は非常に満足しているEigen3を使用することになりました。
c# - C# のスパース線形代数ソルバー
Goldenthal らの非拡張クロス アルゴリズムの C# での実験的実装に取り組んでいます。
まず、Math.NET Iridium を使用して行列を組み立てて解決しましたが、すぐにこれを dnAnalytics に置き換えました。これは、dnAnalytics を使用すると行列を再利用できるため、リアルタイム パフォーマンス (小さな布) または反復的な解決にとって重要な追加のメモリ割り当てがほとんど不要になるからです。一般に。
問題は、dnAnalytics のソルバー (主に関心のあるのは LU と Bi-CG) が、過去の割り当てを再利用する代わりに、舞台裏で行列とベクトルを割り当てていることです。
=> すぐに使えるメモリを再利用するスパース線形代数ライブラリはありますか? それとも自分でコードを書き直す必要がありますか?
matlab - Matlab の inv が遅くて不正確なのはなぜですか?
私はいくつかの場所(ドキュメントとこのブログ投稿:http://blogs.mathworks.com/loren/2007/05/16/purpose-of-inv/)で、Matlabでのinvの使用はそうではないことを読みました遅くて不正確なのでお勧めします。
この不正確さの理由を見つけようとしています。今のところ、Google は興味深い結果を出していないので、ここの誰かが私を案内してくれると思った.
ありがとう !
c++ - 画像セグメンテーション用の C++ ライブラリ
画像クラスタリング (C++) に関連するデータ マイニングのプロジェクトを行う予定です。画像処理、線形代数、および 3D グラフィックスに役立つ強力なライブラリを探しています。何かご意見は?
ありがとう。
math - MATLABで行列を解きますか?
MATLABでxの(自明ではない)解Ax = 0をどのように解くのですか?
私はsolve('A * x = 0'、'x')を試しましたが、答えは0しか得られません。