問題タブ [vector-space]
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++ - 標準ライブラリのコンテナを再利用して C++ で数学ベクトルを実装する
この質問は、 1次常微分方程式 (ODE)の積分に対するルンゲ クッタ公式の次の実装によって動機付けられます。
これは、次のような機能を統合するために使用できます。
しかし、上記のルンゲ クッタ コードは、高次の ODE または複数の従属変数を持つ ODE を解くためにも使用できます。このために、テンプレート パラメーター Vector は、適切に定義された算術演算子を含む数値 (または異なる種類のベクトル) のコンテナーである必要があります。
Vector
したがって、次のプロパティを持つ型の実装を探しています。
- 型は、数値または異なる種類のベクトルのコンテナーです。
- 適切にオーバーロードされた演算子
operator+
、operator-
、operator*
およびoperator/
。 - これらの演算子を使用するために必要な呼び出しコードでの using 宣言はありません。
- 標準ライブラリが再利用されます。
私が思いついた最善の方法はstd::array
、新しい名前空間での演算子を作成することです
呼び出しコードに適切な using 宣言がある (上記のポイント 2 に違反する)
もう 1 つの可能性は、 から公に派生させることstd::array
です。これは機能しますが、私が学んだように、これは C++ 言語標準によって明示的に禁止されています。
完全std::array
に書き直さずに、上記の最初の 4 つのプロパティを保持して再利用することは可能ですか?std::array
python - Pythonでデータ行列の非直交基底を見つける方法は?
サイズ mXn のデータ行列があります。Python で、各ベクトルのサイズが mX1 で、基底ベクトルの数が k << n である行列の非直交ベクトルのセットを見つける方法を知りたいです。