タグ付けされた質問 「abstract-algebra」

抽象代数は、グループ、リング、フィールド、ベクトル空間などを含む代数的構造の研究です。

2
これらの三つ編みは等しいですか?
組紐理論に慣れていない場合は、まずこれを読むことをお勧めします。この質問は、少なくとも手元の概念に精通していること、およびグループ理論に精通していることを前提としています。 私たちは定義できσ nはここで編組あるとN番目のオーバートップ交雑からストランド(インデックス付きつ)+ 1からn番目の鎖、及びσ N -の逆であるとσ Nすなわち(N + 1番目ストランドはn番目のストランドと交差します)。 編組グループB N次いでによって生成された<σ 1、σ 2、σ 3、。。。、σn -1 >。したがって、B nのすべてのブレードは、σ ブレードの積として書くことができます。1 グループの2つのブレードが等しいかどうかを判断するのは簡単な作業ではありません。そのかなり明白であってもよいσ 1 σ 3 =σ 3 σ 1は、それが少し明らかである例えばσ 2 σ 1 σ 2 =σ 1 σ 2 σ 1。2 したがって、質問は「2つのブレードが同じであるかどうかをどのように判断できますか?」です。さて、上記の2つの例はそれぞれこれを少し表しています。一般に、Artinの関係と呼ばれる以下の関係は真です。 σ I σ J =σ jを σ I ; i-j> 1 σ …

4
平方根の数
タスクは次のとおりです。正の整数xと素数を指定すると、などのn > x最小の正の整数を出力yし(y * y) mod n = xます。この質問の重要な部分は、ブルートフォースソリューションを除外する、以下で指定される制限時間です。 そのような値がない場合y、コードは出力されますN。 テストケース (2, 5, N), (3, 5, N), (4, 5, 2), (524291, 1048583, N), (529533, 1048583, N), (534775, 1048583, 436853), (540017, 1048583, 73675), (536870913, 1073741827, 375394238), (542239622, 1073741827, 267746399), (547608331, 1073741827, N), (552977040, 1073741827, 104595351), (1099511627676, 1099511627791, N), (1099511627677, 1099511627791, 269691261521), …

3
GF(5)上の既約多項式
あるフィールド Fに係数を持つ多項式は、Fに係数を持つ低次の多項式の積に分解できない場合、F上の既約と呼ばれます。 ガロア体 GF(5)上の多項式を考えます。このフィールドには、5つの要素、つまり数字0、1、2、3、および4が含まれます。 仕事 正の整数nが与えられた場合、GF(5)上の次数nの既約多項式の数を計算します。これらは、0-4の係数を持つ多項式であり、0-4の係数を持つ他の多項式に因数分解することはできません。 入力 入力は単一の整数であり、任意の標準ソース(STDINまたは関数引数など)から取得できます。出力がオーバーフローしないように、最大​​整数までの入力をサポートする必要があります。 出力 GF(5)で既約な多項式の数を出力または返します。これらの数値はかなり速く大きくなることに注意してください。 例 In : Out 1 : 5 2 : 10 3 : 40 4 : 150 5 : 624 6 : 2580 7 : 11160 8 : 48750 9 : 217000 10 : 976248 11 : 4438920 これらの番号は、OEIS のシーケンスA001692を形成することに注意してください。

