python 实现一个反向单位矩阵示例

反向单位矩阵

单位矩阵即对角线为 1,如下:

那么反向的单位矩阵就是反对角线为 1:

左右镜像操作

这里采用 numpy 实现。

方案 1

import numpy as np

A = np.eye(3)
print(A)
B1 = np.fliplr(A)
print(B1)

方案 2

B2 = A[:,::-1]
print(B2)

这面这两种方案就可以顺利实现反向单位矩阵的定义了。此外,我们拓展了另外两种操作。

上下镜像操作

方法 1

import numpy as np

b = [1, 2, 3]
B = np.diag(b)
print(B)
# [[1 0 0]
# [0 2 0]
# [0 0 3]]
B3 = np.rot90(B)
print(B3)
# [[0 0 3]
# [0 2 0]
# [1 0 0]]

方法 2

B4 = np.flipud(B)
print(B4)

取上三角和反对角线元素

取上三角元素

目标是:

[[1 2 3]
 [4 5 6]
 [7 8 9]]

 ==>

 [2. 3. 6.]
import numpy as np

row = 3
A = np.arange(row**2)+1
A = np.mat(A.reshape([row, row]))
# print(A)

def ReduceData(R_xx, row):
  '''
  取上三角元素
  '''
  vector = []
  for i in range(0, row):
    a = R_xx[i, i + 1:]
    vector = np.append(vector, a)

  return vector

print(ReduceData(A, row))

取反对角线元素

[[1 2 3]
 [4 5 6]
 [7 8 9]]

==>

[3 5 7]
def DiagData(R_xx, row):
  '''
  取反对角线元素
  '''
  # vector = []
  vector = np.rot90(R_xx)
  vector = np.diag(vector)

  return vector

print(DiagData(A, row))

