Questions tagged «linear-algebra»

有关线性代数的算法/计算方面的问题,包括线性系统的解,最小二乘问题,本征问题和其他此类问题。

3
在学习数值线性代数之前,我应该阅读哪些线性代数课本?
假设有人希望深入研究数值线性代数(并遵循有关数值线性代数和矩阵理论的期刊),那么一开始将是一本比较好的课程/更好的书: 与霍夫曼和昆兹一起证明和严谨(我对严谨的数学没有问题)。 要么 在Strang教授的书中使用了不严格的证据或“陈述时没有证据”的方法,但重点在于应用程序和“现实世界”问题。 要么 您还会推荐其他任何东西吗?(Gene Golub的书怎么样?) 我知道Strang的书的某些部分(由他的在线讲课补充),以及Trefethen和Bau的一些数字线性代数部分。但是,我希望对该主题有更彻底的了解。我将主要自学书籍。

1
给定一组有限的生成器,如何计算矩阵李代数的基础?
给定任意一组(数字)平方复矩阵,我对计算生成的实矩阵李代数感兴趣,称之为。也就是说,我想作为 其中递归定义为和表示。甲大号甲大号甲 = 小号p 一个Ñ ř { 乙:乙∈ ∪ ∞ ķ = 1 c ^ ķ } Ç ķ c ^ 1 = 甲ç ķ + 1 = { [ X ,ÿ ] :X ,ÿ ∈ ∪一种= { A1个,一2,⋯ ,A米}A={A1,A2,⋯,Am}\mathcal{A}=\{A_1,A_2,\cdots,A_m\}一种A\mathcal{A}大号一种LA\mathcal{L_\mathcal{A}}大号一种= s p a n[R{ 乙:乙∈ ∪∞k = 1Cķ}LA=spanR{B:B∈∪k=1∞Ck} \mathcal{L_\mathcal{A}} = …


2
计算截断的SVD,一次一个奇异值/向量
是否有一种截断的SVD算法可以一次计算一个奇异值? 我的问题:我想计算一个大的密集矩阵M的前ķķk奇异值(和奇异矢量),但是我不知道k的合适值是多少。M很大,因此出于效率考虑,我宁愿不评估完整的SVD,而只是在之后截断最小的SV。中号中号Mķķk中号中号M 理想情况下,将计算的奇异值的方式σ1个,σ2,…σ1个,σ2,…\sigma_1, \sigma_2,\ldots顺序,从最大(σ1个σ1个\sigma_1)到最小(σñσñ\sigma_n)。这样一来,我可以简单地停止计算计算后ķķk个奇异值,如果σķ/ σ1个σķ/σ1个\sigma_k/\sigma_1下降到低于某个阈值。 是否存在这样的算法(最好使用Python实现)?在谷歌搜索中,我只发现了以k为参数的截断SVD函数,因此迫使您先验猜测。

2
哈密​​顿矩阵的矩阵指数
令为实,平方,密矩阵。G和Q是对称的。让A ,G ,QA,G,QA, G, QGGG问QQ H= [ A- Q− G− AŤ]H=[A−G−Q−AT]H = \begin{bmatrix} A & -G \\ -Q &-A^T \end{bmatrix} 是哈密顿矩阵 我想计算的矩阵指数。我需要完整的矩阵指数e t H,而不仅是矩阵向量积。是否有专门的算法或库可用来计算哈密顿矩阵的指数?HHHËŤ ^ hetHe^{tH}

2
小范数调整的特征向量
我有一个变化缓慢的数据集,我需要跟踪其协方差矩阵的特征向量/特征值。 我一直在使用scipy.linalg.eigh,但是它太贵了,并且它没有使用我已经进行了分解的事实,该分解只是稍微不正确。 谁能建议一种更好的方法来解决此问题?


4
部分奇异值分解(SVD)的内存有效实现
为了简化模型,我想计算与矩阵最大20个奇异值相关的左奇异矢量,其中和。不幸的是,我的矩阵将是稠密的,没有任何结构。 Ñ ≈ 10 6 ķ ≈ 10 3甲A∈RN,kA∈RN,kA \in \mathbb R^{N,k}N≈106N≈106N\approx 10^6k≈103k≈103k\approx 10^3AAA 如果我只是svd从numpy.linalgPython模块中的例程中调用该大小的随机矩阵,则会遇到内存错误。这是由于的分配用于分解。甲= V 小号ùV∈RN,NV∈RN,NV\in \mathbb R^{N,N}A=VSUA=VSüA = VSU 周围有避免这种陷阱的算法吗?例如,通过仅建立与非零奇异值关联的奇异矢量。 我准备在计算时间和准确性上进行交易。

2
用矩阵参数解线性系统
我们都熟悉解决标准线性系统的多种计算方法 Ax=b.Ax=b. Ax=b. 但是,我很好奇是否有任何“标准”计算方法可以解决以下形式的更一般的(有限维)线性系统 A m 1 × n 1 B m 2 × n 2 L m 1 × n 1 m 2 × n 2LA=B,LA=B, LA=B, 其中,是一个矩阵,是一个矩阵,而是将矩阵矩阵的线性算子,这不涉及向量化矩阵,即将所有内容转换为标准形式。 AAAm1×n1m1×n1m_1\times n_1BBBm2×n2m2×n2m_2\times n_2LLLm1×n1m1×n1m_1\times n_1m2×n2m2×n2m_2\times n_2Ax=bAx=bAx=b 我问的原因是我需要为解以下方程式:uuu (R∗R+λI)u=f(R∗R+λI)u=f (R^*R+\lambda I)u=f ,其中是2d Radon变换,其伴随元素,和均为2d数组(图像)。可以对这个方程进行矢量化处理,但这很痛苦,尤其是当我们使用3D时。R * u fRRRR∗R∗R^*uuufff 更一般而言,阵列呢?例如,求解,其中和是3D数组(在某些时候,我也需要使用Radon变换进行此操作)。L A = B A BnDnDnDLA=BLA=BLA=BAAABBB 谢谢,如果您有需要,可以随时将我运送到另一个StackExchange。

2
Crank-Nicolson离散化是否维持了热方程的最大/最小原理?
我正在使用Crank-Nicolson有限差分方案来求解一维热方程。我想知道热方程的最大/最小原理(即最大/最小发生在初始条件还是边界上)是否也适用于离散解。 Crank-Nicolson是一个稳定且收敛的方案,这可能暗示了这一点。但是,您似乎可以使用Crank-Nicolson模具创建的矩阵通过线性代数参数直接证明这一点。 我将不胜感激任何与此有关的文献资料。谢谢。

2
密集病态矩阵的对角化
我正在尝试将一些稠密,病态的矩阵对角化。在机器精度方面,结果不准确(返回负特征值,特征向量不具有预期的对称性)。我切换到Mathematica的Eigensystem []函数以利用任意精度,但是计算速度非常慢。我愿意接受许多解决方案。是否有非常适合病态问题的软件包/算法?我不是预处理方面的专家,所以我不确定这有多大帮助。否则,我所能想到的就是并行化的任意精度特征值求解器,但是我对Mathematica,MATLAB和C ++并不熟悉。 为了提供一些有关此问题的背景,矩阵很大,但不是很大(最多4096x4096至32768x32768)。它们是实数,是对称的,特征值在0到1(不包括)之间,许多特征值非常接近0,没有一个接近1。矩阵本质上是卷积算符。我不需要对所有矩阵进行对角线化,但是我可以走的越大越好。我可以访问具有许多处理器和分布式计算功能的计算集群。 谢谢

3
稀疏矩阵乘法的开销是多少
矩阵乘法(Mat * Mat和Mat * Vec)是否随非零数或矩阵大小缩放?或两者的某种组合。 形状呢? 例如,我有一个100 x 100的矩阵,其中包含100个值,或者一个1000 x 1000的矩阵,其中包含100个值。 当对这些矩阵求平方(或将它们乘以具有相似稀疏性的相似矩阵)时,第一个(100x100)是否比第二个(1000x1000)快?是否取决于值在哪里? 如果它取决于实现,那么我对PETSc的答案很感兴趣。



3
使用Fortran 95和LAPACK的实数不对称矩阵的矩阵指数
最近,我对倾斜的Hermitian矩阵提出了同样的问题。受此问题的成功启发,在将我的头撞在墙上几个小时之后,我正在研究真实的非对称矩阵的矩阵指数。寻找特征值和特征向量的方法似乎有些复杂,我怕迷路了。 背景:前段时间,我在理论物理学SE上问了这个问题。结果使我可以将主方程式表达为真实的非对称矩阵。在与时间无关的情况下,通过对该矩阵求幂来求解主方程。在与时间有关的情况下,将需要集成。我现在只关心时间独立性。 看完我认为应该调用的各种子例程(?gehrd,?orghr,?hseqr ...),尚不清楚将矩阵从转换real*8为complex*16并进行这些例程的复杂双精度版本是否更简单,或坚持使用real*8,将数组的数量加倍,然后再制成一个复杂的矩阵。 那么,我应该调用哪些例程(以什么顺序),并且应该使用实数双精度版本还是复数双精度版本?下面是使用真正的双重版本进行此操作的尝试。我陷入了寻找的特征值和特征向量的困境L*t。 function time_indep_master(s,L,t) ! s is the length of a side of L, which is square. ! L is a real*8, asymmetric square matrix. ! t is a real*8 value corresponding to time. ! This function (will) compute expm(L*t). integer, intent(in) :: s real*8, intent(in) :: …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.