2016-10-18 4 views
3

일부 선형 대수를 수행하기 위해 Eigen을 사용하고 있습니다. 즉 Ax = b에서 x를 찾는다. 여기서 A는 (n, n) 행렬이고 x와 b는 (n, 1) 크기 벡터입니다. 두 배 이상의 정밀도로 계산할 수 있는지 알고 싶습니다.Eigen은 선형 대수학에서 배정도 이상을 사용할 수 있습니까? Ax = b

+0

'long double'과 마찬가지로? 그렇다면, http://eigen.tuxfamily.org/dox/TopicCustomizingEigen.html#CustomScalarType – Ralfonso

+1

선형 수학입니다. 'A * x0 = b'를 처음 계산한다면, 다음으로'A * x1 = (b - A * x0)'를 계산하고, x0와 x1을 더할 수 있습니다. – MSalters

+0

[boost :: multiprecision] (http://www.boost.org/doc/libs/1_61_0/libs/multiprecision/doc/html/index.html) 숫자 유형 또는 [mpreal] (http : //eigen.tuxfamily.org/dox-devel/unsupported/group__MPRealSupport__Module.html). – ggael

답변

1

Eigen은 임의 정밀도 산술로 작업 할 수 있습니다. 즉시 사용할 수있는 an MPFR module가 있습니다. 보통, 원래의 값이 이미 고정밀 도로 저장되어 있지 않다면 이것은 필요하지 않습니다. 먼저보다 안정적인 분해를 시도해야합니다. 보십시오 at the available decompositions here. 어떤 것이 가장 좋은지, 사용 사례에 크게 달려 있습니다.