問題タブ [abstract-algebra]

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.

0 投票する
2 に答える
4205 参照

math - 有限体での乗法逆数の計算

拡張ユークリッド アルゴリズム関数を作成しました

非ゼロの有限体要素a,bGF ( p m ) の場合、sa + tb = 1となるようにstを計算します。体の乗法逆数を計算するために使用できる方法はありますか? つまり、a ∈ GF( p m ) が与えられたとき、 ab = 1 ∈ GF( p m ) となるようにbを計算したいと考えています。xgcd


機能も実装しました

ここ(+)(-)、 、(*)(^)、およびffQuotRemは期待どおりに動作し、有限体 (体の要素の多項式表現の次数) に対するdegree通常のユークリッド関数です。

(答えは必ずしも Haskell である必要はありません。)

0 投票する
1 に答える
1203 参照

c - 効率的なアルゴリズムによって、有限集合ですべての代数連想操作を取得するにはどうすればよいですか?

2 つの要素のセットに対する 2 項演算の回数は です2^(2*2)=16ここに画像の説明を入力
その集合に対する連想バイナリ演算の
ここに画像の説明を入力
数は 8 だけです。3 つの要素の集合に対するバイナリ演算の数は 3^(3*3)=19683 です。
そのセットに対する連想二項演算の数はわずか 113 です。n 個の要素のセットにいくつの連想二項演算があるかを知る方法は?

また、この 113 の操作をすべて取得してファイルに書き込むためには、プログラムを作成する必要があります。
19683 操作すべてを取得してから、19683 操作すべての連想プロパティ "a*(b c)==(a b)*c" をチェックすると、うまくいきますが、n には時間がかかります。 =4つの要素!
このタスクを解決するための効率的なアルゴリズムを作成する方法は?
私を助けてください!

0 投票する
0 に答える
219 参照

z3 - Z3 SMT-LIB を使用してフロベニウス代数の定理を証明する方法

フロベニウス代数で次の定理を証明する

ここに画像の説明を入力

証明は次のコードを使用して実行されます

そして対応する出力は

このプルーフをオンラインで実行してください

私の主張は、この例がフロベニウス代数における Z3 の最初の適用であるということです。同意しますか?

0 投票する
0 に答える
91 参照

z3 - Z3はREL051+1.pに反論できる唯一のシステムですか?

関係代数の問題REL051+1.p の読み取り

対応するコードの fof で TPTP 構文を使用すると、

TPTPでわかるように、すべての ATP はそのような問題を証明できません。

この定理は、次の SMT-LIB を使用して Z3 で反駁されました。

対応する出力は

この例をここでオンラインで実行してください

私の質問は次のとおりです。Z3 に関するこの反論は正しいですか?

0 投票する
1 に答える
92 参照

android - Canvas を使用して何千もの Rect を描画する

http://arapaho.nsuok.edu/~deckar01/Zvis.htmlのネイティブ Android バージョンを作成しようとしています。

そこで、必要なすべての正方形を描画するカスタム ビューを作成しました。もちろん、キャンバスが数千の正方形を描き始めるのに十分な数になると、この描画には数十秒かかります。

これを行うより良い方法はありますか?私がやろうと思っていない/使うことを考えていない明らかな何かがあるようです。

View の onDraw メソッドを以下に示します。何か案は?

0 投票する
0 に答える
97 参照

z3 - Z3 を使用して 1 パラメーター グループの定理を証明する方法

Z3 を使用すると、次のことを証明できます。

ここに画像の説明を入力

1 パラメータ グループを形成します。

証明は、次の Z3 コードを使用して実行されます。

対応する出力は次のとおりです。

ここでコードをオンラインで実行してください。

その他の例: 証明する

ここに画像の説明を入力

1 パラメータ グループを形成します。

証明は、次の Z3 コードを使用して実行されます。

対応する出力は次のとおりです。

ここでこのコードをオンラインで実行してください

その他の例:それを証明するために

ここに画像の説明を入力

1 パラメータ グループを形成します。

証明はここでオンラインで与えられ、4 次元拡張はここでオンラインで与えられます。

最後のいくつかの例:

ここに画像の説明を入力

1 パラメータ グループを形成します。

証拠はここでオンラインで提供されます。

証明してください

ここに画像の説明を入力

1 パラメータ グループを形成します。

証拠はここでオンラインで提供されます。

より一般的に、

ここに画像の説明を入力

1 パラメータ グループを形成します。

証拠はここでオンラインで提供されます。

1 つの 3 次元拡張: 証明する

ここに画像の説明を入力

1 パラメータ グループを形成します。

証拠はここでオンラインで提供されます。

双曲線関数を使用した例:

ここに画像の説明を入力

1 パラメータ グループを形成します。

証拠は ここでオンラインで提供されます

私の質問は次のとおりです。

  1. 配列を使用して高次元の証明を作成することは可能ですか?

  2. Z3 は、これらの証明を実行できる唯一のシステムであると主張します。同意しますか?

0 投票する
1 に答える
87 参照

c# - この署名は何ですか { zero : α; 追加: α -> β -> α; } 名前?

Monoid および Builder インターフェースがあります。

また、Monoid から Builder への変換アルゴリズムを実装したい。私はこれをやろうとしましたが、次のようなものを作成しました:

しかし、実際のタスクでは、このアイテムのリストにアイテムを蓄積できる Builder と、同じ蓄積原理を持つ他の Builder が必要です。私のビルダーは、次のインターフェイスを実現する必要があります。

そして、{ zero, append } 署名から Builder を作成できるようにする必要があります。このような:

新しい状況のために次の BuilderMakerFor を実装しました:

1 点を除いてすべて問題ありません。X の名前の付け方がわかりません。

名前はモノイド。

とは

名前?