对角矩阵单位矩阵_矩阵乘单位矩阵等于

对角矩阵单位矩阵_矩阵乘单位矩阵等于importnumpyasnp'''创建矩阵''''''创建矩阵:2维数组'''

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

import numpy as np


'''------------------------------------创建矩阵---------------------------'''
'''
创建矩阵  : 2维数组
'''
#a = np.mat("1,2,3;4,5,6;7,8,9")
a1 = np.array([[1,2,3],[4,5,6],[7,8,9]])
#使用mat()将array形式转换为矩阵
a = np.mat(a1)
print(a)
'''
[[1 2 3]
 [4 5 6]
 [7 8 9]]
'''
print(a.__class__)
#<class 'numpy.matrix'>
print("-----\n")



'''
tril和triu都是返回array形式

'''

'''   ------------------------------- triu()上三角矩阵 -------------------------'''
'''
triu():提取矩阵上三角矩阵    (upper triangle of an array.)
triu(m, k=0)
    m:表示一个矩阵
    k:表示对角线的起始位置(k取值默认为0)
'''
#k=0表示正常的上三角矩阵
b = np.triu(a,0)
print(b)
'''
[[1 2 3]
 [0 5 6]
 [0 0 9]]
'''
print(b.__class__)
#<class 'numpy.ndarray'>
b1 = np.mat(b)
print(b1.__class__)
#<class 'numpy.matrix'>
print("-----\n")

#k=1表示对角线的位置上移1个对角线
c = np.triu(a,1)
print(c)
'''
[[0 2 3]
 [0 0 6]
 [0 0 0]]
'''
print("-----\n")

#k=-1表示对角线的位置下移1个对角线
d = np.triu(a,-1)
print(d)
'''
[[1 2 3]
 [4 5 6]
 [0 8 9]]
'''
print("-----\n")


'''   ------------------------------- tril()下三角矩阵 -------------------------'''
'''
tril():提取矩阵下三角矩阵    (lower triangle of an array.)
'''
#k=0表示正常的下三角矩阵
e = np.tril(a,0)
print(e)
'''
[[1 0 0]
 [4 5 0]
 [7 8 9]]
'''
print(e.__class__)
#<class 'numpy.ndarray'>
e1 = np.mat(e)
print(e1.__class__)
print("-----\n")

#k=1表示对角线的位置上移1个对角线
e = np.tril(a,1)
print(e)
'''
[[1 2 0]
 [4 5 6]
 [7 8 9]]
'''
print("-----\n")

#k=-1表示对角线的位置下移1个对角线
g = np.tril(a,-1)
print(g)
'''
[[0 0 0]
 [4 0 0]
 [7 8 0]]
'''
print("-----\n")



'''   -------------------------------------对角线--------------------------'''
'''
diagonals:处理对角线函数

    numpy.diag()返回一个矩阵的对角线元素
    
    numpy.diag(v,k=0)
        返回:以一维数组的形式返回方阵的对角线(或非对角线)元素

    两次使用:np.diag()
    将数组类型转化为矩阵:mat()
    
'''
print(a)
'''
[[1 2 3]
 [4 5 6]
 [7 8 9]]
'''
print(a.__class__)
#<class 'numpy.matrix'>
print("-----\n")


'''
使用一次np.diag():二维数组提取出对角线上的元素返回一维数组
'''
#k=0 正常的对角线的位置
h = np.diag(a, k=0)
print(h)
#[1 5 9]
#返回方阵的对角线元素
print(h.ndim)  #1
print(h.__class__)
#<class 'numpy.ndarray'>
#将数组转为矩阵形式
h1 = np.mat(h)
print(h1.__class__)
#<class 'numpy.matrix'>
print("-----\n")


#k=1表示对角线的位置上移1个对角线
i = np.diag(a, k=1)
print(i)
#[2 6]
print(i.__class__)
#<class 'numpy.ndarray'>
print("-----\n")


#k=-1表示对角线的位置下移1个对角线
j = np.diag(a, k=-1)
print(j)
#[4 8]
print("-----\n")


'''
使用两次np.diag() 获得二维矩阵的对角矩阵
    先将主对角线的元素提取出来,形成一维数组
    再将一维数组中的每个元素作为主对角线上面的元素形成二维数组
'''
#np.diag(a):[1 5 9]
k = np.diag(np.diag(a))
print(k)
'''
[[1 0 0]
 [0 5 0]
 [0 0 9]]
'''
#除对角线以外的元素均为零
print(k.ndim)  #2
print("-----\n")


'''
    一维数组
'''
#一维数组将数组中的每个元素作为对角线上元素形成二维数组;
l = np.array([1,2,3,4])
l1 = np.diag(l)
print(l1)
'''
[[1 0 0 0]
 [0 2 0 0]
 [0 0 3 0]
 [0 0 0 4]]
'''
print("-----\n")

