linear-algebra相关内容
我希望有人能指出一个有效的 4x4 仿射矩阵变换公式.目前我的代码使用辅因子扩展,它为每个辅因子分配一个临时数组.它很容易阅读,但比它应该的要慢. 请注意,这不是家庭作业,我知道如何使用 4x4 辅助因子扩展手动解决它,这对我来说只是一个痛苦而不是真正有趣的问题.此外,我已经用谷歌搜索并想出了一些已经为您提供公式的网站(http://www.euclideanspace.com/maths/
..
目前我正在使用 numpy 来完成这项工作.但是,由于我正在处理具有数千行/列的矩阵,后来这个数字将上升到数万,我想知道是否存在可以更快地执行此类计算的包? 解决方案 **如果您的矩阵是稀疏矩阵,则使用 scipy.sparse 中的构造函数实例化您的矩阵,然后使用 spicy.sparse.linalg.从性能的角度来看,这有两个优点: 你的矩阵是由spicy.sparse构造
..
如何求解一个齐次系统 Ax = 0,当 A 是任何 m * n 矩阵(不一定是平方)时R? # A=[-0.1 0.1]= 1x2 矩阵;要找到 x=2x1;0: 1x1 零矩阵A 这个问题似乎相当于找到一个Rn的核(零空间)->Rm(不能做上标;抱歉)线性变换. 解决方案 无论如何,上面特定矩阵A的解决方案对我来说就足够了. 我们可以目测它,x = (a, a),其中a是
..
我在理解在 3D 空间中旋转矢量时如何使用轴角旋转矢量时遇到了一些麻烦.为什么要使用这些以及这些与旋转矩阵有何关系? 我还发现了一个名为 vrrotvec2mat 的函数这似乎是我想要的,但我无法理解文档.具体来说,有人可以对输入参数 r 和 options 给出更清晰的解释(通过一些例子)吗? MathWorks 的解释非常有限,如下: 将旋转从轴角转换为矩阵表示 m =
..
在 MATLAB 中,您可以使用函数 jordan 计算矩阵的 Jordan 范式. NumPy 和 SciPy 中是否有等效的函数? 解决方案 MATLAB jordan 函数是来自 Symbolic Math Toolbox,因此从 SymPy 库中获取 Python 替代品似乎并非不合理.具体来说,Matrix 类具有方法 jordan_form.创建 sympy Matrix
..
我有一个形状为 MxN 的矩阵 P 和一个形状为 KxNxR 的 3d 张量 T.我想将 P 与 T 中的每个 NxR 矩阵相乘,得到 KxMxR 3d 张量. P.dot(T).transpose(1,0,2) 给出了想要的结果.这个问题有更好的解决方案(即摆脱transpose)吗?这一定是一个很常见的操作,所以我假设其他人已经找到了不同的方法,例如使用 tensordot (我尝试过但
..
我对大型稀疏矩阵的 Cholesky 分解感兴趣.我遇到的问题是 Cholesky 因子不一定是稀疏的(就像两个稀疏矩阵的乘积不一定是稀疏的一样). 例如,对于仅沿第一行、第一列和对角线具有非零值的矩阵,Cholesky 因子具有 100% 填充(下部和上部三角形为 100% 密集).在图像下方,灰色不为零,白色为零. 我知道的一个解决方案是找到一个置换 P 矩阵并进行 PTAP 的
..
如何识别矩阵中线性无关的行?例如, 第 4 行是独立的. 解决方案 首先,您的第 3 行与 1t 和第 2 行线性相关.但是,您的第 1 列和第 4 列线性相关. 您可以使用的两种方法: 特征值 如果矩阵的一个特征值为零,则其对应的特征向量线性相关.文档 eig表示返回的特征值根据它们的多重性重复并且不一定是有序的.但是,假设特征值对应于您的行向量,一种方法是:
..
如何在python中获得矩阵的逆?我自己实现了它,但它是纯 python 的,我怀疑有更快的模块可以做到这一点. 解决方案 你应该看看 numpy 如果您进行矩阵操作.这是一个主要用C编写的模块,比用纯python编程要快得多.这是一个如何求逆矩阵和进行其他矩阵操作的示例. 来自 numpy 导入矩阵从 numpy 导入 linalgA = matrix( [[1,2,3],[11,12
..
我有一个项目,我们使用 Cholesky 分解求解大型(超过 3000x3000)正定密集矩阵的逆矩阵.该项目使用 Java,我们使用的是 CERN Colt BLAS 库.分析代码表明 Cholesky 分解是瓶颈. 我决定尝试使用 OpenMP 并行化 Cholesky 分解,并将其用作 Java 中的 DLL(使用 JNA).我从 Rosetta Code 中的 C 中 Cholesk
..
我认为这可能是一道简单的数学题,但我不知道现在发生了什么. 我正在网络摄像头上捕捉“标记"的位置,我有一个标记列表及其坐标.其中四个标记是工作表面的外角,第五个(绿色)标记是小部件.像这样: 以下是一些示例数据: 左上角标记(a=98,b=86) 右上角标记(c=119,d=416) 左下角标记(e=583,f=80) 右下角标记(g=569,h=409) 小部件标记(x
..
如何用 R 求解非平方线性系统:A X = B ? (在系统无解或有无穷多个解的情况下) 示例: A=matrix(c(0,1,-2,3,5,-3,1,-2,5,-2,-1,1),3,4,T)B=矩阵(c(-17,28,11),3,1,T)一个[,1] [,2] [,3] [,4][1,] 0 1 -2 3[2,] 5 -3 1 -2[3,] 5 -2 -1 1乙[,1][1,] -
..
我想为 中的 a 系数找到最小二乘解 z = (a0 + a1*x + a2*y + a3*x**2 + a4*x**2*y + a5*x**2*y**2 + a6*y**2 +a7*x*y**2 + a8*x*y) 给定长度为 20 的数组 x、y 和 z.基本上我正在寻找等效的 numpy.polyfit 但对于二维多项式. 这个问题类似,但解决方案是通过MATLAB提供的.
..
似乎许多项目慢慢地需要做矩阵数学,并陷入首先构建一些向量类然后慢慢添加功能的陷阱,直到他们被发现构建一个半途而废的自定义线性代数库,并取决于在上面. 我想避免这种情况,同时不依赖于一些切线相关的库(例如 OpenCV、OpenSceneGraph). 什么是常用的矩阵数学/线性代数库,为什么要决定使用一个而不是另一个?是否有任何人因某种原因被建议不要使用?我专门在几何/时间上下文*(2
..
在 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
..
在论文中 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 =
..
我想学习如何在 MATLAB 中调用内置的 LAPACK/BLAS 例程.我有使用 MATLAB 和 mex 文件的经验,但实际上我不知道如何调用 LAPACK 或 BLAS 库.我在 file exchange 中找到了网关例程,它简化了调用,因为我不必为任何函数编写 mex 文件,例如 这个.我需要任何玩具示例来学习 MATLAB 和这些内置库之间的基本消息传递.欢迎使用任何玩具示例,例如矩阵
..
我的目的是找到矩阵的特征向量.在 Matlab 中,有一个 [V,D] = eig(M) 可以通过使用:[V,D] = eig(M) 来获得矩阵的特征向量.或者,我使用网站 WolframAlpha 仔细检查我的结果. 我们有一个名为 M 的 10X10 矩阵: 0.736538062307847 -0.638137874226607 -0.409041107160722 -0.22111
..
我正在尝试编写一个程序来获取任意大小的矩阵 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
..