問題タブ [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.
math - 有限体での乗法逆数の計算
拡張ユークリッド アルゴリズム関数を作成しました
非ゼロの有限体要素a,b ∈ GF ( p m ) の場合、sa + tb = 1となるようにsとtを計算します。体の乗法逆数を計算するために使用できる方法はありますか? つまり、a ∈ GF( p m ) が与えられたとき、 ab = 1 ∈ GF( p m ) となるようにbを計算したいと考えています。xgcd
機能も実装しました
ここ(+)
で(-)
、 、(*)
、(^)
、およびffQuotRem
は期待どおりに動作し、有限体 (体の要素の多項式表現の次数) に対するdegree
通常のユークリッド関数です。
(答えは必ずしも Haskell である必要はありません。)
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つの要素!
このタスクを解決するための効率的なアルゴリズムを作成する方法は?
私を助けてください!
z3 - Z3 SMT-LIB を使用してフロベニウス代数の定理を証明する方法
フロベニウス代数で次の定理を証明する
証明は次のコードを使用して実行されます
そして対応する出力は
このプルーフをオンラインで実行してください。
私の主張は、この例がフロベニウス代数における Z3 の最初の適用であるということです。同意しますか?
z3 - Z3はREL051+1.pに反論できる唯一のシステムですか?
関係代数の問題REL051+1.p の読み取り
対応するコードの fof で TPTP 構文を使用すると、
TPTPでわかるように、すべての ATP はそのような問題を証明できません。
この定理は、次の SMT-LIB を使用して Z3 で反駁されました。
対応する出力は
この例をここでオンラインで実行してください
私の質問は次のとおりです。Z3 に関するこの反論は正しいですか?
android - Canvas を使用して何千もの Rect を描画する
http://arapaho.nsuok.edu/~deckar01/Zvis.htmlのネイティブ Android バージョンを作成しようとしています。
そこで、必要なすべての正方形を描画するカスタム ビューを作成しました。もちろん、キャンバスが数千の正方形を描き始めるのに十分な数になると、この描画には数十秒かかります。
これを行うより良い方法はありますか?私がやろうと思っていない/使うことを考えていない明らかな何かがあるようです。
View の onDraw メソッドを以下に示します。何か案は?
z3 - Z3 を使用して 1 パラメーター グループの定理を証明する方法
Z3 を使用すると、次のことを証明できます。
1 パラメータ グループを形成します。
証明は、次の Z3 コードを使用して実行されます。
対応する出力は次のとおりです。
ここでコードをオンラインで実行してください。
その他の例: 証明する
1 パラメータ グループを形成します。
証明は、次の Z3 コードを使用して実行されます。
対応する出力は次のとおりです。
ここでこのコードをオンラインで実行してください
その他の例:それを証明するために
1 パラメータ グループを形成します。
証明はここでオンラインで与えられ、4 次元拡張はここでオンラインで与えられます。
最後のいくつかの例:
1 パラメータ グループを形成します。
証拠はここでオンラインで提供されます。
証明してください
1 パラメータ グループを形成します。
証拠はここでオンラインで提供されます。
より一般的に、
1 パラメータ グループを形成します。
証拠はここでオンラインで提供されます。
1 つの 3 次元拡張: 証明する
1 パラメータ グループを形成します。
証拠はここでオンラインで提供されます。
双曲線関数を使用した例:
1 パラメータ グループを形成します。
証拠は ここでオンラインで提供されます
私の質問は次のとおりです。
配列を使用して高次元の証明を作成することは可能ですか?
Z3 は、これらの証明を実行できる唯一のシステムであると主張します。同意しますか?
c# - この署名は何ですか { zero : α; 追加: α -> β -> α; } 名前?
Monoid および Builder インターフェースがあります。
また、Monoid から Builder への変換アルゴリズムを実装したい。私はこれをやろうとしましたが、次のようなものを作成しました:
しかし、実際のタスクでは、このアイテムのリストにアイテムを蓄積できる Builder と、同じ蓄積原理を持つ他の Builder が必要です。私のビルダーは、次のインターフェイスを実現する必要があります。
そして、{ zero, append } 署名から Builder を作成できるようにする必要があります。このような:
新しい状況のために次の BuilderMakerFor を実装しました:
1 点を除いてすべて問題ありません。X の名前の付け方がわかりません。
名前はモノイド。
とは
名前?