linear-algebra相关内容

高效的 4x4 矩阵逆(仿射变换)

我希望有人能指出一个有效的 4x4 仿射矩阵变换公式.目前我的代码使用辅因子扩展,它为每个辅因子分配一个临时数组.它很容易阅读,但比它应该的要慢. 请注意,这不是家庭作业,我知道如何使用 4x4 辅助因子扩展手动解决它,这对我来说只是一个痛苦而不是真正有趣的问题.此外,我已经用谷歌搜索并想出了一些已经为您提供公式的网站(http://www.euclideanspace.com/maths/ ..
发布时间:2021-12-19 08:26:26 其他开发

在python中找到特征值/向量的最快方法是什么?

目前我正在使用 numpy 来完成这项工作.但是,由于我正在处理具有数千行/列的矩阵,后来这个数字将上升到数万,我想知道是否存在可以更快地执行此类计算的包? 解决方案 **如果您的矩阵是稀疏矩阵,则使用 scipy.sparse 中的构造函数实例化您的矩阵,然后使用 spicy.sparse.linalg.从性能的角度来看,这有两个优点: 你的矩阵是由spicy.sparse构造 ..
发布时间:2021-12-19 08:25:55 Python

为 R 中的任何 m * n 矩阵 A 求解齐次系统 Ax = 0(找到 A 的零空间基)

如何求解一个齐次系统 Ax = 0,当 A 是任何 m * n 矩阵(不一定是平方)时R? # A=[-0.1 0.1]= 1x2 矩阵;要找到 x=2x1;0: 1x1 零矩阵A 这个问题似乎相当于找到一个Rn的核(零空间)->Rm(不能做上标;抱歉)线性变换. 解决方案 无论如何,上面特定矩阵A的解决方案对我来说就足够了. 我们可以目测它,x = (a, a),其中a是 ..
发布时间:2021-12-19 08:18:34 其他开发

轴角旋转向量如何工作以及它们与旋转矩阵相比如何?

我在理解在 3D 空间中旋转矢量时如何使用轴角旋转矢量时遇到了一些麻烦.为什么要使用这些以及这些与旋转矩阵有何关系? 我还发现了一个名为 vrrotvec2mat 的函数这似乎是我想要的,但我无法理解文档.具体来说,有人可以对输入参数 r 和 options 给出更清晰的解释(通过一些例子)吗? MathWorks 的解释非常有限,如下: 将旋转从轴角转换为矩阵表示 m = ..
发布时间:2021-12-19 08:15:47 其他开发

Numpy:将矩阵与 3d 张量相乘——建议

我有一个形状为 MxN 的矩阵 P 和一个形状为 KxNxR 的 3d 张量 T.我想将 P 与 T 中的每个 NxR 矩阵相乘,得到 KxMxR 3d 张量. P.dot(T).transpose(1,0,2) 给出了想要的结果.这个问题有更好的解决方案(即摆脱transpose)吗?这一定是一个很常见的操作,所以我假设其他人已经找到了不同的方法,例如使用 tensordot (我尝试过但 ..
发布时间:2021-12-19 08:13:20 Python

使用置换矩阵的稀疏矩阵的 Cholesky 分解

我对大型稀疏矩阵的 Cholesky 分解感兴趣.我遇到的问题是 Cholesky 因子不一定是稀疏的(就像两个稀疏矩阵的乘积不一定是稀疏的一样). 例如,对于仅沿第一行、第一列和对角线具有非零值的矩阵,Cholesky 因子具有 100% 填充(下部和上部三角形为 100% 密集).在图像下方,灰色不为零,白色为零. 我知道的一个解决方案是找到一个置换 P 矩阵并进行 PTAP 的 ..

如何从矩阵中找到线性无关的行

如何识别矩阵中线性无关的行?例如, 第 4 行是独立的. 解决方案 首先,您的第 3 行与 1t 和第 2 行线性相关.但是,您的第 1 列和第 4 列线性相关. 您可以使用的两种方法: 特征值 如果矩阵的一个特征值为零,则其对应的特征向量线性相关.文档 eig表示返回的特征值根据它们的多重性重复并且不一定是有序的.但是,假设特征值对应于您的行向量,一种方法是: ..
发布时间:2021-12-18 23:57:34 Python

矩阵的 Python 逆矩阵

如何在python中获得矩阵的逆?我自己实现了它,但它是纯 python 的,我怀疑有更快的模块可以做到这一点. 解决方案 你应该看看 numpy 如果您进行矩阵操作.这是一个主要用C编写的模块,比用纯python编程要快得多.这是一个如何求逆矩阵和进行其他矩阵操作的示例. 来自 numpy 导入矩阵从 numpy 导入 linalgA = matrix( [[1,2,3],[11,12 ..
发布时间:2021-12-18 23:55:44 Python

使用 OpenMP 进行 Cholesky 分解

我有一个项目,我们使用 Cholesky 分解求解大型(超过 3000x3000)正定密集矩阵的逆矩阵.该项目使用 Java,我们使用的是 CERN Colt BLAS 库.分析代码表明 Cholesky 分解是瓶颈. 我决定尝试使用 OpenMP 并行化 Cholesky 分解,并将其用作 Java 中的 DLL(使用 JNA).我从 Rosetta Code 中的 C 中 Cholesk ..
发布时间:2021-12-18 23:32:21 其他开发

将捕获的坐标转换为屏幕坐标

我认为这可能是一道简单的数学题,但我不知道现在发生了什么. 我正在网络摄像头上捕捉“标记"的位置,我有一个标记列表及其坐标.其中四个标记是工作表面的外角,第五个(绿色)标记是小部件.像这样: 以下是一些示例数据: 左上角标记(a=98,b=86) 右上角标记(c=119,d=416) 左下角标记(e=583,f=80) 右下角标记(g=569,h=409) 小部件标记(x ..
发布时间:2021-12-18 11:38:47 其他开发

最广泛使用的 C++ 向量/矩阵数学/线性代数库是什么,以及它们的成本和收益权衡?

似乎许多项目慢慢地需要做矩阵数学,并陷入首先构建一些向量类然后慢慢添加功能的陷阱,直到他们被发现构建一个半途而废的自定义线性代数库,并取决于在上面. 我想避免这种情况,同时不依赖于一些切线相关的库(例如 OpenCV、OpenSceneGraph). 什么是常用的矩阵数学/线性代数库,为什么要决定使用一个而不是另一个?是否有任何人因某种原因被建议不要使用?我专门在几何/时间上下文*(2 ..
发布时间:2021-12-17 14:53:16 C/C++开发

鸡尾酒会算法 SVD 实现......在一行代码中?

在 Coursera 的斯坦福大学的 Andrew Ng 的机器学习介绍性讲座中的幻灯片中,鉴于音频源是由两个空间分离的麦克风录制的,他针对鸡尾酒会问题给出了以下一行 Octave 解决方案: [W,s,v]=svd((repmat(sum(x.*x,1),size(x,1),1).*x)*x'); 幻灯片底部是“来源:Sam Roweis、Yair Weiss、Eero Simoncelli ..
发布时间:2021-12-14 10:05:57 AI人工智能

如何使用截断的 SVD 减少全连接(“InnerProduct")层

在论文中 Girshick, R Fast-RCNN(ICCV 2015),“3.1 Truncated SVD for fast detection"部分,作者建议使用SVD 技巧来减少全连接层的大小和计算时间. 给定一个训练模型(deploy.prototxt 和 weights.caffemodel),我如何使用这个技巧来替换一个全连接层截断的? 解决方案 一些线性代数背景 ..

如何准确计算矩阵的逆?

我正在尝试计算矩阵 P 的逆矩阵,但是如果我乘以 inv(P)*P,MATLAB 不会返回单位矩阵.这几乎是身份(10^(-12) 顺序的非对角线值).但是,在我的应用程序中,我需要更高的精度. 在这种情况下我该怎么办? 解决方案 仅当您明确需要您使用的矩阵的逆inv(),否则您只需使用反斜杠运算符 \. inv() 的文档明确指出: x = A\b 的计算方式与 x = ..
发布时间:2021-12-08 15:24:31 其他开发

调用 MATLAB 的内置 LAPACK/BLAS 例程

我想学习如何在 MATLAB 中调用内置的 LAPACK/BLAS 例程.我有使用 MATLAB 和 mex 文件的经验,但实际上我不知道如何调用 LAPACK 或 BLAS 库.我在 file exchange 中找到了网关例程,它简化了调用,因为我不必为任何函数编写 mex 文件,例如 这个.我需要任何玩具示例来学习 MATLAB 和这些内置库之间的基本消息传递.欢迎使用任何玩具示例,例如矩阵 ..
发布时间:2021-12-08 15:19:07 其他开发

MATLAB eig 有时会返回反转符号

我正在尝试编写一个程序来获取任意大小的矩阵 A,然后 SVD 对其进行分解: A = U * S * V' 其中A是用户输入的矩阵,U是A * A'的特征向量组成的正交矩阵,S是奇异值的对角矩阵,V是A' * A的特征向量的正交矩阵. 问题是:MATLAB 函数eig 有时会返回错误的特征向量. 这是我的代码: 函数 [U,S,V]=badsvd(A)W=A*A';[U,S]=e ..
发布时间:2021-12-08 15:05:57 其他开发