当前位置: 首页 > news >正文

html5网站开发软件图片转链接生成器网站

html5网站开发软件,图片转链接生成器网站,王占山先进事迹,上海网站开发培训稀疏矩阵的定义#xff1a;具有少量非零项的矩阵(在矩阵中#xff0c;若数值0的元素数目远多于非0元素的数目#xff0c;并且非0元素分布没有规律时#xff0c;)则称该矩阵为稀疏矩阵#xff1b;相反#xff0c;为稠密矩阵。非零元素的总数比上矩阵所有元素的总数为矩阵的…稀疏矩阵的定义具有少量非零项的矩阵(在矩阵中若数值0的元素数目远多于非0元素的数目并且非0元素分布没有规律时)则称该矩阵为稀疏矩阵相反为稠密矩阵。非零元素的总数比上矩阵所有元素的总数为矩阵的稠密度。稀疏矩阵的两个动机稀疏矩阵通常具有很大的维度有时甚大到整个矩阵(零元素)与可用内存不想适应另一个动机是避免零矩阵元素的运算具有更好的性能。稀疏矩阵的格式存储矩阵的一般方法是采用二维数组其优点是可以随机地访问每一个元素因而能够容易实现矩阵的各种运算。对于稀疏矩阵采用二维数组的存储方法既浪费大量的存储单元来存放零元素又要在运算中浪费大量的时间来进行零元素的无效运算。因此必须考虑对稀疏矩阵进行压缩存储(只存储非零元素)。Scipy.sparse模块提供了许多来自于稀疏矩阵的不同存储格式。这里仅描述最为重要的格式CSR、CSC和LIL。CSR、CSC是用于矩阵-矩阵和矩阵-向量运算的有效格式LIL格式用于生成和更改稀疏矩阵。Python不能自动创建稀疏矩阵所以要用scipy中特殊的命令来得到稀疏矩阵。(1) 压缩稀疏行(CSRCompressed Sparse Row)或csr_matrix  按行对矩阵进行压缩的。CSR使用了三个数组分别为数值、行偏移(表示某一行的第一个元素在数值里面的起始偏移位置在行偏移的最后补上矩阵总的元素个数)、列号。CSR是一种编码的方式一维数组data(数值):有序地存储了所有的非零值它具有与非零元素同样多数量的元素通常由变量nnz表示。一维数组indptr(行偏移量)包含了证书使得indptr[i]是data中元素的索引它是行i中的第一个非零元素。如果整个行i为零则indptr[i]indptr[i1]如初始矩阵有m行则len(indptr)m1一维数组Indices(列号:):其使用如下方式包含列索引信息:indices[indptr[i]:indptr[i1]]是一个具有行i中非零元素的列索引的整数数组。Len(indice)len(data)nnz备注列索引表示数值所在的列号从0开始。数组data包含矩阵中的非零元素以行优先的形式保存。行偏移CSR中行索引被压缩没有行索引这里用行偏移表示行索引。实例如上图所示data(1,7,2,8,5,3,9,6,4)Indices(0,1,1,2,0,2,3,1,3)    #列索引Indptr(0,2,4,7,9)  #行偏移(表示某一行的第一个元素在数值里面的起始偏移位置在行偏移的最后补上矩阵总的元素个数)在Python中使用import numpy as npfrom scipy.sparse import csr_matrixindptr np.array([0, 2, 3, 6])indices np.array([0, 2, 2, 0, 1, 2])data np.array([1, 2, 3, 4, 5, 6])Acsr_matrix((data, indices, indptr), shape(3, 3)).toarray()#生成CSR格式的矩阵print(A)    #运行结果[[1 0 2][0 0 3][4 5 6]]解析第i行的列索引存储在indices[indptr[i]:indptr[i1]]中,对应的值为data[indptr[i]:indptr[i1]]。即例如第0行的列索引为indices[0:2][0,2](第i行中非零元素的列索引组成的整数数组),值为data[0:2][1,2];第1行的列索引为indices[2:3][2],值为data[2:3][3]…(2) 稀疏列矩阵CSC(Compressed Sparse Column),用于CSC格式的类型为csc_matrix按列对矩阵进行压缩的。与CSR格式相比唯一的不同点是indptr和indices数组的定义该定义与列有关。CSC格式的实例import numpy as npimport scipy.sparse as spAnp.array([[1,0,2,0],[0,0,0,0],[3,0,0,0],[1,0,0,4]])ASsp.csc_matrix(A)Print(AS)print(AS.data)print(AS.indptr)print(AS.indices)print(AS.nnz)    #运行结果[1 3 1 2 4][0 3 3 4 5]     #注意此处同一矩阵CSR格式的indptr为[0 2 2 3 5][0 2 3 0 3]5(3) 基于行的链表格式LIL(Row-Based Linked List Format)1. 链表稀疏格式在列表数据中以行方式存储非零元素列表data: data[k]是行k中的非零元素的列表。如果该行中的所有元素都为0则它包含一个空列表。列表rows: 是在位置k包含了在行k中的非零元素列索引列表。LIL格式的同一示例import numpy as npimport scipy.sparse as spAnp.array([[1,0,2,0],[0,0,0,0],[3,0,0,0],[1,0,0,4]])ASsp.lil_matrix(A)print(AS.data)print(AS.rows)print(AS.nnz)  #运行结果[list([1, 2]) list([]) list([3]) list([1, 4])][list([0, 2]) list([]) list([0]) list([0, 3])]52. 用LIL格式更改和切割矩阵LIL格式最适合切片的方法即以LIL格式提取子矩阵并通过插入非零元素来改变稀疏模式。例如提取import numpy as npimport scipy.sparse as spAnp.array([[1,0,2,0],[0,0,0,0],[3,0,0,0],[1,0,0,4]])ASsp.lil_matrix(A)print(AS)BSAS[0:2,0:3]      #切片提取01行012列组成的子矩阵print(BS)print(BS.data)print(BS.rows)#运行结果(0, 0)        1(0, 2)        2[list([1, 2]) list([])][list([0, 2]) list([])]更改插入新的非零元素会自动更新属性AS[0,1]17print(AS.data)print(AS.rows)print(AS.nnz)#结果[list([1, 17, 2]) list([]) list([3]) list([1, 4])][list([0, 1, 2]) list([]) list([0]) list([0, 3])]6生成稀疏矩阵Numpy包的命令eye、identity、diag和rand都有其对应的稀疏矩阵这些命令需要额外的参数来指定所得矩阵的稀疏矩阵格式。import numpy as npimport scipy.sparse as spprint(sp.eye(20,20,format lil))print(sp.spdiags(np.ones((20,)),0,20,20,format csr))print(sp.identity(20,format  csc))print(sp.rand(20,200,density0.1,formatcsr))    #sp.rand命令需要额外的参数来描述生成随机矩阵的密度。稀疏矩阵方法将稀疏矩阵类型转换为另一种类型和数据或数组的方法AS.toarray  #转换稀疏矩阵类型为数组AS.tocsrAS.tocscAS.tolil#通过issparse、isspmatrix_lil、isspmatrix_csc、isspmatrix_csr等方法检查稀疏矩阵的类型。import numpy as npimport scipy.sparse as spAnp.array([[1,0,2,0],[0,0,0,0],[3,0,0,0],[1,0,0,4]])def sparse_sin(A):if not (sp.isspmatrix_csr(A) or sp.isspmatrix_csc(A)):AA.tocsr()A.datasin(A.data)return(A)Bsparse_sin(A)print(B)#稀疏矩阵方法的dot用于矩阵-矩阵或者矩阵-向量乘法运算返回csr_matrix或Numpy array例如import numpy as npimport scipy.sparse as spAnp.array([[1,0,2,0],[0,0,0,0],[3,0,0,0],[1,0,0,4]])ASsp.csr_matrix(A)bnp.array([1,2,3,4])cAS.dot(b)     #结果为[ 7  0 3  17]print(c)cAS.dot(AS)        #结果仍为稀疏矩阵print(c)dnp.dot(AS,b)print(d)     #不能返回期望的结果
http://www.pierceye.com/news/619346/

