问题标签 [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.
c++ - 使用 GCC 编译 PARDISO 线性求解器测试用例
我正在尝试使用PARDISO编译线性系统求解器。测试用例 (pardiso_sym.c) 也是从上面的同一网站下载的。
我在目录中有以下文件:
然后我尝试使用以下命令编译它:
但它给出了这个错误:
我的编译方法有什么问题?
这是我的系统的附加信息:
更新:
使用 Dave Gamble 的建议来识别该库。但现在它给出了不同的错误:
c++ - c++中的矩阵类
我正在做一些线性代数数学,并且正在寻找一些真正轻量级且易于使用的矩阵类,它们可以处理不同的维度:基本上是 2x2、2x1、3x1 和 1x2。我认为这样的类可以用模板实现,并且在某些情况下使用一些专业化来提高性能。有人知道任何可用的简单实现吗?我不想要“臃肿”的实现,因为我将在内存受限的嵌入式环境中运行它。
谢谢
algorithm - 采用 2 个“相似”矩阵并相互“对齐”的算法
首先,由于我缺乏简洁的词汇,标题很糟糕。我会尝试描述我在做什么,然后再问我的问题。
背景信息
假设我有 2 个大小为n
x的矩阵m
,其中n
是实验观察向量的数量,每个向量的长度m
(收集观察的时间序列)。其中一个矩阵是原始矩阵,称为S
,另一个是 的重构版本S
,称为Y
。
让我们假设Y
正确地重构S
. 但是由于重建算法的限制,Y
无法确定 中向量的真实幅度S
,也不能保证为这些向量提供正确的符号(向量可能被翻转)。此外,观察向量 in 的顺序Y
可能与对应向量 in 的原始顺序不匹配S
。
我的问题
是否有一种算法或技术可以生成一个新矩阵,它是 to 的“重新对齐” Y
,S
以便当Y
和S
被归一化时,该算法可以(1)找到与向量Y
匹配的向量S
并恢复向量的原始顺序(2) 同样匹配向量的符号?
与往常一样,我非常感谢所有的帮助。谢谢!
math - 对推力从当前速度矢量到目标矢量的平滑变化进行编程
TL;博士:“我不确定如何计算一个向量与另一个向量之间的推力平滑过渡。”
我正在编写一个简单的游戏,其中敌人在开放空间(没有墙壁)中追逐玩家。我正在独立计算敌人的 x 和 y 速度,如果他们将他们带向玩家的方向,则加速他们,如果他们走错路,则迅速减慢他们(例如 EnemyVelocity.x > 0 & player.x <enemy.x ,然后是 EnemyVelocity.x - 2。)
虽然试图躲避敌人的游戏玩法相当有趣,但我希望让敌人使用适当的物理行为。我目前正在做的是让敌人根据他们与玩家之间的角度设置他们的推力(想想一艘宇宙飞船),并让他们的推力加速到最大速度(计算 EnemyVelocity 三角形的边 c)。一旦发生这种情况,我不确定让推力自行调整的最佳方法。如果我没有留下最大速度,敌人会很好地加速但很容易超过玩家,然后需要很长时间才能获得足够的动力返回玩家的方向。
我想要发生的是让敌人在前往玩家的路上不断调整他们的速度,瞄准他们在哪里(我不希望他们预测你会在哪里)。然后,当他们错过玩家时,我希望使用相同的推力和加速度公式来重新调整他们的速度并将它们送回玩家。
我认为这将涉及两个向量:一个是敌人当前正在旅行的地方,另一个是敌人想要旅行的地方(将他们直接带到玩家的向量)。我不确定如何计算一个向量和另一个向量之间的推力平滑过渡。
任何提示、公式或问题将不胜感激!谢谢堆栈溢出。
java - 如何在 Java 中创建任意大小的单位矩阵?
是否有在 Java 中创建指定大小的单位矩阵的实用程序?
c++ - 什么是最广泛使用的 C++ 向量/矩阵数学/线性代数库,以及它们的成本和收益权衡?
似乎许多项目慢慢地需要做矩阵数学,并陷入首先构建一些向量类并慢慢添加功能的陷阱,直到他们被抓住构建一个半途而废的自定义线性代数库,并依赖它。
我想避免这种情况,同时不依赖于一些切向相关的库(例如 OpenCV、OpenSceneGraph)。
有哪些常用的矩阵数学/线性代数库,为什么要决定使用一个而不是另一个?是否有任何建议不要出于某种原因使用?我专门在几何/时间上下文中使用它*(2,3,4 Dim)*,但将来可能会使用更高维度的数据。
我正在寻找关于以下任何一项的差异:API、速度、内存使用、广度/完整性、狭窄/特异性、可扩展性和/或成熟度/稳定性。
更新
我最终使用了我非常满意的 Eigen3。
c# - C# 的稀疏线性代数求解器
我正在用 C# 实现 Goldenthal et.al 的不可扩展布料算法的实验性实现。
首先我使用 Math.NET Iridium 来组装和求解矩阵,但很快将其替换为 dnAnalytics,因为后者允许我重用矩阵,几乎消除了进一步的内存分配,这对于实时性能(小布)或迭代求解很重要一般来说。
问题是 dnAnalytics 中的求解器(主要感兴趣的是 LU 和 Bi-CG)仍然在幕后分配矩阵和向量,而不是重用过去的分配。
=> 是否有任何稀疏线性代数库可以开箱即用地重用内存,还是我必须自己重写代码?
matlab - 为什么 Matlab 的 inv 缓慢且不准确?
我在几个地方读到(在文档和这篇博文中:http: //blogs.mathworks.com/loren/2007/05/16/ purpose- of-inv/)在 Matlab 中使用 inv 不是推荐,因为它速度慢且不准确。
我试图找出这种不准确的原因。截至目前,谷歌没有给出有趣的结果,所以我想这里有人可以指导我。
谢谢 !
c++ - 用于图像分割的 C++ 库
我将做一个与图像聚类相关的数据挖掘项目(在 C++ 中)。我正在寻找一个功能强大的库,它有助于图像处理、线性代数和 3d 图形。有什么想法吗?
谢谢。
math - 在 MATLAB 中求解矩阵?
如何在MATLAB中求解 x 的(非平凡的)解 Ax = 0 ?
我试过 solve('A * x = 0', 'x') 但我只得到 0 作为答案。