タグ付けされた質問 「complex-numbers」

この課題には、解析と出力、および複雑な演算の実行を含む、複素数の操作が含まれます。このタグには、四元数のような一般化された複素数も含まれます。

7
ガウスからアイゼンシュタイン
整数ガウスを与え+ bはIここで、bは整数であり、iは= EXPを(π I / 2 )虚数単位であり、(ユークリッド距離にWRT)最も近いを返すアイゼンシュタイン整数K + L ω K、Lはです整数およびω = EXP (2 π I / 3 )= (- 1 + I √a+bia+bia+biaaabbbi = exp(πi / 2 )私=exp⁡(π私/2)i = \exp\left(\pi i/2\right)K + L個のωk+lωk+l\omegakkklllω=exp(2πi/3)=(−1+i3–√)/2ω=exp⁡(2πi/3)=(−1+i3)/2\omega = \exp(2\pi i/3) = (-1+i\sqrt{3})/2。 バックグラウンド すべてのガウス整数は一意のように書くことができることを、おそらく非常に明白である+ B Iと、Bの整数。それはとても明らかそれでも真ではない:任意アイゼンシュタイン整数を一意のように書くことができるK + L個のωとK、L個の整数。それらは両方とも複素数内でZモジュールを形成し、両方ともそれぞれp = 2または3のp番目のサイクロトミック整数です。なお、3 + 2 I …

19
エルミート行列?
この課題では、複素数の処理や理解が必要ないことに注意してください。 すべての要素が2要素(Re、Im)整数リストである空でない正方行列が与えられた場合、これがエルミート行列を表すかどうかを決定(真理値/偽値または2つの一貫した値を与える)します。 入力は整数の3D配列であることに注意してください。複素数の2D配列ではありません。言語で3D配列を直接取得できない場合は、フラットリストを使用できます(それが役立つ場合は、n×nまたはn×n×2の形状)。 行列は、それ自身の共役転置に等しい場合、エルミート行列です。言い換えると、左上から右下の対角線上でそれを反転し、すべての2要素リーフリストの2番目の要素を無効にすると、入力行列と同じになります。反転と否定の順序は無関係であることに注意してください。したがって、最初に否定し、その後反転することができます。 ウォークスルーの例 この例では、読みやすくするために、余分な空白を含むJSONを使用しています。 [[ [2, 0] , [2, 1] , [4, 0] ], [ [2,-1] , [3, 0] , [0, 1] ], [ [4, 0] , [0,-1] , [1, 0] ]] 転置(NWを越えて反転-SE対角線): [[ [2, 0] , [2,-1] , [4, 0] ], [ [2, 1] , [3, 0] …

2
2進数で4進数の虚数の基数を出力する
2進数として表示されるクォーター虚数ベースを出力する関数またはプログラムを作成します。基数は2 iで、iは-1の平方根です。iの詳細については、複素数を参照してください。各実数部と虚数部は前の実数部と虚数部の-4倍であるため、各桁の位置は0〜3(4進)になります。:バイナリでの四桁の数字は次のとおりであり、、&。0: 001: 012: 103: 11 桁位置の内訳: re im 16 -8i -4 2i 1 -0.5i, etc. 4 0 1 0 3 0 0 (quaternary representation) 01 00 11 00 00 (binary representation) 数100110000は1x16 + 3x-4 = 16 + -12 = 4です。 re im 16 -8i -4 2i 1 -0.5i, etc. …

5
困惑する数を追加して乗算する
「複素数」とも呼ばれる分割複素数は、複素数に似ています。i^2 = -1ただし、代わりにがありj^2 = 1; j != +/-1ます。各番号はの形式を取りますz = x + j*y。 この課題の複雑さを制限するための1つの試み-では、減算を行わないため、シンボルを使用して否定を表します。 視聴の楽しみの例を次に示します。 6 * 9 = 54 // real numbers still act normally 5 + -7 = -2 j*1 + j*1 = j*2 // two `j`s added together make a j*2 7 * j*1 = j*7 // multiplication …

7
振動の平等
on [l, r]から始まる、時間単位ごとに1単位の速度で、2つの整数点間で振動するオブジェクトがあります。あなたが仮定することができます。たとえば、オブジェクトがで振動する場合、次のようになります。lt=0l < r[3, 6] t=0 -> 3 t=1 -> 4 t=2 -> 5 t=3 -> 6 t=4 -> 5 t=6 -> 4 t=7 -> 3 t=8 -> 4 しかし、オブジェクトは継続的に振動するため、ともt=0.5 -> 3.5ありt=3.7 -> 5.3ます。 、の間[l1, r1]で振動する2つのオブジェクトが与えられた[l2, r2]場合t、2つのオブジェクトが同じ位置を共有するような時間が存在するかどうかを判断します。l1, r1, l2, r2任意の便利な形式でテイクを作成し、真実/偽の値を出力します。 真実の入力: [[3, 6], [3, 6]] [[3, 6], [4, 8]] …
15 code-golf  array-manipulation  decision-problem  code-golf  math  number-theory  palindrome  integer-partitions  code-golf  math  decision-problem  geometry  code-golf  string  random  code-golf  ascii-art  code-golf  kolmogorov-complexity  primes  code-golf  kolmogorov-complexity  code-golf  graphical-output  code-golf  number-theory  primes  integer  factoring  code-golf  sequence  array-manipulation  integer  code-golf  array-manipulation  matrix  code-golf  sequence  binary  code-golf  game  cellular-automata  game-of-life  binary-matrix  code-golf  string  ascii-art  code-golf  random  generation  logic  code-golf  string  code-golf  code-golf  sequence  array-manipulation  random  apl  code-golf  code-golf  sequence  primes  code-golf  math  sequence  integer  code-golf  number  arithmetic  array-manipulation  decision-problem  code-golf  ascii-art  number  code-golf  restricted-source  quine  code-golf  chess  board-game  code-golf  math  sequence  code-golf  number  sequence  kolmogorov-complexity  code-golf  number  sequence  arithmetic  code-golf  math  number  alphabet  code-golf  ascii-art  classification  statistics  apl  code-golf  array-manipulation  matrix  code-golf  string  kolmogorov-complexity  code-golf  sequence  binary  base-conversion  binary-matrix  code-golf  string  classification  code-golf  tips  python  code-golf  combinatorics  binary  subsequence  restricted-time  code-golf  number  number-theory  code-golf  math  number  complex-numbers  code-golf  string  code-golf  string  code-golf  string  random  game  king-of-the-hill  python  code-golf  number  sequence  code-golf  number  sequence  code-golf  code-golf  math  number  array-manipulation  code-golf  array-manipulation  decision-problem  code-golf  string  code-golf  sequence  integer 

3
スタックベースの言語をトークン化する
私は、に取り組んできた別のと呼ばれるスタックベースのゴルフの言語Stackgoat。この課題では、Stackgoat(または実際には一般的なスタックベースの言語)のTokenizerを作成します。 例 "PPCG"23+ ["PPCG", '23', '+'] 'a "bc" + ['"a"', '"bc"', '+'] 12 34+-"abc\"de'fg\\" ['12', '34', '+', '-', '"abc\"de'fg\\"'] "foo ['"foo"'] (empty input) [] ' "" ['" "', '""'] 仕様 処理する必要がある3つのタイプは次のとおりです。 ストリングス、何も内"" 数字、数字列 演算子、空白以外の任意の単一文字 空白は、文字列内にあるか、2つの数値を区切っていない限り、本質的に無視されます。 文字列/文字仕様: 文字列はで区切られ、が検出された"場合\、次の文字をエスケープする必要があります。 '文字はa で始まり、その後の'文字は文字列リテラルに変換されます。'a->"a" ' 常にその後に文字があります 終値を自動挿入する必要があります ルール: の形式evalは許可されません 入出力: 入力は、STDIN、関数パラメーター、または同等の言語を通じて取得できます。 出力は、配列または言語に最も近いものでなければなりません。
15 code-golf  parsing  code-golf  hexagonal-grid  code-golf  string  code-golf  string  code-golf  combinatorics  code-golf  ascii-art  code-golf  string  game  counting  code-golf  arithmetic  complex-numbers  code-golf  string  code-golf  decision-problem  hexagonal-grid  code-golf  string  sequence  code-golf  number  arithmetic  code-golf  ascii-art  code-golf  ascii-art  code-golf  string  arithmetic  code-golf  number  simulation  code-golf  number  arithmetic  code-golf  string  sequence  unicode  code-golf  string  ascii-art  balanced-string  code-golf  number  clock  code-golf  ascii-art  number  code-golf  math  number  sequence  code-golf  string  ascii-art  balanced-string  code-golf  math  string  popularity-contest  graphical-output  image-processing  code-golf  string  permutations  code-golf  string  code-golf  random  code-golf  string  cryptography  palindrome  code-golf  chess  code-golf  math  array-manipulation  topology  code-golf  math  sequence  code-golf  keyboard  classification  code-golf  string  sequence  code-golf  natural-language  code-golf  math  number  sequence  sorting  code-golf  sequence  combinatorics  grid  tic-tac-toe  code-golf  geometry  code-golf  number  restricted-source  new-years  expression-building 

10
四元数の乗算
2つの四元数の四元数積を計算する名前付き関数またはプログラムを作成します。できるだけ少ないバイトを使用してください。 四元数 四元数は、複素数をさらに拡張する実数の拡張です。i四元数は、単一の虚数単位ではなくi,j,k、関係を満たす3つの虚数単位を使用します。 i*i = j*j = k*k = -1 i*j = k j*i = -k j*k = i k*j = -i k*i = j i*k = -j (Wikipediaページにもこれらの表があります。) 言い換えると、各虚数単位はに2乗し-1、2つの異なる虚数単位の積は残りの3番目の単位であり+/-、循環次数(i,j,k)が尊重されるかどうかに依存します(つまり、右手則)。したがって、乗算の順序が重要です。 一般的なクォータニオンは、実数部と3つの虚数単位の線形結合です。したがって、4つの実数で記述されます(a,b,c,d)。 x = a + b*i + c*j + d*k そのため、分配プロパティを使用して2つのクォータニオンを乗算し、正しい順序で単位を乗算するように注意し、結果で類似の用語をグループ化できます。 (a + b*i + c*j + d*k) * (e …

3
Brainfuckのビット演算子
あなたの仕事は、以下の二項演算子のそれぞれに対して1つのBrainfuckプログラムを作成することです。各プログラムは、入力から1つまたは2つの8ビット数(AおよびB)を取得し、指定された操作を計算する必要があります。 A XOR B A AND B A OR B A Shifted Left by 1 (circular shift) NOT A 5つすべてを実装する必要はありません。スコアは次の方法で計算されます。 #totalCharacters + {4000 * #problemsNotCompleted} したがって、有効なスコアはゼロ(最高)から20,000(何も完了していない)までです。 結果を保存する場所や、入力を保存するかどうかは気にしません。8ビットセル、および必要なだけの空のセルを右側にのみ想定します。 最適なメモリ位置に番号がすでにあると仮定することができるので、IO操作を心配する必要はありません。
13 code-golf  binary  brainfuck  code-golf  code-golf  ascii-art  random  code-golf  code-golf  code-challenge  sorting  code-golf  code-challenge  java  code-golf  statistics  code-golf  code-challenge  fastest-code  code-golf  math  code-golf  math  kolmogorov-complexity  code-golf  code-golf  array-manipulation  combinatorics  code-golf  kolmogorov-complexity  popularity-contest  underhanded  code-golf  math  floating-point  code-golf  interpreter  code-golf  music  code-golf  code-golf  cryptography  code-challenge  scrabble  code-golf  code-challenge  popularity-contest  quine  code-golf  quine  cryptography  code-golf  kolmogorov-complexity  code-golf  printable-ascii  code-golf  chess  code-golf  math  number-theory  code-challenge  c  code-golf  random  popularity-contest  hello-world  code-shuffleboard  code-golf  compression  grammars  code-golf  tips  code-golf  sequence  code-golf  string  code-challenge  sorting  permutations  code-golf  string  code-challenge  optimization  code-golf  interpreter  code-challenge  string  code-golf  math  number  fibonacci  string  compression  c#  code-golf  chemistry  popularity-contest  math  c  c++  java  code-golf  math  function  code-golf  complex-numbers  code-golf  geometry 

4
パウリ行列の乗算
パウリ行列が量子物理学では非常に一般的に表示される2×2行列のセットです(いや、あなたはこの挑戦のための任意の量子物理学を知っている必要はありません)。セットにアイデンティティを含める場合、4つのマトリックスは次のとおりです。 σ0 = σ1 = σ2 = σ3 = [1 0] [0 1] [0 -i] [1 0] [0 1] [1 0] [i 0] [0 -1] 乗算それは複雑な相のいずれかを乗じてもよいが、常に、別のパウリ行列を与えるこれらのうちの2つを1、i、-1、-i。たとえば、。σ1σ3 = -iσ2 あなたの仕事は、多数のパウリ行列を乗算し、結果の行列と位相を返すことです。入力は、数字の非空の文字列として指定する0の3行列を表すします。出力は、結果のマトリックスの1桁の数字を含む文字列で、オプションで前に、または位相を示します(は)。σ0σ3i--i--1 プログラムまたは関数を作成し、STDIN(または最も近い代替)、コマンドライン引数または関数引数を介して入力を取得し、STDOUT(または最も近い代替)、関数の戻り値または関数(out)パラメーターを介して結果を出力できます。 パウリ行列に関連する組み込み(またはサードパーティ)機能を使用しないでください。 これはコードゴルフで、最短の回答(バイト単位)が勝ちです。 テストケース 1 => 1 13 => -i2 000 => 0 123 => i0 03022 => 3 02132230 => …

11
四元数平方根
バックグラウンド 四元数は、複素数を拡張する数値システムです。クォータニオンの形式は次のとおりです a+bi+cj+dka+bi+cj+dk a + bi + cj + dk ここa,b,c,da,b,c,d a,b,c,d は実数で、i,j,ki,j,k i,j,k は3つの基本的な四元数単位です。ユニットには次のプロパティがあります。 i2=j2=k2=−1i2=j2=k2=−1 i^2 = j^2 = k^2 = -1 ij=k,jk=i,ki=jij=k,jk=i,ki=j ij = k, jk = i, ki = j ji=−k,kj=−i,ik=−jji=−k,kj=−i,ik=−j ji = -k, kj = -i, ik = -j 四元数の乗算は可換ではないことに注意してください。 仕事 非実数のクォータニオンが与えられた場合、その平方根の少なくとも1つを計算します。 どうやって? このMath.SEの回答によれば、非実数の四元数は次の形式で表現できます。 q=a+bu⃗ q=a+bu→ …

3
複素数でのリーマンゼータ関数の評価
前書き 私が見つかりました。この質問、それは不明であったために閉鎖された、まだそれはいいアイデアでした。これを明確な課題にするために最善を尽くします。 リーマンゼータ関数はの解析接続として定義されている特殊機能であります 複雑な平面に。それには多くの同等の公式があり、コードゴルフにとって興味深いものとなっています。 チャレンジ 入力として2つの浮動小数点数(複素数の実数部と虚数部)を取り、その点でリーマンゼータ関数を評価するプログラムを作成します。 ルール コンソール経由の入出力または関数の入力と戻り値 組み込みの複素数は許可されていません。float(number、double、...)を使用してください 以外の数学関数+ - * / pow logおよび実数値のトリガー関数はありません(統合する場合は、ガンマ関数を使用します。...この関数定義をコードに含める必要があります) 入力:2フロート 出力:2フロート コードには、任意の大/小にしたときに理論的に任意の精度を与える値が含まれている必要があります 入力1での動作は重要ではありません(これがこの関数の唯一の極です) バイト単位の最短コードが勝ちです! 入力と出力の例 入力: 2、0 出力: 1.6449340668482266、0 入力: 1、1 出力: 0.5821580597520037、-0.9268485643308071 入力: -1、0 出力: -0.08333333333333559、0

8
ユニティのプリミティブルーツ
ましょうz複素数になります。zは、特定の正の整数および任意の正の整数の場合、単一性の n番目のプリミティブルートです。n k < n チャレンジ n入力として正の整数を指定すると、ユニティのn番目のプリミティブルートをすべて出力する完全なプログラムまたは関数を記述します。それらを極形式(e^θiまたはe^iθ、引数は小数点以下2桁以上の小数でなければなりません)または長方形形式(a + biまたは同様の形式、実数部と虚数部も小数である必要があります)で出力でき、言語のリストに出力できます/ array形式、またはスペースまたは改行で区切られた数字の文字列として。ユニティのn番目のルートまたはユニティのn番目のプリミティブルートを計算するビルトインは許可されていません。 これはcode-golfなので、バイト単位の最短コードが優先されます。 サンプルの入力と出力 6 -> e^1.05i, e^-1.05i # polar form 3 -> e^2.094395i, e^-2.094395i # any number of decimal places is OK as long as there are more than 2 8 -> 0.707 + 0.707i, 0.707 - 0.707i, -0.707 + 0.707i, …

3
2x2固有システムを解く
少し線形代数の背景を持つ人にとって、課題はこれと同じくらい簡単です:与えられた複素2x2行列の固有値と固有ベクトルを決定します。I / Oの詳細などのチャレンジに進んでください。固有システムについて少し復習する必要がある場合は、先に進んでください。 バックグラウンド 特性方程式行列のAは、によって定義されます。 det| A - λI | = 0 ここで、λは複素数(スカラー)パラメーター、Iは単位行列、det | ... | ある行列が。多項式左側の評価さλは、特性多項式、2×2行列の場合には二次です。この特性方程式の解である固有値のA我々のように表すであろう、λ 1及びλ 2。 今固有ベクトルは V IのA満足を A vi = λi vi それぞれについてλ 私は、これは次の2つの未知数(のコンポーネントの2つの方程式系与えV 私は非常に簡単に解決することができます)、。システムは実際には指定不足であり、固有ベクトルの大きさは方程式によって決定されないことに気付くでしょう。通常、固有ベクトルは正規化されます。つまり、√(| x | 2 + | y | 2)= 1です。ここで、xとyはベクトル成分、| x |です。2はxに複素共役を掛けたものです。 注固有値が縮退であってもよいこと、すなわちλ 1 =λ 2。この場合、2つの線形独立な固有ベクトルを使用して、単一の連立方程式を満たすことができる場合とできない場合があります。 チャレンジ 複素数要素を含む2x2行列が与えられた場合、その2つの(おそらく同一の)固有値と、各固有値の正規化された固有ベクトルを決定します。結果の数値は、少なくとも3(10進数)有効数字まで正確でなければなりません。任意の行列要素の実数部と虚数部が[-1,1]の範囲にあると仮定できます。 STDIN、コマンドライン引数、プロンプトまたは関数引数を介して入力を取得して、関数またはプログラムを作成できます。結果をSTDOUT、ダイアログボックス、または関数の戻り値として出力できます。 入力および出力には、便利な(ただし明確な)文字列またはリスト形式を使用できます。個々の数値を表すために、フロートのペアまたは複合タイプから選択することもできます。 固有システム(Mathematica …

22
複素数の指数
負、ゼロ、または正であり、得る2つの整数、所与a及びb(任意の合理的なフォーマットで撮影普通の複素数を入力するなど)に変換するa + bi場合i虚数(負の一方の平方根)です。次に、それを3番目の(正の整数)入力変数で累乗cします。その後、のようになるはずです。その後、出力しなければならない、またはリターン、および(任意の合理的な形式でプレーンな複素数を出力含みます)。(a + bi)cd + eide 入力と出力は、任意の順序で取得または出力できます。 例: 5, 2, 2 -> 21, 20 1, 4, 2 -> -15, 8 -5, 0, 1 -> -5, 0

15
複素数のべきを計算する
ランダウン 入力xおよびyを指定して、複雑な操作を実行し、対応する結果を出力します。 プログラムのしくみ z = x + yiという形式の入力xとyが与えられると、z i-zを見つけます z i-zの絶対実数値が絶対虚部より大きい場合、実部を出力します。逆も同様です。両方の値が等しい場合は、値の1つを出力します。 例 x: 2 y: 0 したがって: z = 2 z^(i-z) ~= 0.192309 + 0.159740i 実数部は虚数部よりも絶対値​​が大きいため、プログラムは 0.192309 その他の例 z = 1+i >> 0.5 z = i >> 1 z = 0.5 >> 1.08787 z = -2+8i >> 2.22964E7 z = …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.