相关文章:

  • 万虹点读机如何做系统下载网站网站seo的重要性
  • 同一家公司可以做几个网站吗铁岭网站开发公司
  • 网站推广费用大概需要多少钱个人二级网站怎么做
  • 查询企业的网站有哪些山东平台网站建设找哪家
  • 如何推广外贸型网站wordpress本地环境迁移
  • 网站建设国内外现状网站建设公司 网络服务
  • 百度网站首页福田时代汽车官方网站
  • 网站建设智推网深圳进出口贸易有限公司
  • 网站开发语言pwordpress v4.9.5
  • 东莞建站模板源码东莞注塑切水口东莞网站建设
  • 做文案策划需要看什么网站服装网站开发目的
  • 湖北定制型网站建设微信公众平台网页版
  • 需要做网站的公司有哪些免费网页模板之家
  • 淘客网站怎么备案合肥在线官网
  • 马上飞做的一些网站免费自助建站系统有哪些
  • 建网站投放广告赚钱wordpress全屏弹窗插件
  • 电子商务公司网站模版通辽网站建设公司
  • 国外社交网站建设苏州seo门户网
  • 小程序建站公司唐山网页搜索排名提升
  • 网站后台模板北京网络营销方案
  • 网站如何不被百度搜到浙江网站怎么做推广
  • 网站建设主机类型怎么选diy电子商城网站
  • 中文域名 怎么做网站门户网站建站系统
  • 网站上的个人词条怎么做的做网站推广有用吗
  • 定兴县住房和城乡建设局网站河南省新闻奖
  • 江西省建设工程协会网站查询郑州网站建设一汉狮网络
  • 网站是否含有seo收录功能素材下载平台网站源码
  • 西宁个人网站建设不错的网站建设
  • 海南综合网站两学一做电视夜校做网店网站
  • wordpress分类页面空白网站建设优化哪家好