Python符号矩阵初步

这篇具有很好参考价值的文章主要介绍了Python符号矩阵初步。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

创建矩阵

通过sympy.matrices可以创建矩阵

imprort sympy
from sympy.interactive.printing import init_printing
from sympy.matrices import Matrix
M = Matrix([[1,0,0], [0,0,0]])
sympy.latex(M)
sympy.latex(Matrix([M, (0, 0, -1)]))
sympy.latex(Matrix([[1, 2, 3]]))
sympy.latex(Matrix([1, 2, 3]))

效果如下

[ 1 0 0 0 0 0 ] [ 1 0 0 0 0 0 0 0 − 1 ] [ 1 2 3 ] [ 1 2 3 ] \left[\begin{matrix}1 & 0 & 0\\0 & 0 & 0\end{matrix}\right]\quad \left[\begin{matrix}1 & 0 & 0\\0 & 0 & 0\\0 & 0 & -1\end{matrix}\right]\quad\left[\begin{matrix}1 & 2 & 3\end{matrix}\right]\quad \left[\begin{matrix}1\\2\\3\end{matrix}\right] [100000] 100000001 [123] 123

符号矩阵在索引上和数值矩阵区别不大,但Matrix有一个非常霸道的创建方法,示例如下,即可根据匿名函数来确定对应元素的值。

m = Matrix(3,4, lambda i,j : i**2+j**2)
sympy.latex(m)

[ 0 1 4 9 1 2 5 10 4 5 8 13 ] \left[\begin{matrix}0 & 1 & 4 & 9\\1 & 2 & 5 & 10\\4 & 5 & 8 & 13\end{matrix}\right] 01412545891013

特殊矩阵

除了Matrix,sympy.matrices还提供了单位矩阵eye;全零矩阵zeros;全1矩阵ones,对角矩阵diag等特殊矩阵的生成方法,这些方法相对来说比较简单,故不作示范。

from sympy.matrices import eye, zeros, ones, diag

randMatrix可生成随机矩阵,其参数包括

  • r,c 行数和列数,c默认为None,此时生成KaTeX parse error: Undefined control sequence: \timesr at position 2: r\̲t̲i̲m̲e̲s̲r̲的方阵
  • min, max 随机数的最小值和最大值,默认为0和99
  • seed 随机数种子
  • symmetric 为True时返回一个对称矩阵
  • percent 默认为100,表示不为0的元素的百分比
  • prng 默认为None,为随机数生成器

示例如下

from sympy.matrices import randMatrix
m = randMatrix(3, symmetric=True, percent=50)
print(sympy.latex(m))

[ 24 37 0 37 59 42 0 42 0 ] \left[\begin{matrix}24 & 37 & 0\\37 & 59 & 42\\0 & 42 & 0\end{matrix}\right] 243703759420420

运算

Matrix重载了部分运算符,支持矩阵和矩阵之间的加减法,以及矩阵乘法和数乘,下面列举的表达式都是符合条件的,但不支持矩阵和数值之间的加减法。

m + m
m - m
m * 2
m * m.T # 注意矩阵乘法需要照顾彼此的shape
'''
Matrix([
[ 98, 112, 154],
[112, 130, 184],
[154, 184, 274]])
'''

此外,通过调用applyfunc方法,可以对矩阵的单个元素进行函数操作

y = m.applyfunc(lambda x : x**2)
print(sympy.latex(y))

[ 0 1 16 81 1 4 25 100 16 25 64 169 ] \left[\begin{matrix}0 & 1 & 16 & 81\\1 & 4 & 25 & 100\\16 & 25 & 64 & 169\end{matrix}\right] 0116142516256481100169 文章来源地址https://www.toymoban.com/news/detail-771052.html

