Python用scipy生成特殊矩阵

目录
  • 循环矩阵
  • 汉克尔矩阵
  • 费德勒矩阵
  • 阿达马矩阵
  • 莱斯利矩阵
  • 希尔伯特及其逆矩阵
  • 帕斯卡及其逆矩阵

scipy.linalg中提供了一系列特殊矩阵的生成方法,包括循环矩阵、汉克尔矩阵、费德勒矩阵、阿达马矩阵、莱斯利矩阵、希尔伯特及其逆矩阵、帕斯卡及其逆矩阵等。

循环矩阵

A = circulant([1,2,3])
print(A)
'''
[[1 3 2]
 [2 1 3]
 [3 2 1]]
'''

汉克尔矩阵

汉克尔矩阵和循环矩阵十分相似,不过在向左移位的过程中,hankel(c, r=None)在末尾直接赋0。若r不为None,则通过r对末位进行赋值

print(hankel([1,2,3,4], [0,7,7,8,9]))
'''
[[1 2 3 4 7]
 [2 3 4 7 7]
 [3 4 7 7 8]
 [4 7 7 8 9]]
'''

费德勒矩阵

阿达马矩阵

阿达马矩阵的每个元素都是± 1 \pm1±1,每行都互相正交,常用于纠错码。在scipy.linalg中,hadamard(n, dtype)根据n来生成标准的n × n n\times nn×n阿达马矩阵,需要注意n nn必须为偶数,dtype为可选参数,用于指明矩阵的数据类型。

print(hadamard(4))
'''
[[ 1  1  1  1]
 [ 1 -1  1 -1]
 [ 1  1 -1 -1]
 [ 1 -1 -1  1]]
'''

莱斯利矩阵

leslie(f, s),其输入f ff和s ss两个向量,输出矩阵的形式为

print(leslie([0.1, 2.0, 1.0, 0.1], [0.2, 0.8, 0.7]))
'''
[[0.1 2.  1.  0.1]
 [0.2 0.  0.  0. ]
 [0.  0.8 0.  0. ]
 [0.  0.  0.7 0. ]]
'''

希尔伯特及其逆矩阵

print(hilbert(3))
'''
[[1.         0.5        0.33333333]
 [0.5        0.33333333 0.25      ]
 [0.33333333 0.25       0.2       ]]
'''

invhilbert(n, exact=False)可生成n × n n\times nn×n希尔伯特矩阵的逆矩阵,当exact为False时,返回np.float64类型矩阵;否则返回np.int64类型。

帕斯卡及其逆矩阵

print(pascal(4))
'''
[[ 1  1  1  1]
 [ 1  2  3  4]
 [ 1  3  6 10]
 [ 1  4 10 20]]
'''

invpascal可生成逆帕斯卡矩阵,其参数与pascal相同。

