問題タブ [gsl]
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++ - gsl を使用して C++ で左行列除算を実装する方法
MATLAB プログラムを C++ に移植しようとしています。A
そして、行列と列ベクトルの間の左行列除算を実装したいと思いますB
。
A
は次と等しくないm-by-n
行列で、成分を持つ列ベクトルです。m
n
B
m
そして、その結果X = A\B
が過決定または過決定の方程式系に対する最小二乗法での解であることを望みAX = B
ます。つまり、ベクトルの長さをX
最小化します。つまり、MATLAB と同じ結果が得られるようにする必要があります。norm(A*X - B)
AX - B
A\B
この機能を GSL-GNU (GNU Science Library) に実装したいのですが、数学、最小二乗法、行列演算についてあまり知りません。GSL でこれを行う方法を教えてもらえますか? または、GSL での実装が複雑すぎる場合、上記の行列演算を提供する優れたオープン ソースの C/C++ ライブラリを提案してもらえますか?
さて、さらに5時間費やした後、ようやく自分で理解しました..しかし、それでも私の質問への提案に感謝します。
5 * 2 の行列があるとします。
とベクトルb = [1.8388,2.5595,0.0462,2.1410,0.6750]
の解決策A \ b
は
cmake - Windows 7 での環境変数の追加
CMake を使用しようとしていますが、%GSL_ROOT_DIR%\include に GSL ヘッダー ファイルが含まれ、%GSL_ROOT_DIR%\lib に GSL ライブラリが含まれるように、環境変数 GSL_ROOT_DIR を Windows 7 に追加する必要があります。どうすればそれができるのか正確に教えていただけますか?
c - 別のディストリビューションで C 実行可能ファイルを実行する
Ubuntu 11.10 (Linux バージョン 3.0.0-12-generic-pae カーネル) を使用して開発している C プログラムがあります。Debian 3.1 (Linux バージョン 2.4.24-om2) がインストールされ、Intel(R) Pentium(R) 4 CPU 3.20GHz プロセッサを使用するクラスタでそのプログラムを実行する必要があります。
問題は、プログラムに必要な GSL ライブラリがインストールされていないため、Debian クラスターでコンパイルできないことです。また、root 権限なしでインストール (または使用) する方法もわかりません。
Ubuntu でコンパイルした実行可能ファイル (または、単純なhello worldプログラム) を実行しようとすると、クラスターでの実行時にスローされるすべての gcc オプションを使用してコンパイルしても機能しません。
Ubuntu でコンパイルしたプログラムを実行しようとすると、次のようにスローされます。
更新: -static フラグを使用してコンパイルすると、次のエラーが表示されます。
ですから、私が使用している GSL のすべての機能を再実装するよりも良いことができるでしょうか。
rubygems - gemをインストールしようとすると、通常このエラーが発生します
私はRubyとGemsを初めて使用するので、明らかな何かが欠けている可能性があります。
Ruby GSLなど、いくつかのGemsでエラーが発生しました。
重要な場合は、Mac OS 10.7.2、Ruby 1.8.7、およびXCode4.2を実行しています。
フルコンソール出力:
python - x86_64で動作する乱数ジェネレーター
この質問は、Mac OSX 10.7(Lion)システムのCython(Python 3.2)でGNUScientificLibraryの乱数ジェネレーターを使用することについてです。
Lionは64ビットOSであるため、インストーラーから64ビットバージョンのPythonが提供されました。Cython(v0.15.1)とnumpy(v1.6.1)を正常にインストールしました。
ここからFlavioCoelhoの例を複製し、Cライブラリを使用して「Python」コードをC速度で実行したいと思います。FlavioがGnuScientificLibraryの乱数ジェネレーターを使用する方法は、64ビット環境では機能しないようです(私にとっては!)。コンパイル中に表示されるエラーメッセージは次のとおりです(実際には、コンパイル後、リンク中に発生すると思いますが、Cの専門家ではありません)。
誰かがそれを修正する方法を教えてもらえますか?
c - ansi C プログラムのヒストグラム関数: GSL および/またはその他?
Gnu Scientific Library (GSL)のライブラリを使用したいだけの場合gsl_histogram.h
、GSL がインストールされている既存のマシン (Mac OS Snow Leopard) から GSL がインストールされていない別のマシン (Linux CentOS 5.7) にコピーできますか? 、そして#include <gls_histogram.h>
私のCプログラムでステートメントを使用するだけですか? これは機能しますか?
それとも、必要なライブラリは 1 つだけですが、Linux ボックスに GSL を完全にインストールする必要がありますか?
c++ - ベクトルを行列アルゴリズムに設定する C++ のヘルプ
M*N 個の要素を持つ配列 X があります。この同じデータでサイズ M x N の行列 A を作成しようとしています。私は行列に gsl を使用しており、X は配列として宣言されています。私は問題を抱えており、マトリックスでオーバーラップし続けています。
これが私がやろうとしていることの例です:
c++ - 周波数範囲のある DFT
GSL の標準 DFT 実装を変更/再実装する必要があります。
この実装では、GSL はサンプル/入力サイズに対して入力ベクトルを 2 回繰り返します。ただし、異なる周波数ビンを構築する必要があります。たとえば、4096 個のサンプルがありますが、128 の異なる周波数について DFT を計算する必要があります。必要な DFT の動作を定義または実装するのを手伝ってもらえますか? 前もって感謝します。
m
編集: 最初の周波数は検索しません。
実際、与えられた周波数ビン番号でDFT結果を見つけるための以下のアプローチは正しいですか? N = サンプル サイズ B = 頻度ビン サイズ
編集:DFTの問題を詳しく説明していない可能性がありますが、以下の回答を提供させていただきます:
c++ - ピアソン相関係数のGSL実装を使用するにはどうすればよいですか?
フロートの2つのベクトルxとyがあり、ピアソン相関係数を計算したいと思います。大量のデータ(たとえば、1,000万の異なるベクトルxと2万の異なるベクトルy)でそれを行う必要があるため、C ++、より具体的にはGSLのgsl_stats_correlation関数を使用しています。
これが私のC++コードです:
正常にコンパイルされますが(gcc -Wall -g pearson.cpp -lstdc ++ -lgsl -lgslcblas -o pearson)、実行すると次のように出力されます。
次のRコードで示されているように、明らかに結果は正確に1になるべきではありません。
私は何が欠けていますか?
python - 外部 C ライブラリをリンクするときの Cython からの ImportError
ここにリンクされている、Flavian Coelho の作品を複製しようとしています。彼は Cython と Gnu Scientific Library (GSL) を使用して、乱数の生成を Python より大幅に高速化しました。コンパイルした Cython コードを Python で (コマンドを使用してimport cgibbs
) インポートすると、次のエラーが発生します。
_gsl_rng_mt19937
シンボルが見つからないという苦情があることに気付くでしょう。リンクしようとしている関数が呼び出されgsl_rng_mt19937
(先頭にアンダースコアはありません)、それが.pyx
ファイルに表示されます。Cython が先頭にアンダースコアを追加することで、何らかの形で問題を引き起こしていると思います。
トラブルシューティングを容易にするために、コードを削除して以下に掲載しました。私のシステムは、Python 2.7.2 (32 ビット) を実行する Mac OSX 10.7 (Lion)、gcc-4.0 (GSL ライブラリを 32 ビット形式でコンパイルするために使用)、GSL 1.15、および Cython v0.15.1 です。
cgibbs.pyx の内容は次のとおりです。
私の最後の行をコメントアウトするとエラーは消えますが、cgibbs.pyx
実際には外部ライブラリを使用できません...あなたが提供できる洞察は大歓迎です。ありがとう!