問題タブ [complex-numbers]
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.
math - Symbolic Math Toolbox を使用して複雑な関数をプロットしますか?
この関数をどのようにプロットすればよいですか:
z^(1/n)
[z の複素根]
、、ezsurf()
... ezmesh()
? 公式ドキュメントでは、複雑な入力を受け付けないezsurf()
などと明確に述べられています。ezsurfc()
おそらくreal()
とimag()
関数の両方を使用することにトリックがあることは理解していますが、それでも問題を取り除くことはできません。
boost - BoostMPIのスケルトン/コンテンツメカニズムを使用した複雑なデータの送信
スケルトン/コンテンツメカニズムを介したstl複合データの送信は機能しないようです。
問題を示す簡単なコードを次に示します。
出力のベクトルlのエントリは(1.0,1.0)ではありませんが、初期化されていないようです。これは、複雑なデータ型とスケルトン/コンテンツメカニズムを使用する場合にのみ発生します。
これが組み込みの問題なのか、それとも私が何か間違ったことをしているのか、誰か知っていますか?
c++ - 同じ名前のC++システムヘッダーの代わりにCシステムヘッダーをC++プログラムに含めるにはどうすればよいですか?
私のMacOSXシステムにはいくつかの異なるバージョンのヘッダーファイルcomplex.h
があるようで、それらは互換性がありません。
/usr/include/complex.h
_Complex
数値のC99実装を定義し、/usr/include/c++/4.2.1/backward/complex.h
は、数値.h
のC++実装を定義する。なしのC++ヘッダーの薄いラッパーです。std::complex
私の問題は、C99複素数を使用してコンパイルされたCライブラリがあり、それに対してC++プログラムをリンクする必要があることです。ただし、インクルードファイルの参照<complex.h>
であり、プログラムをコンパイルするときに、g++は代わりにC++の下位互換性ヘッダーを取得し、すべての地獄が解き放たれます。
g ++にフラグを渡そうとしました-I/usr/include
が、役に立ちませんでした。
インクルードするときにg++にC++ヘッダーの代わりにCヘッダーを使用させるにはどうすればよい<complex.h>
ですか?
python - Pythonの複素数
複素数はPythonでサポートされているデータ型ですか?もしそうなら、あなたはそれらをどのように使用しますか?
java - nullを返す再帰FFT Javaアルゴリズム?
現在、Java で FFT アルゴリズムを実装しようとしていますが、少し問題があります。アルゴリズムの他のすべての部分をよくテストしましたが、うまく機能しているようです。
私が得ている問題は、基本ケースでは複素数配列が返され、基本ケース内にデータA[0]
が入力されることです。基本ケースが実行された後、 for ループが実行され、 wherey0[0]
およびare nully1[0]
であることがわかります。これにより、基本ケースに割り当てられているにもかかわらず、かなり混乱しています。これは行に示されていますSystem.out.println
誰かが私のやり方の間違いを教えてくれますか?
要求された私の splitInput メソッドのコードは次のとおりです
編集:私はあなたの提案に従ってコードを更新しましたがy[k] = y0[k].plus(omega[k].times(y1[k]));
、y0
&y1
はまだnull
基本ケースの後にあるため、行からヌルポインター例外を取得しています:(さらにアイデアはありますか?更新されたアルゴリズムは次のとおりです
python - Python で複素数をプロットしますか?
数学フェア プロジェクトでは、Julia セット フラクタルを生成するプログラムを作成したいと考えています。これを行うには、複素数をグラフにプロットする必要があります。誰もこれを行う方法を知っていますか? 通常の座標ではなく、複素数を使用していることを思い出してください。ありがとう!
python - キャンバス上の点を実平面上の点にマッピングする関数の書き方
Python で単純なマンデルブロ ビジュアライザーを pygame 画面に書いています。600 x 600 画面上の各ピクセルについて、このピクセル (x, y) が複素数としてマンデルブロ集合に含まれているかどうかをプロットしています。
問題は、(0, 0) から開始して (600, 600) まで繰り返すことですが、そのほとんどはとにかくセットの外にあります。そのため、倍率を拡大して拡大しますが、まだ右上の象限しかプロットしていません。私のプロットが常に0 + 0iを中心にしているように、何らかの方法で作成したいと思います。
私がやりたいことは、600px^2 キャンバスを x 軸の [-2, 2] から y 軸の [2, -2] までの実平面にマッピングする何らかの方法を見つけることです。これは、たとえば、複素数 0+0i が画面上で (300, 300) にマップされることを意味します。このようにして、私のプロットは常に中央に配置されます。
python - 複素変数で微分方程式を解くpython
皆さん、
Pythonで複雑な変数を持つODEを解くことは可能ですか? 私が持っている方程式は次の形をしています
ここで、y(t) は既知の関数、a は既知の数値、i は -1 の根です。
odeint() を使用しようとしましたが、多くのエラー メッセージが表示されます。
odeint() は複雑な変数では機能しないと思います。したがって、x の実数部と虚数部を分離し、元の ODE を 2 つの連結 ODE として扱うことが 1 つの方法です。
しかし、このタスクにもっと便利な方法があるかどうかも疑問に思っていますか? 複雑な変数を使用して ODE/PDE を解くことは一般的な問題であり、この複雑な -> 実際の変換を常に手作業で行うのは非常に面倒です。
どうもありがとう。
wolfram-mathematica - Mathematica:複素数の実数部が正であり、Reduceの予期しない/冗長な出力であるための条件を見つける
複素数の実数部が負になる条件を見つける必要があります。これにはReduceが最適だと思いましたが、(単純化した後でも)冗長な出力が得られます。例えば:
aとbは不等式で表示されるため、実数であると見なされるため、aとbの関係についてこれ以上仮定する必要はありません。私が期待する結果は、次のとおりです。
それが得られない正当な理由はありますか?(私の目には)冗長な結果はより複雑な式のために蓄積され、私はそれらのかなりの数を減らす必要があります。期待される結果を得るためのトリックはありますか?ドメインとしてRealsを選択し、ドメインをまったく選択しないことを試してみましたが、本当に欲しいものは何もありません。ちなみに、私は固有値をチェックすることによって固定小数点の安定性を分析しています...非常に一般的なタスクです。
c++ - cuda, pycuda -- 複素数の書き方 -- エラー: クラス "cuComplex" にはメンバ "i" がありません
cuda、pycudaで複素数を使用するのが困難です。
私はCでこれを持っています:
また、同じコードで:
これをpycudaで使用するように変換するにはどうすればよいですか? 私はこのようにsthを試しました(本「例によるcuda」によると):
私が取るエラーのいくつかは次のとおりです。
データ メンバー初期化子は許可されていません
この宣言にはストレージ クラスまたは型指定子がありません
ありがとうございました!
-------------------- -編集- --------------------------- ------------------
私は#include <pycuda-complex.hpp>
(上記に関連して)を使用して次のことを行いました:
そして、typedef std::vector< boost::array<std::complex<double>,3 > > ComplexFieldType;
そしてComplexFieldType const & M
、グローバル関数内で、「float *M」または「cmplx *M」だけを試しました。
今まで、私はエラーが発生しています:
変数「cmlx」は型名ではありません
pycuda::complex cmplx; を使用する場合 、そして私は得る:
識別子「cmlx」は定義されていません
"::" が後に続く名前は、クラスまたは名前空間の名前でなければなりません
また:
式はオブジェクトへのポインター型でなければなりません (ただし、これはコードの別の部分からのものである可能性があります)