Проверка симметрии на симметричной матрице не удалась - PullRequest
2 голосов
/ 05 октября 2011

У меня есть симметричная матрица (4х4) в памяти. К сожалению, sum (originalMatrix! = T (originalMatrix)) = 6. Поэтому я вывожу эту матрицу и считываю ее обратно в память. Теперь сумма (dputMatrix! = T (dputMatrix)) = 0. Как это возможно и как я могу проверить симметрию с моей матрицей в памяти?

originalMatrix = ...
sum( originalMatrix != t( originalMatrix ) )  # results in 6
dput( originalMatrix )
dputMatrix = structure(c(0.00117771346463494, -1.57864028664711e-05, 0.000293652924987303, 
-9.85387333663002e-05, -1.57864028664711e-05, 0.000194782042576016, 
6.9133672862693e-05, 4.23792732612071e-05, 0.000293652924987303, 
6.9133672862693e-05, 0.00046216043028767, 2.70172523991749e-05, 
-9.85387333663002e-05, 4.23792732612071e-05, 2.70172523991749e-05, 
0.00017694896679169), .Dim = c(4L, 4L), .Dimnames = list(c("a00088630", 
"a0091n", "a01010", "a01307810"), c("a00088630", "a0091n", "a01010", 
"a01307810")))
sum( dputMatrix != t( dputMatrix ) )  # results in 0!!!

1 Ответ

3 голосов
/ 05 октября 2011

Это проявление FAQ 7.31.Обратите внимание, что если вы хотите сохранить R объектов с полной точностью, вы должны использовать save ().

Отметьте, пожалуйста!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...