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

对角矩阵单位矩阵_矩阵乘单位矩阵等于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.]]
'''

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

 

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

 

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

 

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • MD5hash_郑州市解封

    MD5hash_郑州市解封[#11]torbendotegmoseatgmaildotcom[2009-03-2211:40:43]HOTPAlgorithmthatworksaccordingtotheRCFhttp://tools.ietf.org/html/draft-mraihi-oath-hmac-otp-04ThetestcasesfromtheRCFdocument…

    2025年5月30日
    0
  • 电脑开机读不到固态硬盘怎么办_电脑读不到固态硬盘怎么办

    电脑开机读不到固态硬盘怎么办_电脑读不到固态硬盘怎么办电脑重启后发现电脑检测不出固态硬盘,这种情况大家不要慌张,下面就由学习啦小编跟大家分享电脑重启后读不到固态硬盘该怎么办,欢迎大家来阅读学习。电脑重启后读不到固态硬盘怎么办方法一1、首先进入BIOS后,选择“IDEHDDAutoDetection”项目,看是否可以检测到硬盘的存在,并核对型号是否一致,如果正常排除硬件问题,如果还不能找到硬盘,那么就是您的硬盘损坏或连接不正确。2、如果在bios…

    2022年9月2日
    2
  • cefsharp播放视频_flash播放器手机版

    cefsharp播放视频_flash播放器手机版原生CefSharp组件缺少FlashPlayer,实现内置浏览器功能时,不支持播放flash。若想使用flash播放功能,我们需要在初始化CefSharp组件时,加载flash播放插件,并设置支持flash播放。Chrome浏览器内核的flash插件文件为pepflashplayer.dll,将pepflashplayer.dll文件放在程序运行目录下,加载flash插件的C#代码如下:v…

    2022年9月13日
    0
  • Prism初研究之Bootstrapper

    Prism初研究之BootstrapperPrism初研究之初始化应用Prism初研究之初始化应用BootstrapperDIShell关键抉择核心步骤创建Bootstrapper实现CreateShell方法实现InitializeShell方法创建并配置ModuleCatalog创建并配置Container核心服务(与应用无关)与应用相关的服务(StockTraderRI)在UnityBootstrapper中创建并配置…

    2022年7月20日
    13
  • 【EF】数据表全部字段更新与部分字段更新

    【EF】数据表全部字段更新与部分字段更新【EF】数据表全部字段更新与部分字段更新

    2022年4月24日
    55
  • chinese zodiac signs_icpc铜奖

    chinese zodiac signs_icpc铜奖输入23 14 3输出Impossible2 1 4 33 4 1 24 3 2 1题解 找规律+构造#include<bits/stdc++.h>using namespace std;const int N = 1001;int ch[N][N];int lowbit(int x){ return x & (-x);}int main(){ int n,k; int T; cin>>T; ..

    2022年8月9日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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