問題タブ [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.
wpf - 2点間の点の座標を見つける?
wpf でいくつかの 3D 処理を行う - 単純なテストを使用して、すべてが機能しているかどうかを確認したい (曲線に移動する前)。
基本的な質問は、2 つのポイント x1,y1,z1 と x2,y2,z2 が与えられ、ポイント間の距離を計算しました。しかし、その線上にある距離にある別の点 (x3、y3、z3) の座標を見つけるにはどうすればよいでしょうか?
つまり、私の線が -50,0,0 と 50,0,0 の間で 100 の長さである場合、線に沿った 100 * 0.1 の点の座標は何ですか?
これは簡単な式だと思いますが、まだ見つけていません....
math - LISP でのベクトル計算
ベクトルの大きさ、ベクトルのノルム、距離 (2 点間)、内積、外積など、Lisp でベクトル計算を実行するにはどうすればよいですか?
ありがとう。
python - Python/numpy の線形結合
ご挨拶、
これがばかげた質問かどうかはわかりません。
3 つの numpy 配列 A1、A2、A3、および 3 つの浮動小数点数 c1、c2、c3 があるとします。
B = A1*c1+ A2*c2+ A3*c3 を評価したい
たとえば、これを numpy で計算します。
それともそれよりも賢いですか?C++ では、この種の操作をうまく抽象化する方法がありました。
一連の一般的な 'LC' テンプレート関数を定義しました。線形結合の LC は次のようになります。
これをさまざまなタイプに特化し、
たとえば、配列の場合、コードは次のようになります
したがって、新しい中間配列を作成する必要がなくなります。
これは面倒に見えるかもしれませんが、本当にうまくいきました。
Pythonでも同様のことができますが、必要かどうかはわかりません。
洞察をお寄せいただきありがとうございます。-ニック
java - 単純な行列ライブラリの静的型付けと作成
そう、これまでに何百万回も行われてきましたが、もう一度やりたいと思っています。私はそれを正しく行うことを意図して、C++ 用の単純な行列ライブラリを作成しています。数学ではかなり明白であるが、厳密に型付けされたシステムではそれほど明白ではないことに遭遇しました。1x1 行列は単なる数値であるという事実です。これを避けるために、私はベクトルの合成として行列の毛むくじゃらの道をたどり始めましたが、2 つのベクトルを乗算すると、2 つの方向に応じて、数またはダイアドになる可能性があるという事実にも遭遇しました。
私の質問は、C++ や Java のような強く型付けされた言語でこの状況に対処する正しい方法は何ですか?
python - 行列の零空間の計算
Ax = 0の形式の方程式のセットを解こうとしています。Aは6x6行列として知られており、ある程度機能するベクトルxを取得するためにSVDを使用して以下のコードを記述しました。答えはほぼ正しいですが、私には十分ではありません。計算の精度を向上させるにはどうすればよいですか?epsを1.e-4未満に下げると、関数が失敗します。
c++ - スパース制約付き線形最小二乗ソルバー
この素晴らしい SO の回答は、 の優れたスパース ソルバーを示しAx=b
ていますが、 のx
各要素x
が.>=0
<=N
また、巨大(約2e6x2e6)ですが、行ごとの要素が非常にまばらA
です。<=4
アイデア/推奨事項はありますか?MATLAB のようなものを探していますlsqlin
が、巨大なスパース マトリックスがあります。
私は基本的に、スパース行列で大規模な有界変数最小二乗問題を解決しようとしています:
編集: CVXで:
r - qr.Q() に惑わされた: 「コンパクトな」形式の正規直交行列とは?
Rには、qr()
LINPACKまたはLAPACKのいずれかを使用してQR分解を実行する関数があります(私の経験では、後者は5%高速です)。返される主なオブジェクトは、上三角行列 R (つまりR=qr[upper.tri(qr)]
) に含まれる行列 "qr" です。ここまでは順調ですね。qr の下三角部分には、Q が「コンパクトな形で」含まれています。を使用して、qr 分解から Q を抽出できqr.Q()
ます。の逆数を求めたいqr.Q()
. つまり、私は Q と R を持っていて、それらを「qr」オブジェクトに入れたいと考えています。R は自明ですが、Q はそうではありません。目標はそれに適用することqr.solve()
であり、大規模なシステムよりもはるかに高速solve()
です。
flash - as3isolibの代わりに?
私は等角投影空間を含むFlashゲームに取り組んできました。しばらく使っていますがas3isolib
、使いやすさにはあまり感心しません。私が間違った方法でアプローチしているのか、それとも使用するのがそれほど素晴らしいものではないのかは、別の投稿の質問です。
とにかく、私は等角投影位置の問題にアプローチする別の方法を考えていました、そして私はうまくいくかもしれない考えを持っていると思います。基本的に、アイソスペースにレンダリングされる各オブジェクトは、3座標の位置を維持します。次に、これらのアイテムは、このWikipediaの記事の計算に従って、その3座標位置を画面上の2座標点に投影するカメラに登録されます。次に、MovieClipは、そのポイントでステージ(またはおそらくカメラのMovieClip)に追加され、ポイントのy値の子インデックスに追加されます。そうすることで、カメラに近いオブジェクトが遠くにあるオブジェクトの「上」にあり、それらの上にレンダリングされると思います。
したがって、私の質問は2つあります。
このアイデアは私が思うように機能すると思いますか?
私が見なければならない既存の3Dマトリックス/ベクトルパッケージはありますか?Flex 3にMatrix3クラスがあることは知っていますが、このゲームではFlexを使用していません。
ありがとう!
python - Python での数値線形代数の計測
数値線形代数には numpy を使用します。たとえば、特定の計算を実行する方法を少し変更して、メモリ効率を向上させると、パフォーマンスが大幅に向上すると思います。
キャッシュと TLB のミスを検出するために Python で利用できる何らかの形式のインストルメンテーションがあるかどうか疑問に思っていました。最近のクラスで学んだ非常に優れた API、PAPI がありますが、Python インターフェイスはありません。
http://icl.cs.utk.edu/papi/overview/index.html
また、numpy やその他の python 数値コードをプロファイリングする一般的な方法はありますか? timeit モジュールをコードに統合するのは困難です。mpi4py には、MPE ライブラリを使用してプロファイリングする優れた方法があります。デモ コードのスニペット (demo/mpe-logging/cpilog.py):
グラフィカルに表示できるログ ファイルが作成されます。しかし、これは少し MPI 特有のものです。
ありがとう。
r - 削減された列のエシュロン形式
reduced row echelon form
行列のを生成する R の関数はありますか? この参照は、そうではないと言っています。同意しますか?