l2 = np.diag(l1)
print(l2)
#[1 2 3 4]
print("-----\n")


m1 = np.tril(a, k=0)
print(m1)
'''
[[1 0 0]
 [4 5 0]
 [7 8 9]]
'''
print("-----\n")

m2 = np.tril(a, k=1)
print(m2)
'''
[[1 2 0]
 [4 5 6]
 [7 8 9]]
'''
print("-----\n")

m3 = np.tril(a, k=-1)
print(m3)
'''
[[0 0 0]
 [4 0 0]
 [7 8 0]]
'''
print("-----\n")

m4 = m1-m2
print(m4)
'''
[[ 0 -2  0]
 [ 0  0 -6]
 [ 0  0  0]]
'''
print("-----\n")

'''
正常的下三角减去下三角
'''
m = m1 - m3
print(m)
'''
[[1 0 0]
 [0 5 0]
 [0 0 9]]
'''
print("-----\n")



'''--------------------------------------单位矩阵----------------------------'''
'''
创建单位矩阵借助identity()函数
    n*n的单位数组
    返回数组类型
'''
help(np.identity)
'''
identity(n, dtype=None)
    接受的参数有两个:第一个是n值大小,第二个为数据类型(默认float)
    out : ndarray
        `n` x `n` array with its main diagonal set to one,
        and all other elements 0.
        主对角线元素为1,其他元素均为零
'''
print("-----\n")

n = np.identity(3)
print(n)
'''
[[1. 0. 0.]
 [0. 1. 0.]
 [0. 0. 1.]]
'''

对角矩阵单位矩阵_矩阵乘单位矩阵等于

 

 对角矩阵单位矩阵_矩阵乘单位矩阵等于

 

 对角矩阵单位矩阵_矩阵乘单位矩阵等于

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/166559.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 面向新手的Web服务器搭建(一)——IIS的搭建[通俗易懂]

    面向新手的Web服务器搭建(一)——IIS的搭建[通俗易懂]很多童鞋说自己是做移动开发的,想挂个简单的WebAPI,可是服务器又不会搭,这样一来测试就成了问题。看看网上的教程,发现略难懂,而且大多是一个转一个,没价值,所以干脆写几篇文章讲讲简单的Web服务器怎么搭,让不太涉及Web的童鞋快速上手。

  • seekg前记得手动清除EOF标志位[通俗易懂]

    seekg前记得手动清除EOF标志位[通俗易懂]问题因为具体任务,需要一个文件读取两遍。之前在第一次读取完毕后(此时EOF已经置位),直接调用is.seekg(0,is.beg);然后下次读取时直接退出了,即EOF标志位并没有被清除。查看C++标准库说明:C++98Iftheeofbitflagissetbeforethecall,thefunctionfails(setsfailbitandreturns).

  • android获取屏幕像素密度DPI,与density

    android获取屏幕像素密度DPI,与density基本概念:dip:Densityindependentpixels,设备无关像素。dp:就是dipdpi:dotsperinch,直接来说就是一英寸多少个像素点。常见取值120,160,240。我一般称作像素密度,简称密度density:直接翻译的话貌似叫密度。常见取值1.5,1.0。和标准dpi的比例(160px

  • python面试题目及答案(数据库常见面试题及答案)

    Python是目前编程领域最受欢迎的语言。在本文中,我将总结Python面试中最常见的50个问题。每道题都提供参考答案,希望能够帮助你在2019年求职面试中脱颖而出,找到一份高薪工作。这些面试题涉及Python基础知识、Python编程、数据分析以及Python函数库等多个方面。Q1、Python中的列表和元组有什么区别?Q2、Python的主要功能是什么?Python是一种解释型…

  • 廖雪峰git学习资料-涂改笔记

    廖雪峰git学习资料-涂改笔记注意:本文章是看廖雪峰官网资料整理而来原地址如下:http://www.liaoxuefeng.com/附件为git常用命令 前言:注意的问题如果是首次提交会第一步:先在本地建立一个一样的仓库,称本地仓库。 第二步:在本地进行commit操作将把更新提交到本地仓库; 第三步:将服务器端的更新pull到本地仓库进行合并,最后将合并好的本地仓库push到服务…

  • SSD网络原理解析[通俗易懂]

    SSD网络原理解析[通俗易懂]SSD网络是继YOLO之后的one-stage目标检测网络,是为了改善YOLO网络设置的anchor设计的太过于粗糙而提出的,其设计思想主要是多尺度多长宽比的密集锚点设计和特征金字塔,下面我将详细的解析SSD网络结构SSD网络结构精简版详细版通过上面这个图,大家可以清楚的看到SSD的网络结构主要分为以下几个部分:VGG16BaseLayer ExtraFeatureLayer DetectionLayer NMS补充说明:在整个SSD网络中,其…

    2022年10月23日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号