到了这里,关于Python符号矩阵初步的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python:多分类-计算混淆矩阵confusion_matrix、precision、recall、f1-score分数

    多分类,计算混淆矩阵confusion_matrix,以及accuracy、precision、recall、f1-score分数。 1)使用sklearn计算并画出 混淆矩阵(confusion_matrix) ; 2)使用sklearn计算 accuracy(accuracy_score) ; 3)使用sklearn计算多分类的 precision、recall、f1-score分数 。以及计算每个类别的precision、recall、f1-

    2024年02月06日
    浏览(48)
  • 矩阵计算复杂度(简洁版)(Computational complexity of matrix)

    This blog mainly focuses on the complexity of matrix calculation. I will introduce this topic in three parts: main results, analysis, and proof, code. Let ,  and invertible matrix . Then we have following computational complexity : (1)  ; (2)  ; (3) ; The usual computation for integer multiplication has a complexity of . This means that there is

    2023年04月13日
    浏览(49)
  • 矩阵Matrices

    目录 矩阵的变换 向量和矩阵 房子图形的矩阵变换(wiggle动态变换) uicontrol 的‘style’类型: eye - 单位矩阵 I = eye  返回标量  1。 I = eye(n)  返回一个主对角线元素为 1 且其他位置元素为 0 的  n × n  单位矩阵。 I = eye(n,m)  返回一个主对角线元素为 1 且其他位置元素为 0 的

    2024年02月13日
    浏览(40)
  • FPGA HLS Matrix_MUL 矩阵乘法的计算与优化

    设置clock,10表示一个周期10ns,带宽100M vivado工具比较保守,计算需要的延迟是14,实际优化可以在10,设置大一点,优化的计算更多,一般约束设置大一点在30-50 选择开发板 xc7z020clg400-1 Source:描述功能模块的cpp和h代码 Test Bench:测试代码的 main.cpp matrix_mul.h #ifndef __xxxx__ #def

    2024年02月09日
    浏览(48)
  • chatgpt赋能python:Python创建5×5矩阵(Matrix)教程

    Python是一种广泛使用的高级编程语言,其具有简单易用、可读性强、支持多种编程范式等特点,已经成为数据分析、科学计算与机器学习等领域必备的编程工具之一。在Python的诸多应用场景中,创建矩阵(Matrix)是一项基础而重要的操作。在此我们将会介绍如何用Python创建一

    2024年02月07日
    浏览(39)
  • 使用Python绘制混淆矩阵Confusion Matrix、自定义样式

    使用Python绘制混淆矩阵,原创,直接使用即可,样式可以自由变换。 混淆矩阵也称误差矩阵,是表示精度评价的一种标准格式,用n行n列的矩阵形式来表示。具体评价指标有总体精度、制图精度、用户精度等,这些精度指标从不同的侧面反映了图像分类的精度。 直接上原创代

    2024年02月11日
    浏览(47)
  • 线性代数——线性方程组和矩阵(Linear and Matrices)

    1.Identify which of the following equations are linear equations: (判断哪些是线性方程) 只有(4)是,一般形式如下 特征:每一项都是一次的,也不代幂什么的 线性方程组(System of linear equations) ai,j是系数(i代表是第几个方程里,j是代表在方程里的第几个),b1是右端项,xj是未

    2023年04月08日
    浏览(43)
  • sympy 偏振光学之Jones矩阵

    假设光波沿z轴传播,那么其三个方向的电场分量可以表示为 E x = A x cos ⁡ ( ω t − k r + φ x ) E y = A t cos ⁡ ( ω t − k r + φ y ) E z = 0 begin{aligned} E_x = A_xcos(omega t-bold kbold r+varphi_x)\\\\ E_y = A_tcos(omega t-bold kbold r+varphi_y)\\\\ E_z = 0\\\\ end{aligned} E x ​ E y ​ E z ​ ​ = A x ​ cos ( ω

    2024年02月12日
    浏览(42)
  • 图像分类模型评估之用python绘制混淆矩阵confusion_matrix

    目录 训练完成后,生成混淆矩阵!!!! ImageNet数据格式,生成混淆矩阵!!!! 非 ImageNet数据格式,定义导入数据的类名和方法!!!! 非imageNet数据格式,完成生成混淆矩阵程序代码!!!! 混淆矩阵:是用于评估分类模型性能的一种常用工具,可以用于计算分类准确

    2024年02月01日
    浏览(54)
  • LeetCode in Python 48. Rotate Image/Matrix (旋转图像/矩阵)

    旋转图像/矩阵的重点是寻找旋转前后对应位置的坐标关系。 示例: 图1 旋转图像/矩阵的输入输出示意图  代码:  解释: 1)外层循环控制需要转的大圈圈数,内层循环控制每一圈需要转的小圈圈数,大小圈数的解释见图2,例如n=4,需要循环n // 2 = 2大圈,其中黄色循环箭头

    2024年04月27日
    浏览(62)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包