【问题标题】:How to solve a system of linear equations with b=0 in R如何求解 R 中 b=0 的线性方程组
【发布时间】:2013-04-15 14:23:08
【问题描述】:

R 中,我需要求解一个线性方程组 (Ax=b),其中 b=0。通过使用solve(),它只返回一个零向量作为答案,但我想要系统的非零解。有什么办法吗?

【问题讨论】:

  • 发布您的代码和您正在使用的 A 示例。
  • 我不太明白你在找什么。您是否正在搜索求解方程的函数?您在寻找数学解释吗?
  • 如果A 是可逆的,那么零向量将是唯一的答案。
  • 我正在寻找解决此类系统的 R 函数。 A 是 (B-lambdaI) in (B-lambdaI)x=0。事实上,当我有特征值时,我想找到矩阵 B 的特征向量。
  • 查看eigen函数? eigen(B)

标签: r system linear-equation


【解决方案1】:

我认为您正在寻找矩阵A 的零空间。试试看:

library(MASS)
Null(t(A))

R > (A <- matrix(c(1,2,3,2,4,7), ncol = 3, byrow = T))
     [,1] [,2] [,3]
[1,]    1    2    3
[2,]    2    4    7
R > Null(t(A))
              [,1]
[1,] -8.944272e-01
[2,]  4.472136e-01
[3,]  7.771561e-16
R > (A <- matrix(c(1,2,3,2,4,6), ncol = 3, byrow = T))
     [,1] [,2] [,3]
[1,]    1    2    3
[2,]    2    4    6
R > Null(t(A))
           [,1]       [,2]
[1,] -0.5345225 -0.8017837
[2,]  0.7745419 -0.3381871
[3,] -0.3381871  0.4927193

小心。有一些舍入误差。

另外,将r 表示为矩阵A 的秩,将q 表示为A 的列数。如果 r = q,那么零向量是唯一的答案。如果 r > q,则无解。如果 r Null 函数来获得 A 的零空间,但请记住它们不是唯一的,无论是大小还是方向。

参考:http://stat.ethz.ch/R-manual/R-patched/library/MASS/html/Null.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-15
    • 1970-01-01
    • 1970-01-01
    • 2017-10-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多