问题标签 [linear-algebra]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 旋转和缩放——如何兼顾两者并获得正确的结果?
我有一组在图形上下文中绘制矢量的 Java2D 调用。我希望图像的大小翻倍,然后旋转 90 度。
我正在使用以下代码来执行此操作:
这会旋转和缩放,但是,比例并没有按照我想要的方式应用。就好像它在缩放之前旋转,从而使图像在错误的轴上变宽。
有一个更好的方法吗?
c++ - 为什么这个 Blitz++ 代码不能编译?
我是闪电战++新手。到目前为止,一切都很好,但我有点困惑为什么下面代码中的注释行无法编译
我在 Debian/Lenny (g++ 4.3.2, Blitz 0.9)。这是代码:
我确实喜欢被约束,所以很高兴知道是否有办法让它工作(到目前为止,Blitz++ 的经验表明,这可能只是选择正确的包括... )。
r - 计算矩阵的特征值有多昂贵?
计算矩阵的特征值有多昂贵?
最佳算法的复杂度是多少?
如果我有一个 1000 x 1000 的矩阵,实际需要多长时间?我认为如果矩阵稀疏会有帮助吗?
是否存在特征值计算不会终止的情况?
在R
中,我可以计算特征值,如下面的玩具示例所示:
有谁知道它使用什么算法?
是否有任何其他(开源)包可以计算特征值?
c++ - 使用 boost c++ ublas 矩阵和向量类型的元素操作
我想对增强矩阵和向量类型执行逐元素函数,例如对每个元素取对数,对每个元素求幂,应用特殊函数,例如 gamma 和 digamma 等(类似于 matlab 对应用的这些函数的处理到矩阵和向量。)
我想为每个所需的功能编写一个强力的辅助函数就足够了,但这似乎很浪费。
同样,boost wiki 提供了一些代码来矢量化标准函数,但这似乎相当复杂。
有人建议使用 valarray,但我想避免在数据类型之间进行转换,因为我需要 ublas 数据类型用于其他操作(矩阵乘积、稀疏矩阵等)
任何帮助是极大的赞赏。
math - 高阶线性回归
我有矩阵系统:
A x B = C
A
由和由. a
_ _ 两者和都是未知的,但我有部分信息(我有一些值,但不是全部)并且被挑选得足够小,以至于系统预计会受到过度约束。不需要过度约束 in 中的所有行或列。n
B
n
b
A
B
C
n
A
B
我正在寻找最小二乘 线性回归之类的东西来找到最适合这个系统的东西(注意:我知道不会有一个唯一的解决方案,但我想要的只是最好的解决方案之一)
举个具体的例子;所有 a 和 b 都是未知的,所有 c 都是已知的,而 ? 被忽略。我想找到 一个仅考虑已知 c 的最小二乘解决方案。
请注意,如果 B 仅被修剪为 b11 和 b21 并且未知的第 4 行被剔除,那么这几乎是一个标准的最小二乘线性回归问题。
algorithm - 寻找附近点的算法?
给定一组具有 x,y 坐标的数百万个点,选择什么算法可以快速找到距某个位置最近的 1000 个点?这里的“快速”是指家用计算机上大约 100 毫秒。
蛮力意味着进行数百万次乘法然后对它们进行排序。虽然即使是一个简单的 Python 应用程序也可以在不到一分钟的时间内完成,但对于交互式应用程序来说仍然太长了。
这些点的边界框是已知的,因此可以将空间划分为一个简单的网格。然而,这些点的分布有些不均匀,所以我怀疑大多数网格方块会是空的,然后突然其中一些会包含大部分点。
编辑:不一定要准确,实际上可能非常不准确。例如,如果前 1000 名实际上只是前 2000 名中的一些随机点,那将不是什么大问题。
编辑:点集很少改变。
python - numpy 线性代数基本帮助
这是我需要做的-
我有这个等式-
轴 = y
其中 A 是一个有理 m*n 矩阵 (m<=n),x 和 y 是正确大小的向量。我知道A和y,我不知道x等于什么。我也知道在 Ax 正好等于 y 的地方没有 x。我想找到向量 x' 使得 Ax' 尽可能接近 y。这意味着 (Ax' - y) 尽可能接近 (0,0,0,...0)。
我知道我需要使用 lstsq 函数: http ://www.scipy.org/doc/numpy_api_docs/numpy.linalg.linalg.html#lstsq
或 svd 函数: http ://www.scipy.org/doc/numpy_api_docs/numpy.linalg.linalg.html#svd
我根本看不懂文档。有人可以告诉我如何使用这些功能来解决我的问题。
非常感谢!!!
math - 将屏幕上的点取消投影到等距投影的世界
我正在做一个幕后 3d 模拟,同时在我的 2d 等距引擎中渲染世界。我以前从未做过等距引擎,而且我的矩阵数学一般都生锈了,所以我遇到了问题。
我有一个投影矩阵,它最简单的形式是:
几个标志被翻转了,因为我的引擎坐标系在左上角是 0,0,+X 在右/东,+Z 在南。
现在,它的反面是:
现在,这些矩阵大部分都有效。
例如
WC: 500,0,500 =屏幕: -1.44、350、500(X 和 Y 正确)
WC: 0,0,500 =屏幕: -355、175、500 (X 和 Y 再次正确)
但是,现在如果你需要走另一条路,你不再有那个方便的 Z 值,所以
屏幕: -1.44、350、0 = WC: -2、-402.97、0(所以,垃圾。)
还有更多——一旦我不再拥有那个 Z 值,我就无法从屏幕坐标中检索世界坐标。
这里有什么解决方法?
编辑
我应该指出,取消项目的目的是为鼠标拾取获得光线..
似乎只是我对自己所做的事情的误解让我在这里搞砸了。
matrix - LAPACK/BLAS 或其他地方是否有 Fortran 子程序来计算 LDL 分解?
就像标题说的那样,我需要为我的正定矩阵A形成cholesky LDL分解(就像普通的cholesky,但是L的一个对角线,D是对角矩阵)。我在 Lapack 中发现只有一个函数可以做到这一点,但它说矩阵 A 必须是三对角矩阵。在一些免费的子程序库(如 lapack)中是否有某种功能可以做到这一点?