到此这篇关于Python用scipy生成特殊矩阵的文章就介绍到这了,更多相关Python scipy生成矩阵内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python稀疏矩阵scipy.sparse包使用详解

    目录 1. 前言 2. 导入包 3. 稀疏矩阵总览 4. 稀疏矩阵详细介绍 4.1 coo_matrix 4.2 dok_matrix 4.3 lil_matrix 4.4 dia_matrix 4.5 csc_matrix & csr_matrix 4.6 bsr_matrix 5. 稀疏矩阵的存取 5.1 用save_npz保存单个稀疏矩阵 6. 总结 7. 参考 1. 前言 数组和矩阵是数值计算的基础元素.目前为止,我们都是使用NumPy的ndarray数据结构来表示数组,这是一种同构的容

  • python scipy.spatial.distance 距离计算函数  

    目录 1scipy.spatial 2scipy.spatial.distance.cdist 2.1语法 2.2metric的取值 2.3常用欧氏距离计算 1 scipy.spatial from scipy import spatial 在scipy.spatial中最重要的模块应该就是距离计算模块distance了. 2 scipy.spatial.distance.cdist 2.1 语法 scipy.spatial.distance.cdist(XA, XB, metric='eucl

  • python scipy.misc.imsave()函数的用法说明

    这个函数用于储存图片,将数组保存为图像 此功能仅在安装了Python Imaging Library(PIL)时可用.版本也比较老了,新的替代它的是imageio.imwrite() 用法: imsave(*args, **kwds) 参数: name :文件名或者文件名加目录 arr:np-array的矩阵,MxN or MxNx3 or MxNx4这三种格式,分别对应灰度图像,RGB图像和RGB+alpha图像 format :str型,图像输出的类型,省略的话,图片直接输出图片的扩展名.

  • python scipy 稀疏矩阵的使用说明

    稀疏矩阵格式 coo_matrix coo_matrix 是最简单的稀疏矩阵存储方式,采用三元组(row, col, data)(或称为ijv format)的形式来存储矩阵中非零元素的信息. 在实际使用中,一般coo_matrix用来创建矩阵,因为coo_matrix无法对矩阵的元素进行增删改操作:创建成功之后可以转化成其他格式的稀疏矩阵(如csr_matrix.csc_matrix)进行转置.矩阵乘法等操作. coo_matrix可以通过四种方式实例化,除了可以通过coo_matrix(D)

  • python统计函数库scipy.stats的用法解析

    背景 总结统计工作中几个常用用法在python统计函数库scipy.stats的使用范例. 正态分布 以正态分布的常见需求为例了解scipy.stats的基本使用方法. 1.生成服从指定分布的随机数 norm.rvs通过loc和scale参数可以指定随机变量的偏移和缩放参数,这里对应的是正态分布的期望和标准差.size得到随机数数组的形状参数.(也可以使用np.random.normal(loc=0.0, scale=1.0, size=None)) In [4]: import numpy a

  • python的scipy.stats模块中正态分布常用函数总结

    python的scipy.stats模块是连续型随机变量的公共方法,可以产生随机数,通常是以正态分布作为scipy.stats的基本使用方法.本文介绍正态分布的两种常用函数:1.累积概率密度函数stats.norm.cdf(α,均值,方差):2.概率密度函数stats.norm.pdf(α,均值,方差). 1.stats.norm.cdf(α,均值,方差):累积概率密度函数 使用格式 status.norm.cdf(Norm) # 相当于已知正态分布函数曲线和x值,求函数x点左侧积分 使用实例

  • Python用scipy生成特殊矩阵

    目录 循环矩阵 汉克尔矩阵 费德勒矩阵 阿达马矩阵 莱斯利矩阵 希尔伯特及其逆矩阵 帕斯卡及其逆矩阵 scipy.linalg中提供了一系列特殊矩阵的生成方法,包括循环矩阵.汉克尔矩阵.费德勒矩阵.阿达马矩阵.莱斯利矩阵.希尔伯特及其逆矩阵.帕斯卡及其逆矩阵等. 循环矩阵 A = circulant([1,2,3]) print(A) ''' [[1 3 2] [2 1 3] [3 2 1]] ''' 汉克尔矩阵 汉克尔矩阵和循环矩阵十分相似,不过在向左移位的过程中,hankel(c, r=No

  • 如何使用Python生成Hilbert矩阵

    目录 1.什么是Hilbert矩阵矩阵 2.找规律 3.代码展示 4.输出展示 5.初始化解为1,1, (1)以生3*4的增广矩阵为例 (2)输出结果 1.什么是Hilbert矩阵矩阵 下面分别列举了1*1:2*2:3*3大小的矩阵:  通过观察,我们发现其规律性极强,那第三列举个例子: 2.找规律 1.第一种思路:先从值出发(找规律) 我们会发现沿着主对角线从上往下是递增的,但是元素的个数是先增加后减少的,这样就不好处理,这种思路无法解出题目. 2.第二种思路:先从下标索引出发(找规律) 第一

  • Python numpy生成矩阵、串联矩阵代码分享

    import numpy 生成numpy矩阵的几个相关函数: numpy.array() numpy.zeros() numpy.ones() numpy.eye() 串联生成numpy矩阵的几个相关函数: numpy.array() numpy.row_stack() numpy.column_stack() numpy.reshape() >>> import numpy >>> numpy.eye(3) array([[ 1., 0., 0.], [ 0., 1.

  • Python 读取图片文件为矩阵和保存矩阵为图片的方法

    读取图片为矩阵 import matplotlib im = matplotlib.image.imread('0_0.jpg') 保存矩阵为图片 import numpy as np import scipy x = np.random.random((600,800,3)) scipy.misc.imsave('meelo.jpg', x) 以上这篇Python 读取图片文件为矩阵和保存矩阵为图片的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们. 您可能感兴

  • python根据文本生成词云图代码实例

    这篇文章主要介绍了python根据文本生成词云图代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 效果 代码 from wordcloud import WordCloud import codecs import jieba #import jieba.analyse as analyse from scipy.misc import imread import os from os import path import matplot

  • python中scipy.stats产生随机数实例讲解

    python的numpy 能生成一定概率分布的随机数,但如果需要更具体的概率密度,累积概率,就要使用scipy.stats.scipy.stats用于统计分析,统计工具和随机过程的概率,各个随机过程的随机数生成器可以从numpy.random中找到.本文介绍python中使用scipy.stats产生随机数的原理及实例. 1.scipy.stats正态分步格式 scipy.stats #生成指定分布 scipy.stats.poisson.rvs(loc=期望, scale=标准差, size=

  • Python使用scipy.fft进行大学经典的傅立叶变换

    傅里叶变换是在高数是一个很重要的知识点,今天将结合Python代码实现傅立叶变换. 傅立叶变换 我们平时是如何去分解一个复杂的问题呢?一个经典的方法就是把这个复杂的问题分解成为多个简单的可操作的子问题, 傅立叶变换也是基于这个思想. 傅里叶分析是研究如何将数学函数分解为一系列更简单的三角函数的领域.傅里叶变换是该领域的一种工具,用于将函数分解为其分量频率. 在本教程中,傅立叶变换是一种工具,可以获取信号并查看其中每个频率的功率.看一看该傅立叶变换中的重要术语: 信号:信号是随时间变化的信息.例如

  • Python使用scipy进行曲线拟合的方法实例

    目录 导读 曲线拟合 总结 导读 曲线拟合的应用在生活中随处可见,不知道大家是否还记得物理实验中的自由落体运动中下降高度与时间关系之间的探究,在初速度为0的情况下,我们想要探究下降高度与时间的关系. 我们当时采用的方法是通过设置不同的下降时间来记录下降的高度,测量记录多组数据之后,再利用二维坐标系将记录的点绘制到坐标系当中去,然后保证绘制的曲线到这些点的距离之和最小,最终得到的曲线就是h与t的关系. 绘制出h和t的关系之后,我就可以知道任意取值t在初速度为0的情况下,下降高度h对应的值.除此之外

  • 利用Python字符画生成甜心教主

    目录 工具准备 项目效果展示 项目思路解析 1.视频拆分成视频 2.将图片转换字符画 3.合成视频 简易源码分享 字符画:字符画是一系列字符的组合,我们可以把字符看作是比较大块的像素,一个字符能表现一种颜色,字符的种类越多,可以表现的颜色也越多,图片也会更有层次感. 如果我们想要手工绘制出字符画,首先要有扎实的美术基础,其次还要花费大量的时间和精力.但是我们可以使用Python,只需要几行代码,就能够将一张图片轻而易举地转化为一个字符画. 工具准备 开发工具:pycharm 开发环境:pytho

  • 使用Python和scikit-learn创建混淆矩阵的示例详解

    目录 一.混淆矩阵概述 1.示例1 2.示例2 二.使用Scikit-learn 创建混淆矩阵 1.相应软件包 2.生成示例数据集 3.训练一个SVM 4.生成混淆矩阵 5.可视化边界 一.混淆矩阵概述 在训练了有监督的机器学习模型(例如分类器)之后,您想知道它的工作情况. 这通常是通过将一小部分称为测试集的数据分开来完成的,该数据用作模型以前从未见过的数据. 如果它在此数据集上表现良好,那么该模型很可能在其他数据上也表现良好 - 当然,如果它是从与您的测试集相同的分布中采样的. 现在,当您测试

随机推荐