Eigen中的矩阵及向量运算
- Eigen中的矩阵及向量运算
- ,【+,+=,-,-=】
- ,【\*,\*=】
- ,【.transpose()】
- ,【.dot(),.cross(),.adjoint()】
- ,针对矩阵元素进行的操作【.sum(),.prod(),.mean(),minCoeff(),.maxCoeff,.trace()】,【.norm()】向量求模,矩阵范数
- 注意事项:
- , Eigen中的矩阵和向量运算不会自动适应行列数,需要在编程的时候保证参与运算的矩阵和向量行列数可以进行运算
- ,头文件<Eigen/Core> 中包含【+,-,*,/,+=,-=,*=,.transpose()…sum(),.prod(),.mean(),minCoeff(),.maxCoeff,.trace()】等运算符
- ,头文件<Eigen/Dense> 中包含【.dot(),.cross(),adjoint()】等运算符
- ,以下讨论的符号约定(假设满足运算的行列数要求)
- 矩阵:a,b
- 向量:u,v
- 常数:c
- ,【+,+=,-,-=】
- 适用于尺寸相同的矩阵之间、尺寸相同的向量之间的对应元素相加减
- ,【*,*=】
- ,用于矩阵与矩阵:尺寸合适的矩阵的一般矩阵乘法。此时,向量可以看成是矩阵
- ,用于矩阵与标量:矩阵与标量的一般乘法,矩阵每个元素与标量相乘。此时,向量可以看成是矩阵
- ,【.transpose()】
- 返回矩阵的转置。此时,向量可以看成是矩阵
- ,【.dot(),.cross(),.adjoint()】
- 只用于向量
- u.dot(v):u和v的点乘,即对应元素乘积的和,返回一个标量。与v.dot(u),u.transpose()*v,v.transpose()*u相同。
- u.cross(v):u和v的叉积,返回一个向量。与v.cross(u)相差一个负号。
- u.adjoint():返回u的共轭向量,若u为实向量,则返回结果与u相同。
- ,针对矩阵元素进行的操作【.sum(),.prod(),.mean(),minCoeff(),.maxCoeff,.trace()】
- 本部分所有操作都可对矩阵和向量进行,将向量看做矩阵即可
- a.sum(): 返回矩阵a中所有元素的和
- a.prod(): 返回矩阵a中所有元素的积
- a.mean(): 返回矩阵a中所有有元素的平均值
- a.trace(): 返回矩阵的迹,即返回主对角线上元素的和。如果不是方阵或者为向量,仍返回对角线元素的和。
- a.minCoeff(): 返回矩阵中最小的元素
- a.maxCoeff(): 返回矩阵中最大的元素
- 另外,对于.minCoeff(),.maxCoeff(),有以下用法:
- int i,j;//或std::ptrdiff_t i, j
- auto min = a.minCoeff(i,j);返回a的最小元素赋值给min,并将最小元素所在行号、列号赋值给i、j。
- auto max = a.maxCoeff(p,q);返回a的最大元素赋值给max,并将最大元素所在行号、列号赋值给q、p。
- ,【.norm()】向量求模,矩阵范数
- a.norm();//返回矩阵的Frobenius范数,即元素平方的和的平方根
- u.norm();//返回向量的模
Eigen中的矩阵及向量运算的更多相关文章
- Spark机器学习中ml和mllib中矩阵、向量
1:Spark ML与Spark MLLIB区别? Spark MLlib是面向RDD数据抽象的编程工具类库,现在已经逐渐不再被Spark团队支持,逐渐转向Spark ML库,Spark ML是面向D ...
- Eigen中的noalias(): 解决矩阵运算的混淆问题
作者:@houkai本文为作者原创,转载请注明出处:http://www.cnblogs.com/houkai/p/6349990.html 目录 混淆例子解决混淆问题混淆和component级的操作 ...
- 1.2 eigen中矩阵和向量的运算
1.2 矩阵和向量的运算 1.介绍 eigen给矩阵和向量的算术运算提供重载的c++算术运算符例如+,-,*或这一些点乘dot(),叉乘cross()等等.对于矩阵类(矩阵和向量,之后统称为矩阵 类) ...
- 快速电路仿真器(FastSPICE)中的高性能矩阵向量运算实现
今年10-11月份参加了EDA2020(第二届)集成电路EDA设计精英挑战赛,通过了初赛,并参加了总决赛,最后拿了一个三等奖,虽然成绩不是很好,但是想把自己做的分享一下,我所做的题目是概伦电子出的F题 ...
- Opencv中Mat矩阵相乘——点乘、dot、mul运算详解
Opencv中Mat矩阵相乘——点乘.dot.mul运算详解 2016年09月02日 00:00:36 -牧野- 阅读数:59593 标签: Opencv矩阵相乘点乘dotmul 更多 个人分类: O ...
- 【Unity3d游戏开发】Unity3D中的3D数学基础---向量
向量是2D.3D数学研究的标准工具,在3D游戏中向量是基础.因此掌握好向量的一些基本概念以及属性和常用运算方法就显得尤为重要.在本篇博客中,马三就来和大家一起回顾和学习一下Unity3D中那些常用的3 ...
- 有关CUBLAS中的矩阵乘法函数
关于cuBLAS库中矩阵乘法相关的函数及其输入输出进行详细讨论. ▶ 涨姿势: ● cuBLAS中能用于运算矩阵乘法的函数有4个,分别是 cublasSgemm(单精度实数).cublasDgemm( ...
- numpy教程:矩阵matrix及其运算
http://blog.csdn.net/pipisorry/article/details/48791403 numpy矩阵简介 NumPy函数库中存在两种不同的数据类型(矩阵matrix和数组ar ...
- 学习笔记DL005:线性相关、生成子空间,范数,特殊类型矩阵、向量
线性相关.生成子空间. 逆矩阵A⁽-1⁾存在,Ax=b 每个向量b恰好存在一个解.方程组,向量b某些值,可能不存在解,或者存在无限多个解.x.y是方程组的解,z=αx+(1-α),α取任意实数. A列 ...
随机推荐
- python format格式化函数用法
python format格式化函数用法 原文 Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能. 基本语法是通过 {} 和 : 来代替以前 ...
- iOS常用的数学函数
1. 三角函数 double sin (double);正弦 double cos (double);余弦 double tan (double);正切 2 .反三角函数 ...
- python常见问题解决方案
平时工作中经常需要用到这些python小技巧,顺便做个记录 import requests import time def get_pr(domain): pr = 6 time.sleep(1) h ...
- java.lang.IllegalStateException: No output folder
将正在正常运行的tomcat打包(使用tar -zcvf命令打的包),然后放到其他服务器上使用非root用户解压(使用tar -zxvf命令)配置好之后,启动tomcat后报错如下 HTTP Stat ...
- Ubuntu换阿里云源
sudo -s cd /etc/apt gedit source.list deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted u ...
- fdisk磁盘挂载
1.查看磁盘信息 fdisk –l 2.分区 fdisk /dev/vdb :h 帮助命令 :p 查看 :n 进行分区 e extended 逻辑分区 p primary partition ( ...
- RPC框架pigeon源码分析
Pigeon是一个分布式服务通信框架(RPC),是美团点评最基础的底层框架之一.已开源,链接:https://github.com/dianping/pigeon 从接下来三个方面来分析pigeon的 ...
- [易学易懂系列|golang语言|零基础|快速入门|(四)]
今天开始,我们来写代码. 学习一门语言,最快的方式就是写代码,做项目. 别的学习教程,都是hello world. 我们就来点不一样的吧.我们不一样!不一样!不一样! 首先,打开VSCODE.( 关于 ...
- 一个web应用的诞生(5)
下面把角色分为两种,普通用户和管理员用户,至少对于普通用户来说,直接修改DB是不可取的,要有用户注册的功能,下面就开始进行用户注册的开发. 用户表 首先要想好用户注册的时候需要提供什么信息:用户名.密 ...
- pushd&popd&dirs命令
dirs 显示当前目录栈中的所有记录 -p 一个目录一行显示 -l 以完整格式显示 -c 删除目录栈中的所有记录 -v 每行一个目录来显示,每个目录前加上编号 +N 从左到右的第n个 ...