如何放大每个矢量的值
问题描述:
我有100个矢量的特征向量矩阵。我遇到的问题是矢量的值几乎为零(对于平均e-10)!下面是一个载体例子:如何放大每个矢量的值
0.000000245023212264631
-0.00000000928673421733024
-0.00000000702744206187778
-0.0400022257147745
0.000715047161691289
0.000178299491594312
0.000000000000000111022302462516
-0.000000000000000444089209850063
-0.0000311452059972295
0.000000928320962476081
0.00025873217452001
-0.0000073255984986786
0.000226706852668388
-0.00000637215108697076
-0.00000741641656228371
0.000000000466042723561714
0.000000000279056699407741
-0.00000000926312312226756
0.00000000000000000000000000323117426778526
0.000000000000000000000000000403896783473158
-0.0366691252097418
-0.0305829466924761
-0.0300306491122465
0.99163522436172
-0.0000000033133072963138
-0.00000000339576544864114
-0.00000000339576544864114
-0.00000000339576544864114
-0.00000000339576544864114
-0.00000000339576544864114
-0.00000000339576544864114
-0.00000000339576544864114
-0.00000000339576544864114
-0.00000000331297544425818
-0.0000100525189687
-0.00000000339576544864114
-0.00000000339576544864114
-0.00000000339576544864114
-0.00000000339576544864114
-0.00000000339576544864114
-0.00000000339576544864114
-0.00000000339576544864114
0.000000100784783009722
-0.00000000339576544864114
-0.0000000033133072963138
-0.0000000033133072963138
-0.00000000339576544864114
-0.00000000339576544864114
-0.00000000339576544864114
-0.00000000339576544864114
0.000000000128704479996649
0.000000000128704479996649
0.000000000128704479996649
0.000000000128704479996649
0.000000000128704479996649
0.000000000128704479996649
0.000000000128704479996649
0.000000000128704479996649
0.000000000229274956160153
0.000000000128704479996649
0.000000000128704479996649
0.000000000229274956160153
0.000000000128704479996649
0.000000000128704479996649
0.000000000128704479996649
0.000000000128704479996649
0.000000000128704479996649
我想知道如果我能以某种方式扩展每个向量让我得到有值接近1越好,不破坏特征向量的属性(实例,0.01而不是0.0000001)。以下是我使用的代码:
library(igraph)
M <- data.matrix(test)
G <- graph.data.frame(M, directed = FALSE)
L <- laplacian_matrix(G, normalized = FALSE, weights = NULL, sparse = FALSE)
options(scipen=999)
df <- data.frame(eigen(L))
df[,1] <- NULL
write.table(df[,1], file = "~/test.csv", row.names=FALSE, col.names=FALSE, sep=",")
答
我不知道这是否与食堂的所有属性但如何像...
test <- rnorm(100, mean = 0.00000000001, sd = 0.00000000002) # fake small set
test <- ifelse(test<0, test*-1, test) # removed negatives
scaledtest <- test/(max(test)+test[which.max(test)]/10)
答
的特征向量x的定义矩阵A对于某个特征值c是Ax = cx。所以如果你按比例放大x来表示kx,那么你的特征值必须是c/k来满足方程。因此,您可以通过标量缩放您的特征向量,但相应的特征值将乘以反向。
我不会推荐它,如果这进行了任何额外的计算,因为你引入的错误可能是巨大的。