私は論理ネットの最小限の形を得るためにブーリアンの多項式を因数分解しようとしています。python sympyはブーリアンの多項式をよく考慮しません
:この(少なくとも)のように因数分解される関数にf = a1*a2*b2*nb1 + a1*b1*na2*nb2 + a1*b1*na2 + a2*b2*na1*nb1
を期待するならば私の変数が... NA3、NA2、
A3、A2、A1です...と負のカウンターパートのNA1
私は、このスクリプトを実行します。
import sympy
a1,a2,b1,b2,b3,na1,na2,na3,nb1,nb2,nb3 = \
sympy.symbols("a1:3, b1:4, na1:4, nb1:4", bool=True)
f = "a1*na2*b1 + a1*a2*nb1*b2 + a1*na2*b1*nb2 + na1*a2*nb1*b2"
sympy.init_printing(use_unicode=True)
sympy.factor(f)
を、これは私に同じ機能ではなく、因数分解を返します。
a1*a2*b2*nb1 + a1*b1*na2*nb2 + a1*b1*na2 + a2*b2*na1*nb1
私は間違っていますか?
これは役に立ちますか? http://docs.sympy.org/latest/modules/polys/wester.html#advanced-factoring-over-finite-fields –
結果をテストしましたか? – amastrobera1
いいえ、私は有限のフィールドについていくつか知っていますが、sympyは使用しません。私はちょうどそれが役に立つと思った。 –