Python科学计算系列9—逻辑代数
1.基本定理的验证
代码如下:
from sympy import *
A, B, C = symbols('A B C')
# 重叠律
# A·A=A A+A=A
print(to_cnf(A | A))
print(to_cnf(A & A))
# 结合律
print(to_cnf(~(A | B) | C))
# 分配律
# A+B·C=(A+B)(A+C)
print(to_dnf(A & (B | C)))
# 反演律
print(to_dnf(~(A | B)))
print(to_dnf(~(A & B)))
# 还原律
print(to_cnf(~(~A)))
运行结果:

2.化简逻辑函数
代码如下:
from sympy import *
A, B, C = symbols('A B C')
# 化简逻辑函数(!A+!B+!C)(!A+!B+!C)
f1 = simplify_logic((~A & ~B & ~C) | (~A & ~B & C))
print(f1)
# 化简最小项之和为析取范式
minterms1 = [0, 7]
f2 = SOPform([A, B, C], minterms1)
print(f2)
# 化简最小项之和为合取范式
minterms2 = [[1, 0, 1], [1, 1, 0], [1, 1, 1]]
f3 = POSform([A, B, C], minterms2)
print(f3)
# 化简最小项之和为析取范式(第7项任取)
minterms3 = [[1, 0, 1], [1, 1, 0]]
dontcares = [7]
f4 = SOPform([A, B, C], minterms3, dontcares)
print(f4)
运行结果:

Python科学计算系列9—逻辑代数的更多相关文章
- Python科学计算之Pandas
Reference: http://mp.weixin.qq.com/s?src=3×tamp=1474979163&ver=1&signature=wnZn1UtW ...
- windows下安装python科学计算环境,numpy scipy scikit ,matplotlib等
安装matplotlib: pip install matplotlib 背景: 目的:要用Python下的DBSCAN聚类算法. scikit-learn 是一个基于SciPy和Numpy的开源机器 ...
- 目前比较流行的Python科学计算发行版
经常有身边的学友问到用什么Python发行版比较好? 其实目前比较流行的Python科学计算发行版,主要有这么几个: Python(x,y) GUI基于PyQt,曾经是功能最全也是最强大的,而且是Wi ...
- Python科学计算库Numpy
Python科学计算库Numpy NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库. 1.简 ...
- Python科学计算(二)windows下开发环境搭建(当用pip安装出现Unable to find vcvarsall.bat)
用于科学计算Python语言真的是amazing! 方法一:直接安装集成好的软件 刚开始使用numpy.scipy这些模块的时候,图个方便直接使用了一个叫做Enthought的软件.Enthought ...
- Python 科学计算-介绍
Python 科学计算 作者 J.R. Johansson (robert@riken.jp) http://dml.riken.jp/~rob/ 最新版本的 IPython notebook 课程文 ...
- Python科学计算库
Python科学计算库 一.numpy库和matplotlib库的学习 (1)numpy库介绍:科学计算包,支持N维数组运算.处理大型矩阵.成熟的广播函数库.矢量运算.线性代数.傅里叶变换.随机数生成 ...
- Python科学计算基础包-Numpy
一.Numpy概念 Numpy(Numerical Python的简称)是Python科学计算的基础包.它提供了以下功能: 快速高效的多维数组对象ndarray. 用于对数组执行元素级计算以及直接对数 ...
- Python科学计算PDF
Python科学计算(高清版)PDF 百度网盘 链接:https://pan.baidu.com/s/1VYs9BamMhCnu4rfN6TG5bg 提取码:2zzk 复制这段内容后打开百度网盘手机A ...
- python 科学计算及数据可视化
第一步:利用python,画散点图. 第二步:需要用到的库有numpy,matplotlib的子库matplotlib.pyplot numpy(Numerical Python extensions ...
随机推荐
- 初识MinIO
writer:zgx last modify: 2020年09月26日 目录 前言 MinIO简介 MinIO使用 MinIO安装 MinIO纠删码 纠删码ensure code是什么 refers ...
- Linux:yum
yum介绍 [yellow dog updater,modified],一个在Fedora和RedHat以及SUSE.Centos中的shell前段软件包管理器 能够自动的从指定的服务器自动下载RPM ...
- MySQL数据定义语言
原文链接:https://blog.liuzijian.com/post/83cdb010-fa97-e8ff-5b28-22da08e739e9.html 1.库操作 1.1 创建数据库 CREAT ...
- Flu PG walkthrough Intermediate
nmap ┌──(root㉿kali)-[/home/ftpuserr] └─# nmap -p- -A 192.168.192.41 Starting Nmap 7.94SVN ( https:// ...
- 认识soui4js(第1篇)
源代码:https://github.com/soui4js/soui4js soui4js是soui4+quickjs的结合体. soui4是一套c++ directui客户端开发框架,soui4j ...
- 埋点-App层丢失率
一.建表语句 create table dws_bhv_habo_measure_lostrate_mb_di( version_flag bigint comment '版本标签 2:web丢失 3 ...
- AI+逆向python 3.9+程序
使用pyinstxtractor.py将程序转换成pyc文件 下载 pyinstxtractor.py:extremecoders-re/pyinstxtractor: PyInstaller Ext ...
- 多项式算法再探:FMT 和 FWT
我们知道,FFT 和 NTT 可以用来解决下面这种问题: \[c_k=\sum_{i+j=k}a_ib_j \] 不过,这并不是卷积的全部形态,比如下面这种: \[c_k=\sum_{i*j=k}a_ ...
- 安川YASKAWA工业机器人板卡维修策略
一.安川YASKAWA工业机器人板卡识别故障症状 首先,需要准确识别电路板故障的症状.这通常包括安川YASKAWA机器人操作不稳定.错误代码频繁出现.某些功能失效或整体性能下降等.通过仔细观察和诊断, ...
- OpenCvSharp 打开rtsp视频并录制mp4文件
public class OpenCvSharpUtils { private VideoCapture Capture; private VideoWriter VideoWriter; priva ...