python 矩阵分成上三角下三角和对角三个矩阵
diagonal
- Return specified diagonals.
diagflat
- Create a 2-D array with the flattened input as a diagonal.
trace
- Sum along diagonals.
triu
- Upper triangle of an array.
tril
- Lower triangle of an array.
- 先讲一个方阵的对角线下的下三角阵和对角线上的上三角阵提取出来(如果只需要上下三角阵,则去掉tril/triu中的第二个参数)
- 上代码(这里使用tril和triu都是返回array形式,还需使用mat转换回矩阵):
-
- >>> m = np.mat("1,2,3;4,5,6;7,8,9")
- >>> m
- matrix([[1, 2, 3],
- [4, 5, 6],
- [7, 8, 9]])
- >>> L = np.tril(m,-1)
- >>> L
- array([[0, 0, 0],
- [4, 0, 0],
- [7, 8, 0]])
- >>> U = np.triu(m,1)
- >>> U
- array([[0, 2, 3],
- [0, 0, 6],
- [0, 0, 0]])
而单独要提取对角线上的元素作为一个矩阵有如下两种方法:
1、运用np.diag两次,再使用mat转换回矩阵:
- >>> D = np.diag(np.diag(m))
- >>> D
- array([[1, 0, 0],
- [0, 5, 0],
- [0, 0, 9]])
- >>> D = np.mat(D)
- >>> D
- matrix([[1, 0, 0],
- [0, 5, 0],
- [0, 0, 9]])
2、运用下三角矩阵减去次下三角矩阵(即对角线下的下三角阵):
- >>> D = np.tril(m) - L
- >>> D
- array([[1, 0, 0],
- [0, 5, 0],
- [0, 0, 9]])
- >>> D = np.mat(D)
- >>> D
- matrix([[1, 0, 0],
- [0, 5, 0],
- [0, 0, 9]])
- >>> m = np.mat("1,2,3;4,5,6;7,8,9")
python 矩阵分成上三角下三角和对角三个矩阵的更多相关文章
- C++输出上三角/下三角/菱形/杨辉三角形
1.输出上三角形 第一行1个星,第二行3个星,第三行5个星,第四行7个星,第五行9个星. 分析:三角形的形状由输出的空白和星组成,通过分析每一行输出几个空格,几个星,就可完成输出三角形的工作. #in ...
- [Swust OJ 643]--行列式的计算(上三角行列式变换)
题目链接:http://acm.swust.edu.cn/problem/643/ Time limit(ms): 1000 Memory limit(kb): 65535 Description ...
- C语言之基本算法35—数组上三角之积 主对角之积 副对角之积
//数组算法 /* ============================================================= 题目:求四阶矩阵上三角之积.主对角之积,副对角之积: 如 ...
- 【剑指Offer】从上往下打印二叉树 解题报告(Python)
[剑指Offer]从上往下打印二叉树 解题报告(Python) 标签(空格分隔): 剑指Offer 题目地址:https://www.nowcoder.com/ta/coding-interviews ...
- 从上往下打印二叉树(python)
题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印. # -*- coding:utf-8 -*- # class TreeNode: # def __init__(self, x): # ...
- 22.从上往下打印二叉树(python)
题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印. class Solution: # 返回从上到下每个节点值列表,例:[1,2,3] def PrintFromTopToBottom( ...
- Python 机器学习实战 —— 监督学习(下)
前言 近年来AI人工智能成为社会发展趋势,在IT行业引起一波热潮,有关机器学习.深度学习.神经网络等文章多不胜数.从智能家居.自动驾驶.无人机.智能机器人到人造卫星.安防军备,无论是国家级军事设备还是 ...
- C算法编程题(四)上三角
前言 上一篇<C算法编程题(三)画表格> 上几篇说的都是根据要求输出一些字符.图案等,今天就再说一个“上三角”,有点类似于第二篇说的正螺旋,输出的字符少了,但是逻辑稍微复杂了点. 程序描述 ...
- 利用python打印杨辉三角
用python打印杨辉三角 介绍 杨辉三角,是初高中时候的一个数列,其核心思想就是说生成一个数列,该数列中的每一个元素,都是之前一个数列中,同样位置的元素和前一个元素的和. 正好在python中,也就 ...
随机推荐
- 图片上传JS插件梳理与学习
项目的oper端和seller端,用了两个不同插件,简单了解一下: 一.seller端:AjaxUpload.js seller端使用的是 AjaxUpload.js ,封装好的一个库.调用时传入参数 ...
- Spring 缓存注解@Cacheable 在缓存时候 ,出现了第一次进入调用 方法 ,第二次不调用的异常
代码: @Override @Cacheable(value = CACHE_NAME, key = "'CartItemkey_'+#uId") public List<S ...
- _utf8_encode _utf8_decode base64_encode base64_decode
const Base64 = { // private property _keyStr: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuv ...
- <2013 12 17> 专业技能
Specialties: • Mechanical design modeling using Pro/ENGINEER and SolidWorks.• Robot control, path pl ...
- python函数的学习笔记
这篇文章是我关于学习python函数的一些总结 一.随着函数的引入,这里首先要说的就是全局变量和局部变量了. 什么是全局变量.什么是局部变量: 全局变量就是全局都能调用的变量,一般都在文件的开头,顶头 ...
- Linux中接收键盘输入
read 选项 变量名 -p "提示信息" -t 指定等待时间,不指定则一直等待 -n 指定接收的字符数,不指定则不限制 -s 隐藏输入的数据,适用于机密 ...
- 4.5 基于STM32+MC20远程短信控制开关
需要准备的硬件 MC20开发板 1个 https://item.taobao.com/item.htm?id=562661881042 GSM/GPRS天线 1根 https://item.taoba ...
- Windows.old
如果通过执行自定义安装来安装 Windows 7,而没有在安装过程中格式化分区,则以前版本的 Windows中使用的文件存储在 Windows.old文件夹中.此文件夹中文件的类型取决于您的电脑.使用 ...
- 算法寒假实习面试经过之 滴滴(电话一面二面 offer)
一面:1h 介绍比赛项目. lr与xgb的区别? xgb 为什么不用归一化,onehot? xgb 与 gbdt的区别. 做这些比赛你们的优势在哪,既然全是相同的套路. RCNN的原理, CNN的原理 ...
- swift的值类型和引用类型
前言 最近在学设计模式中,发现 Swift 中的 struct,class 以及 enum 在一般的使用中能够做到互相替换,因此探究其背后的逻辑就十分有必要.而这一问题又引出了 Swift 中的值类型 ...