問題タブ [scientific-computing]
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.
python - NumPyとSciPyのどれくらいがCにありますか?
NumPyおよび/またはSciPyの一部はC/C ++でプログラムされていますか?
また、PythonからCを呼び出すオーバーヘッドは、JavaやC#からCを呼び出すオーバーヘッドとどのように比較されますか?
科学アプリでは、PythonがJavaやC#よりも優れたオプションであるかどうか疑問に思っています。
シュートアウトを見ると、Pythonは大幅に負けています。しかし、これは、これらのベンチマークでサードパーティのライブラリを使用していないためだと思います。
scientific-computing - コードをコメントアウトしてコードをテストする例
イースト・アングリア大学の気候研究ユニットのハッキングされたソースコードについて、地球温暖化の懐疑論者は、これらの IDL および Fortran プログラムを作成した科学者が意図的にデータをごまかしていたことを証明していると言っているという大騒ぎがあります。
http://wattsupwiththat.com/2009/12/05/the-smoking-code-part-2/
この主張に反論するために、あるコメンターは次のよう に述べています。 私は約 10 年間、科学論文のプロットを作成するために IDL でプログラミングしてきましたが、このプロは明らかに出版用のプロットを作成していません。プロは画面にプロットするだけです。公開用の場合は、グラフをポストスクリプト ファイルとして書き出して、出版社に提出します。私には、これは誰かがデータを実験しているように見えますが、実際には何の意味もありません。
本当?コーダーはドラフトを作成してコードを反復し、不完全なドラフトを常にディレクトリに残します。それとも、彼らはもっと陰湿な説明ですか?
私はオープン ソース プロジェクトや科学研究に取り組んだことがないので、これについて意見を求めたいと思います。オープンソース コミュニティや科学計算コミュニティの誰かが、意図的にガベージ出力をプログラムしたり、良いデータを検証するためだけにデータを「ごまかしたり」しようとしたりすることを聞いたことがありますか? これは既知の慣行ですか、それともタブーですか?
意図的にガベージ出力を与えるコードがある主要なプロジェクトを見たり、取り組んだりしたことがある人はいますか?
python - いくつかのmatplotlib初心者の疑問
「matplotlib」を使い始めたばかりで、2 つの主要な障害に遭遇しました。これは、ドキュメントや例などから回避できないようです。Python のソースは次のとおりです。
- 疑問 1:ご覧のとおり、基本的にプロットをクリアしてから、毎回新しいプロットを保存しています。Y軸の範囲を一定に保ちたいので、「plt.axis([0,500,0,180])」でそれをやろうとしています。しかし、うまくいかないようで、毎回自動的に設定されます。
- 疑問 2:ポイントが連続した線で結合されているデフォルトのプロットを取得する代わりに、「*」などのプロットを取得したいと思います。どうすればいいですか?
python - NumPy 用の MATLAB の griddata3?
Matplotlibを介してNumPyの griddata があることを認識していますが、 griddata3はありますか (同じ griddata がありますが、より高い次元の場合)?
言い換えれば、私は (x,y,z,d(x,y,z)) を持っています (x,y,z) は不規則なグリッドを形成し、d(x,y,z) は 3 つの変数のスカラー関数です. 元の (x,y,z) データの不均一性を処理できるある種の補間を使用して、(xi, yi, zi) ポイントの新しいセットに対して d(xi, yi, zi) を生成する必要があります。
最終的には、(xi, yi, zi, d(xi, yi, zi)) データを何らかの方法でサーフェスとしてレンダリングする必要がありますが、それは後で問題になります。また、d(.) 関数の分析形式もありません。私はちょうどそれのためのデータを持っています。
python - Python並列処理ライブラリ
Pythonには、SMPベースのシステムまたはクラスター全体での並列処理を支援するために利用できるさまざまなパッケージがあるようです。サーバーがジョブのキューを維持し、クライアント(ローカルまたはリモート)が接続して、キューが空になるまでジョブを実行するクライアントサーバーシステムを構築することに興味があります。上記のパッケージのうち、推奨されるものとその理由は何ですか?
編集:特に、私はいくつかの入力を受け取り、しばらくの間物事を処理するシミュレーターを作成しました。ユーザーが指定した信頼区間内の平均を推定するために、シミュレーションから十分なサンプルを収集する必要があります。処理を高速化するために、さまざまなシステムでシミュレーションを実行できるようにしたいと考えています。各システムは、収集したサンプルを一定の間隔でサーバーに報告します。次に、サーバーは信頼区間を計算し、クライアントプロセスを続行する必要があるかどうかを判断します。十分なサンプルが収集された後、サーバーはすべてのクライアントシミュレーションを終了し、過去の結果に基づいてシミュレーションを再構成し、プロセスを繰り返します。
クライアントプロセスとサーバープロセス間の相互通信が必要なため、バッチスケジューリングが実行可能なソリューションであるかどうか疑問に思います。申し訳ありませんが、そもそももっと明確にすべきでした。
python - Python辞書の順序は反復で保証されていますか?
私は現在、SciPy.integrate.odeを使用してPythonで複雑な微生物食物網を実装しています。システムに種や反応を簡単に追加する機能が必要なので、非常に一般的なものをコーディングする必要があります。私のスキームは次のようになります。
したがって、問題は、との辞書を反復処理するときにSpecies.sumOverAllReactionsForThisSpecies()
、FermentationChamber.step()
最初と最後の反復の間に辞書に要素が追加または削除されない場合、辞書の反復順序が同じであることが保証されるかどうかです。つまり、辞書から各反復で作成されるnumpy配列の順序は変わらないと想定できますか?たとえば、ディクショナリの形式が{'Glucose':10、'Fructose':12}の場合、このディクショナリから作成された配列の順序は常に同じになります(順序が何であっても、それは決定論的です)。
メガポストで申し訳ありませんが、私がどこから来たのかをお知らせしたいと思います。
c++ - 応用科学計算ジョブの面接テスト
科学計算の仕事の応募者を調べるための、適切で客観的な質問/テストを知っていますか?
(実際、このテストは候補者が面接に合格した後に行われます。)
1番目)彼らは知的である必要があります。(編集、トレントからの言葉に感謝します)
2番目)彼らは主にプログラミング(C ++とPython、科学ライブラリを使用)、数値と数学を扱う必要がありますが、工学と物理学のトピックも扱う必要があります。また、CのようなスタイルやFortranのようなスタイルは望ましくありません...オブジェクト指向の概念を使用するとよいでしょう。
申請者は、コンパイラ、ツール、ライブラリ、およびインターネットにアクセスできる場合があります。テストの期間は4時間以内である必要があります。
c++ - スペクトログラムC++ライブラリ
C ++ / Qtでの現在のプロジェクトでは、シグナル(基本的にはdoubleの配列)からスペクトログラムを計算できるライブラリ(LGPLが推奨)が必要です。GUI部分にはすでにQwtを使用しています。
助言がありますか?ありがとう。
c - 非常に高いダイナミックレンジのTIFFファイルのライブラリサポート?
私は衛星レーダーを使用しており、32 bppのグレースケールデータを含む(非常に)大きなTIFFファイルが提供されています。残念ながら、 TIFFファイルを操作するための標準のLinuxライブラリであるlibtiffは、SampleFormat TIFFファイルをサポートしていません。つまり、高ビット深度のグレースケール画像や浮動小数点画像はサポートされていません。
これらのタイプの画像をサポートするFOSSCライブラリを知っている人はいますか?それができない場合、変換する適切なファイル形式と、それをロードできるFOSSライブラリを提案できますか?(理想的には、データ交換のために科学界で一般的に受け入れられ、IDL / ENVIによってサポートされている必要があります)。
c - マシンのすべてのコアを使用する nvidia cuda
4 コアの CPU を搭載したマシンで cuda プログラムを実行していましたが、cuda c プログラムを変更して 4 つのコアすべてとすべての gpu を使用できるようにするにはどうすればよいですか?
つまり、私のプログラムは gpu で計算する前にホスト側でも処理を行うということです...
ありがとう!