linear-algebra相关内容

欠定系统的非负最小二乘

请考虑以下问题: 查找: x_1,x_2,x_3>0 这样 67.5 = 60 * x_1 + 90 * x_2 + 120 * x_360 = 30 * x_1 + 120 * x_2 + 90 * x_3 有没有办法在Python中解决这个问题?也许使用 scipy.nnls()? 解决方案 使用sympy象征性地求解方程组 从sympy导入*x_1,x_2,x_3 = ..
发布时间:2021-05-29 20:52:55 Python

在Python中提高重心坐标的计算效率

背景:我正在尝试将一张脸变形为另一张形状不同的脸. 为了使一个图像变形为另一个图像,我使用了面部轮廓的delaunay三角剖分,并将一个肖像的三角形扭曲为第二个肖像的相应三角形.我正在使用重心坐标系来将三角形内的点映射到另一个三角形上其对应的变形位置. 我的第一种方法是使用逆乘法方法求解系统Ax = b,其中A由三角形的三个角组成,b表示当前点,x表示该点的重心坐标(alpha,bet ..
发布时间:2021-05-29 20:52:52 Python

行主排序对矩阵矢量乘法更有效吗?

如果 M 是一个nxm矩阵,而 v 和 u 是向量,那么就索引而言,矩阵-向量乘法看起来像 u [i] = sum(M [i,j] v_j,1 .由于 v 是向量,因此对于面向数字计算的语言,其元素可能存储在连续的存储位置中.如果 M 以行优先顺序存储(如C,Mathematica和Pascal),则总和中的后续 M [i,j] 也将存储在 j 递增连续的内存位置,从而使迭代非常有效.如果按列优先 ..

numpy/线性代数-快速16位直方图

如果我有一个由uint16s组成的图像,并且想要为每个位计算一个直方图,即包含强度值的 0..65535 的矢量'x'和一个矢量 y 是具有该值的样本数,是否有矢量化的numpy/线性algreba方法来计算? 解决方案 我使用Numpy进行了明显的处理,并且在Mac上使用图像尺寸需要300毫秒.然后我用OpenCV做同样的事情,它在9毫秒时快了33倍! #!/usr/bin/env pyt ..
发布时间:2021-05-14 19:03:13 Python

查找科赫曲线的坐标

对不起,我的语言,因为英语是我的第二语言. 我正在尝试将直线转换为称为科赫曲线的分形.给出了直线的2个点,然后我需要创建Koch曲线,在该曲线中将线划分为3个线段,然后使第二个线段成为等边三角形.参见 http://www.tgmdev.be/curvevonkoch.php . 到目前为止,我们将直线转换为4个相等的线段,我需要找出科赫曲线的所有坐标. 当2点的y坐标相同时,我 ..
发布时间:2021-05-13 19:09:02 其他开发

欧米茄在连续过度松弛率法中的意义是什么?

我有以下矩阵 我已将其转换为严格占优矩阵,并应用了Guass-Siedel和omega = 1.1的逐次超松弛率方法以及epsilon = 1e-4的容差,其收敛公式如下: 通过使用python手动解决此问题(不使用线性代数库),我发现这两种方法都具有相同的迭代次数(6),但是据我了解,矩阵是否在Gauss-Siedel和1 那么,我的理解正确吗?SOR方法是否必须减少迭代次数? ..
发布时间:2021-05-09 20:44:32 Python

本征线性代数求解器似乎很慢

我想使用本征求解器求解线性代数方程Ax = b.在我的情况下,A是一个复杂的稀疏矩阵(26410 * 26410),b是一个实向量(26410 * 1). 我在MATLAB中使用mex文件将稀疏矩阵A和向量b映射为Eigen接受的格式.我之所以使用Eigen求解器,是希望它比使用 x = A \ b 在MATLAB中直接求解更快. 但是,在尝试了LDLT,SparseLU,CG和BiC ..
发布时间:2021-05-03 20:10:03 C/C++开发

图形行与列的主要转换

这让我很困惑.为什么大多数图形API(带有HLSL和OpenGL的DirectX)通常表示位置和法向矢量为行矢量的事物?这与数学课中出现的典型形式相反.两者在数学上都是正确的,我很好奇为什么图形专家选择了这种表示形式.让我解释一下... 向量与矩阵相乘的效率: 在我看来,行向量 x 和转换矩阵'A'被乘以 x * A ,从而导致"y = x * a"存在 y [0] = x [0] ..
发布时间:2021-04-30 20:25:01 其他开发

适用于MATLAB操作的Armadillo等效项

嗨,我是犰狳的新手.我正在寻找与以下在MATLAB中执行的操作等效的Armadillo: B(B_t> = 0)= 1;B(B_t <0)=-1; 这里B和B_t是两个具有相同维度的矩阵.我可以在这里使用犰狳信号函数(sign),但随后我需要将所有零元素设置为一个.我相信这是一个简单的问题.感谢您的帮助. 还可以让我知道如何将犰狳矩阵中的非连续索引设置为特定值吗? 谢谢. ..
发布时间:2021-04-09 19:30:47 C/C++开发

在3D中找到最大数量的共线点

我承担了一项任务,即必须找到一条直线,该直线穿过给定集合(> 5000)中的最高点. 我能够通过连接两个点并检查所有其他点是否共线来解决该问题,但这是一种O(N ^ 3)算法. 我想知道是否有一种方法可以使我的程序比O(N ^ 3)更好地运行. 解决方案 您可以使用哈希在 O(n ^ 2)中进行操作. 每两对点找到由它们定义的线方程 O(n ^ 2) 将这些等式放入 ..
发布时间:2021-04-02 20:39:32 其他开发

一种快速算法,用于在二进制矩阵中精确地找到k列,以使这些列的总和为1-vector

假设我有一个(M x N)个二进制矩阵,其中M和N都可以很大.我想精确地找到k列(k相对较小,例如小于10),以使这些k列的总和为1-vector(所有元素均为1).一种解决方案是足够的.有一个快速的算法吗? 例如,在矩阵上运行的算法 1 0 01 0 01 1 00 1 1 k = 2应该返回列0和2,但是如果k = 1或k = 3则不报告任何解决方案. 我尝试了两种方法: ..
发布时间:2021-04-02 20:35:02 Python

如何在3D空间中的物体上方直接移动相机?

我正在学习ThreeJS,并试图理解一些基本概念. 假设我在3D空间中有一个摄像机,看着一些 target (在 camera.target 属性中定义).相机位于 x1,y1,z1 . 我想添加一个功能,当激活该功能时,将相机直接移动到目标上方,即它应该向下观察 XY 平面,就像相机在天空中向下直看一样 我的问题是,如何在ThreeJS中做到这一点,以及您如何在概念上/数学上考 ..
发布时间:2021-04-02 18:59:21 其他开发

您如何保持照相机平稳地移动到新位置,同时仍然看着目标?

在这个问题中,我问到人们如何将相机移动到相对于目标的不同位置.一个非常善良的绅士@ TheJim01提供了一个非常好的答案. 但是,在移动相机后,相机旋转并奇怪地定位时,我遇到了问题. 有什么策略可以保持相机旋转并保持其对目标的平稳观看? 解决方案 您可以使用任何补间库(Tween.js,GSAP)将相机平滑地从当前位置移动到球体顶部. 另外,使用 THREE.Spher ..
发布时间:2021-04-02 18:59:13 其他开发

如何在Python中将向量投影到由其正交向量定义的平面上?

我有一个平面,平面A ,由其正交矢量定义,例如(a,b,c). (即向量(a,b,c)与 A平面正交) 我希望将向量(d,e,f)投影到 A平面上. 如何在Python中完成此操作?我认为必须有一些简单的方法. 解决方案 取(d,e,f)并减去其在垂直于该平面的法线上的投影(在您的情况下)(a,b,c)).所以: v =(d,e,f)-sum((d,e,f)*.(a, ..
发布时间:2021-04-02 18:57:35 Python

Julia vs.MATLAB-距离矩阵-运行时测试

不久前,我开始学习Julia,因此我决定做一个简单的 一个简单的计算欧几里得代码的比较Julia和Matlab之间的比较 一组高维点的距离矩阵. 任务很简单,可以分为两种情况: 情况1:给定两个以n x d矩阵形式表示的数据集,例如X1和X2,计算X1中每个点与X2中所有点之间的成对欧几里德距离.如果X1的大小为n1 x d,而X2的大小为n2 x d,则所得的欧几里得距离矩阵D的大小 ..
发布时间:2021-02-14 19:11:59 其他开发

浮点精度和操作顺序

我正在为3D矢量对象及其代数(点积,叉积等)的类编写单元测试,只是观察到了我可以理解的行为,但还没有完全理解. 我要做的实际上是生成2个伪随机向量b和c,以及一个伪随机标量s,然后检查这些向量上不同运算的结果. b的组件在范围[-1, 1]中生成,而c的组件在范围[-1e6, 1e6]中生成,因为在我的用例中,我会遇到类似的情况,这可能会导致重大损失尾数中的信息s也在范围[-1, 1] ..