2
多項式の分解
厳密に1より大きい次数の積分多項式が与えられた場合、それを厳密に1より大きい次数の積分多項式の合成に完全に分解します。 詳細 整数多項式は係数として整数のみを持つ多項式です。 2つの多項式を考えるpと、組成物は、によって定義されます。q(p∘q)(x):=p(q(x)) 分解の積分多項式のはp不可欠な多項式の有限順序付けられたシーケンスであるすべてのためにと、すべてさらに分解性ではありません。分解は必ずしも一意ではありません。q1,q2,...,qndeg qi > 11 ≤ i ≤ np(x) = q1(q2(...qn(x)...))qi たとえば、係数のリストを使用したり、入力および出力として組み込みの多項式タイプを使用したりできます。 このタスクの多くの組み込み関数は、実際には整数ではなく、特定のフィールド上の多項式を実際に分解しますが、この課題には分解整数多項式が必要です。(一部の整数多項式は、有理多項式を含む分解と同様に整数多項式への分解を許可する場合があります。) 例 x^2 + 1 [x^2 + 1] (all polynomials of degree 2 or less are not decomposable) x^6 - 6x^5 + 15x^4 - 20x^3 + 15x^2 - 6 x - 1 [x^3 - 2, …

5
スパース分度器
何らかの正の整数が与えられた場合n、マークの数が最も少ない分度器を設計します。これにより、2π/n(それぞれの測定で)の整数倍であるすべての角度を測定できます。 詳細 出力として、各マークの位置を表す0to n-1(または1to n)の範囲の整数のリストを出力できます。別の方法としては、長さの出力文字列/一覧表示することができますnと#、各マークの位置との_何もありません(アンダースコア)。(または2つの異なる文字をより便利になります。) 例:についてn = 5、あなたはすべての角度を測定することができるように、正確に3マークが必要2π/5, 4π/5, 6π/5, 8π/5, 2πで(例えば)1つのマークを設定することにより、01つのマーク、2π/5および1つのマークがで6π/5。これをリスト[0,1,3]または文字列としてエンコードできます##_#_。 例 出力は必ずしも一意ではないことに注意してください。 n: output: 1 [0] 2 [0,1] 3 [0,1] 4 [0,1,2] 5 [0,1,2] 6 [0,1,3] 7 [0,1,3] 8 [0,1,2,4] 9 [0,1,3,4] 10 [0,1,3,6] 11 [0,1,3,8] 20 [0,1,2,3,6,10] PS:これはスパースルーラーの問題に似ていますが、線形スケール(両端)の代わりに、円形(角度)スケールを考慮します。 PPS:このスクリプトは、それぞれのマークのセットの一例を計算する必要がありますn。オンラインでお試しください! PPPS:@ngnが指摘したように、この問題は次数の循環グループの最小差分ベースを見つけることと同等nです。最小注文はhttp://oeis.org/A283297にリストされており、いくつかの理論的範囲はhttps://arxiv.org/pdf/1702.02631.pdfにあります

6
有理生成関数の係数を見つける
数値のシーケンスをべき級数の係数として記述する場合、そのべき級数はそのシーケンスの(通常の)生成関数(またはGf)と呼ばれます。つまり、ある関数F(x)と一連の整数a(n)について次のようになっている場合: a(0) + a(1)x + a(2)x^2 + a(3)x^3 + a(4)x^4 + ... = F(x) 次にF(x)はの生成関数ですa。たとえば、幾何級数は次のことを示しています。 1 + x + x^2 + x^3 + x^4 + ... = 1/(1-x) したがって、の生成関数は1, 1, 1, ...です1/(1-x)。上記の式の両側を微分して乗算するxと、次の等式が得られます。 x + 2x^2 + 3x^3 + 4x^4 + ... = x/(1-x)^2 したがって、の生成関数は1, 2, 3, ...ですx/(1-x)^2。関数の生成は非常に強力なツールであり、それらを使用して多くの便利なことができます。簡単な紹介はここにありますが、本当に徹底的な説明のために、素晴らしい本生成機能があります。 この課題では、入力として有理関数(整数係数を持つ2つの多項式の商)を、最初に分子、次に分母の2つの整数係数の配列として受け取ります。たとえば、関数f(x) = x …
12 code-golf  math  integer  polynomials  code-golf  math  abstract-algebra  restricted-time  code-golf  math  primes  code-golf  math  number  arithmetic  code-golf  quine  code-golf  number  sequence  code-golf  string  number  code-golf  array-manipulation  code-golf  number  code-golf  string  code-golf  arithmetic  code-golf  string  array-manipulation  rubiks-cube  code-golf  math  number  code-golf  tips  bash  code-golf  ascii-art  music  code-golf  arithmetic  code-golf  math  number  arithmetic  integer  code-golf  number  array-manipulation  code-golf  geometry  grid  set-partitions  code-golf  math  number  code-golf  combinatorics  code-golf  regular-expression  code-golf  permutations  code-golf  ascii-art  code-golf  number  array-manipulation  matrix  code-golf  kolmogorov-complexity  compile-time  cops-and-robbers  polyglot  cops-and-robbers  polyglot  code-golf  string  code-golf  string  ascii-art  matrix  animation  code-golf  ascii-art  code-golf  string  balanced-string  code-golf  integer  integer-partitions  expression-building 

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 => …

2
これはどの有限アーベル群ですか?
説明 f(m, G)引数としてmapping m、および明確な非負整数のセット/リストを受け入れる関数を作成しますG。 mの整数のペアGをの新しい整数にマッピングする必要がありますG。(G、m)は有限のアーベル群を形成することが保証されていますが、の任意の要素はG恒等式である可能性があります。 次のような重要な定理があります。 [各有限アーベル群]は、素数次数の巡回群の直接積に同型です。 f[p1, ... pn]次のような昇順で素数のリストを返す必要があります 例 f((a, b) → (a+b) mod 4, [0, 1, 2, 3])返さなければならない[4]パラメータは、グループ記述として、Z 4。 f((a, b) → a xor b, [0, 1, 2, 3])[2, 2]パラメータはZ 2 ×Z 2に同型なグループを記述するため、返されるはずです。 f((a, b) → a, [9])[]パラメータは自明なグループを記述するため、を返す必要があります。すなわち、ゼロの巡回グループの積。 m次のように定義します。 (a, b) → (a mod 3 + b …

5
順列の構成–グループ製品
互いに素なサイクル形式で2つの順列が与えられた場合、それらの製品/組成を互いに素なサイクル形式で出力します。 構成を見つけるには、分離したサイクルを2行表記の順列に変換します。サイクルのばらばらの部分の各番号は、同じ部分でそれに続く番号にマッピングされます。包み込みます。ですから1 -> 5、5 -> 1、2 -> 4、4 -> 2。番号が見つからない場合は3 -> 3、それ自体にマップされます。最初のばらばらのサイクルも書くことができます(1 5)(2 4)(3)。これらのマッピングは、次のように2行に変換されます(PとQの順序が逆になっていることに注意してください)。 2つの順列の積は、最初の行が最初の(最も右の)順列の2番目の行と同じになるように、2番目(左端)の順列の列を再配置することによって得られます。次に、積を、変更された2番目の順列の2番目の行に対する最初の順列の最初の行として書き込むことができます。 ウィキペディアの記事 ルール: 入力はリストのリストまたは同様の形式で与えられます のように、すでに2行の形式(インデックスから値へのマッピング)をとることはできません。(1 5)(2 4)[5, 4, 3, 2, 1] すべての数値が各グループで発生する必要はないので(1 5)·(1 2)、発生する可能性があり、結果としてになり(2 5 1)ます。 出力は入力として使用できるはずです。 空のサイクルでの入力をサポートする必要はありません(1 5)·()。代わりに、(1 5)·(1)または同等のものとして与えられます。 サイクルは循環するため、結果が正しければ、順序は関係ありません。 ゼロまたは1から開始できます。結果は同じなので、問題ではありません。 数値はより大きい場合があり9ます。 同じ番号を出力に複数回含めることはできません。だから、[[1],[1]]許可されていません。 この操作は可換ではないことに注意してください!私はPの前にQを置きました。任意の順序を選択できますが、順序が異なる場合は指定してください。 最短コードの勝利 組み込みは許可されますが、組み込みを使用する場合は、それを使用せずにソリューションを表示します。 例: 同等の出力の可能性がすべて示されているわけではありません Input Output [[1, 5], [2, 4]], [[1, …

4
多項式の長除算
2つの多項式を除算し、商と剰余を取得するアルゴリズムである多項式長除算を実装します。 (12x ^ 3-5x ^ 2 + 3x-1)/(x ^ 2-5)= 12x-5 R 63x-26 プログラムでは、定数項が末尾にある配列として多項式を表現します。たとえば、x ^ 5-3x ^ 4 + 2x ^ 2-x + 1は[1、-3、0、2、-1、1]になります。 作成する長除算関数は、商と剰余の2つの値を返します。数値の不正確さと算術エラーを処理する必要はありません。数学ライブラリを使用してジョブを実行しないでください。ただし、関数でシンボリック値を処理できるようにすることができます。最短のコードが勝ちます。 例: div([12, -5, 3, -1], [1, 0, -5]) == ([12, -5], [63, -26])

2
飛行機ブローアップ
ブローアップは、代数幾何学の強力なツールです。それはそれらの構造の残りを維持しながら代数的集合から特異点を取り除くことを可能にします。 心配していなくても、実際の計算を理解するのは難しくありません(以下を参照)。 以下では、2Dの代数曲線の点の拡大を検討しています。2Dの代数曲線は、2つの変数の多項式のゼロ軌跡によって与えられます(たとえば、単位円の場合は、または放物線)。その曲線()の爆発は、以下に定義する2つの多項式によって与えられます。とはどちらも、(可能な)特異点を削除してを記述します。(0,0)(0,0)(0,0)p(x,y)=x2+y2−1p(x,y)=x2+y2−1p(x,y) = x^2 + y^2 - 1p(x,y)=y−x2p(x,y)=y−x2p(x,y) = y-x^2(0 、0 )R 、S R S P (0 、0 )(0,0)(0,0)(0,0)r,sr,sr,srrrsssppp(0,0)(0,0)(0,0) チャレンジ いくつかの多項式与えられた場合、以下に定義されているようにとを見つけます。ppprrrsss 定義 まず、私がここで言うことはすべて簡略化されており、実際の定義に完全には対応していないことに注意してください。 2つの変数の多項式が与えられた場合、爆発は2つの変数の2つの多項式によってそれぞれ与えられます。pppx,yx,yx,yr,sr,sr,s を取得するには、まず定義します。その場合、はおそらく倍数になります。つまり、は、が除算しない場合です。次に、は基本的に除算後に残るものです。rrrR(x,v):=p(x,vx)R(x,v):=p(x,vx)R(x,v) := p(x,vx)R(x,v)R(x,v)R(x,v)xxxR(x,v)=xn⋅r(x,v)R(x,v)=xn⋅r(x,v)R(x,v) = x^n \cdot r(x,v)nnnxxxr(x,v)r(x,v)r(x,v)r(x,v)r(x,v)r(x,v) 他の多項式もまったく同じように定義されていますが、変数を切り替えます。最初にます。次にように定義される一部の分割しない。S(u,y):=p(uy,y)S(u,y):=p(uy,y)S(u,y) := p(uy,y)sssS(u,y)=ym⋅s(u,y)S(u,y)=ym⋅s(u,y)S(u,y) = y^m \cdot s(u,y)mmmyyys(u,y)s(u,y)s(u,y) より明確にするために、以下を検討してください 例 のゼロ軌跡によって与えられる曲線を考えます。(その点には明確に定義された接線がないため、特異点があります。)p(x,y)=y2−(1+x)x2p(x,y)=y2−(1+x)x2p(x,y) = y^2 - (1+x) x^2(0,0)(0,0)(0,0) 次に見つけます R(x,v)=p(x,vx)=v2x2−(1+x)x2=x2(v2−1−x)R(x,v)=p(x,vx)=v2x2−(1+x)x2=x2(v2−1−x)R(x,v) = …

25
相対論的速度を計算する
特殊相対、反対方向に移動している別の物体に対して移動する物体の速度は、以下の式によって与えられます。 s=v+u1+vu/c2.s=v+u1+vu/c2.\begin{align}s = \frac{v+u}{1+vu/c^2}.\end{align} s = ( v + u ) / ( 1 + v * u / c ^ 2) この式では、vvvとuuuはオブジェクトの速度の大きさであり、cccは光速です(これは約3.0×108m/s3.0×108m/s3.0 \times 10^8 \,\mathrm m/\mathrm s、この課題に十分近い近似値)。 たとえば、あるオブジェクトがで動いていてv = 50,000 m/s、別のオブジェクトがで動いてu = 60,000 m/sいる場合、他のオブジェクトに対する各オブジェクトの速度はおよそになりますs = 110,000 m/s。これは、ガリレオ相対論(速度が単純に追加される)の下で予想されることです。ただし、v = 50,000,000 m/sおよびのu = 60,000,000 m/s場合、相対速度はおよそとなり、ガリレイ相対性理論によって予測された106,451,613 m/sものとは大幅に異なり110,000,000 m/sます。 チャレンジ 二つの整数所与vとuするように0 <= v,u …

10
弦の回転対称性
ローテーションは、「文字列を2つに分割し、その順序を逆にすることによって行われます」。オブジェクトは、その操作を適用した後でオブジェクトが変更されていない場合、操作の下で対称的です。したがって、「回転対称性」とは、「回転」後も文字列が変化しないという事実です。 sからaまでの文字のみで構成される空でない文字z列を指定すると、文字列の回転対称性の最高次数が出力されます。 テストケース: input output a 1 abcd 1 abab 2 dfdfdfdfdfdf 6 これはコードゴルフです。バイト単位の最短回答が優先されます。標準の抜け穴が適用されます。

1
負のXOR素数
約1年前、XOR素数を見つけるように求められました。これらは、基数2でXOR乗算を実行するときの唯一の因子が1である数値とそれ自体です。今は少し物事を盛り上げるつもりでした。 XOR素数をベース-2で見つけます。 Base -2への変換 ベース-2は他のすべてのベースとよく似ています。左端の場所は1の場所(1 =(-2)0)であり、その隣に-2の場所(-2 =(-2)1)があり、その隣に4の場所(4 =(-2 )2)など。大きな違いは、負の数は負の符号なしでbase -2で表すことができることです。 変換の例をいくつか示します。 Decimal | Base -2 ----------------- 6 | 11010 -7 | 1001 12 | 11100 -15 | 110001 Base -2でのXOR追加 Base -2でのXOR追加は、バイナリでのXOR追加とほとんど同じです。単に数値をBase -2に変換し、各桁のXORをXORします。(これはキャリーなしの加算と同じです) 以下は、ステップバイステップの例です。 (記号+'を使用して、Base -2 XOR加算を示します) ベース10から開始: 6 +' -19 基数-2に変換: 11010 +' 10111 持ち運びせずに追加: 11010 +' 10111 --------- …

24
Z_nのグループテーブルを生成する
グループは数学で広く使用されている構造であり、コンピュータサイエンスでの用途があります。このコードの課題は、追加グループZ nのグループテーブルを作成するための文字数が最も少ないことです。 テーブルの構成方法:Z nの場合、要素は{0、1、2、...、n-1}です。テーブルにはn行とn列があります。テーブルのij番目のエントリの場合、値はi + j mod nです。たとえば、Z 3では、1〜2番目のエントリ(開始行/列を1と数えると2行目、3列目)は(1 + 2)%3 = 0です(サンプル出力を参照)。 入力:正の整数、n 出力:上記のように構成され、サンプル出力で以下に示すように表示される、Z nのテキスト表示である表。スペースはオプションです 入力例: 3 出力例: 0 1 2 1 2 0 2 0 1 入力例: 5 出力例: 0 1 2 3 4 1 2 3 4 0 2 3 4 0 1 3 4 0 1 …

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