以上这篇python 实现一个反向单位矩阵示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Python numpy.zero() 初始化矩阵实例

    那就废话不多说,直接上代码吧! new_array = np.zeros((107,4))# 共107行 每行4列 初值为0 >>> new_array = np.zeros((107,4)) >>> new_array array([[0., 0., 0., 0.], [0., 0., 0., 0.], [0., 0., 0., 0.], [0., 0., 0., 0.], [0., 0., 0., 0.], [0., 0., 0., 0.], [0., 0., 0.

  • 详解python中Numpy的属性与创建矩阵

    ndarray.ndim:维度 ndarray.shape:形状 ndarray.size:元素个数 ndarray.dtype:元素数据类型 ndarray.itemsize:字节大小 创建数组: a = np.array([2,23,4]) # list 1d print(a) # [2 23 4] 指定数据类型: a = np.array([2,23,4],dtype=np.int) print(a.dtype) # int 64 dtype可以指定的类型有int32,float,floa

  • numpy 返回函数的上三角矩阵实例

    numpy 返回函数的上三角矩阵 np.triu() matrix2=np.triu(matrix1) numpy.triu(m, k=0)[source] Upper triangle of an array. Return a copy of a matrix with the elements below the k-th diagonal zeroed. np.triu([[1,2,3],[4,5,6],[7,8,9],[10,11,12]], -1) array([[ 1, 2, 3]

  • numpy使用fromstring创建矩阵的实例

    使用字符串创建矩阵是一个很实用的功能,之前自己尝试了很多次的小功能使用这个方法就能够简单实现. 创建长度为16的字符串,是为了方便能够在各种数据类型之间转换. >>> s = "mytestfromstring" >>> len(s) 16 这个功能其实是比较让我兴奋的一个小功能,因为这个简单的转换实现了ASCII码的转换 >>> np.fromstring(s,dtype=np.int8) array([109, 121, 116

  • numpy创建单位矩阵和对角矩阵的实例

    在学习linear regression时经常处理的数据一般多是矩阵或者n维向量的数据形式,所以必须对矩阵有一定的认识基础. numpy中创建单位矩阵借助identity()函数.更为准确的说,此函数创建的是一个n*n的单位数组,返回值的dtype=array数据形式.其中接受的参数有两个,第一个是n值大小,第二个为数据类型,一般为浮点型.单位数组的概念与单位矩阵相同,主对角线元素为1,其他元素均为零,等同于单位1.而要想得到单位矩阵,只要用mat()函数将数组转换为矩阵即可. >>>

  • python+numpy实现的基本矩阵操作示例

    本文实例讲述了python+numpy实现的基本矩阵操作.分享给大家供大家参考,具体如下: #! usr/bin/env python # coding: utf-8 # 学习numpy中矩阵的代码笔记 # 2018年05月29日15:43:40 # 参考网站:http://cs231n.github.io/python-numpy-tutorial/ import numpy as np #==================矩阵的创建,增删查改,索引,运算==================

  • python 实现方阵的对角线遍历示例

    任务描述 对一个方阵矩阵,实现平行于主对角线方向的对角线元素遍历. 从矩阵索引入手: [[ 1 2 3 4 5] [ 6 7 8 9 10] [11 12 13 14 15] [16 17 18 19 20] [21 22 23 24 25]] 上三角的索引遍历: 0 0 1 1 2 2 3 3 4 4 0 1 1 2 2 3 3 4 0 2 1 3 2 4 0 3 1 4 0 4 下三角的索引遍历: 1 0 2 1 3 2 4 3 2 0 3 1 4 2 3 0 4 1 4 0 代码 impo

  • python 实现一个反向单位矩阵示例

    反向单位矩阵 单位矩阵即对角线为 1,如下: ​ 那么反向的单位矩阵就是反对角线为 1: ​ 左右镜像操作 这里采用 numpy 实现. 方案 1 import numpy as np A = np.eye(3) print(A) B1 = np.fliplr(A) print(B1) 方案 2 B2 = A[:,::-1] print(B2) 这面这两种方案就可以顺利实现反向单位矩阵的定义了.此外,我们拓展了另外两种操作. 上下镜像操作 方法 1 import numpy as np b =

  • python写一个md5解密器示例

    前言: md5解密,百度了一下发现教程不是很多也不详细. 这个图都没一张... 0x01 windows环境,kali也可以啊 burpsuite requests模块 bs4模块 0x02: 设置好代理 开启burpsuite (我这是新版的burp) 这代表设置好了. 然后开启抓包 然后,顺便输入个MD5点解密 然后我们可以在burp上看到抓取的包 丛图中我们可以看到数据是被url加密了的.我们找个网站进行url解密 解密之后 然后我们将其数据转换为字典的模式 然后创建一个测试脚本看看能不能

  • python使用numpy实现直方图反向投影示例

    最近跟着OpenCV2-Python-Tutorials在学习python_opencv中直方图的反向投影时,第一种方法是使用numpy实现将图中的红色玫瑰分割出来,教程给的代码缺了一句函数,导致实现不出来. 自己加上了后(也不知到这样加对不对)代码和效果如下: 代码: import cv2 import numpy as np roi = cv2.imread('./data/rose_red.jpg') hsv = cv2.cvtColor(roi,cv2.COLOR_BGR2HSV) #t

  • python 实现一个贴吧图片爬虫的示例

    今天没事回家写了个贴吧图片下载程序,工具用的是PyCharm,这个工具很实用,开始用的Eclipse,但是再使用类库或者其它方便并不实用,所以最后下了个专业开发python程序的工具,开发环境是Python2,因为大学时自学的是python2 第一步:就是打开cmd命令,输入pip install lxml 如图 第二步:下载一个chrome插件:专门用来将html文件转为xml用xpth技术定位 在页面按下Ctrl+Shift+X即可打开插件进行页面分析 如下图 图中的黑色方框左边填写xpth

  • Python中一个for循环循环多个变量的示例

    首先,熟悉一个函数zip,如下是使用help(zip)对zip的解释. Help on built-in function zip in module __builtin__: zip(...) zip(seq1 [, seq2 [...]]) -> [(seq1[0], seq2[0] ...), (...)] Return a list of tuples, where each tuple contains the i-th element from each of the argumen

  • python实现逆序输出一个数字的示例讲解

    问题是:输入一个数字,按照指定要求逆序输出该数字,很简单,下面是实现: #!usr/bin/env python #encoding:utf-8 ''' __Author__:沂水寒城 功能:逆序输出一个数字 如果数字是正数直接输出如:177--->771 如果数字是负数保留负号如:-945--->-549 如果数字以0结果逆序后需要去除0如:100--->1 如果数字很大会造成溢出返回0即可 ''' def inverse_num(one_num): ''' 逆序输出一个数字 '''

  • 在python里从协程返回一个值的示例

    下面的例子演法了怎么样从协程里返回一个值: import asyncio async def coroutine(): print('in coroutine') return 'result' event_loop = asyncio.get_event_loop() try: return_value = event_loop.run_until_complete( coroutine() ) print('it returned: {!r}'.format(return_value)) f

  • Python判断一个三位数是否为水仙花数的示例

    如下所示: daffodil = int(input('请输入一个三位数:')) if daffodil == pow(daffodil // 100 , 3) + pow(daffodil % 10 , 3) + pow(daffodil // 10 % 10, 3): print("这是一个水仙花数%d" % daffodil) else: print("这不是一个水仙花数%d" % daffodil) 以上这篇Python判断一个三位数是否为水仙花数的示例就是

  • python去重,一个由dict组成的list的去重示例

    背景:有一个list,里面的每一个元素都是dict,根据某一个key进行去重,在这里,key代表question #!/usr/bin/env python # -*- coding: utf-8 -*- # created by fhqplzj on 2017/12/07 上午11:38 from itertools import groupby from operator import itemgetter import pandas as pd def distinct(items): q

  • python编写一个会算账的脚本的示例代码

    python算账脚本 1.假如小明卡里有10000元去商场买东西发现钱不够又向父母借了5000账单如下 2.以下脚本就能实现上面的运算 from time import strftime import pickle import os try: def save(): data = strftime('\033[35m%Y-%m-%d\033[0m') money = int(input('How much do you have to save?:')) comment = input('Wh

随机推荐