하스켈에서 사용자 정의 데이터 형식을 Poly a = X | Coef a | Sum (Poly a) (Poly a) | Prod (Poly a) (Poly a) deriving (Show)
으로 사용하고 있습니다.하스켈에서 다항식을 표준 형식으로 변환
이와 같이 다항식 (3 + x)^2는 (Prod (Sum (Coef 3) X) (Sum (Coef 3) X))
으로 표시됩니다.
이 방법으로 입력 된 다항식을 표준 형식의 계수 목록으로 변환하는 데 어려움을 겪고 있습니다. 이는 (3 + x)^2 = 9 + 6x + x^2와 같이 [9, 6, 1]
이 될 것이라고 생각합니다.
가능한 해결책은 입력을 단순화 할 수 있도록 다항식 데이터 유형에 일부 수학 함수를 구현하는 것이지만 믿을 수는 없습니다. 다른 방법이 있습니까?
누군가 나를 올바른 방향으로 안내 할 수 있습니까?
'폴리'유형으로 단순화하지 말고 계수 목록으로 직접 단순화하십시오. – Bergi
나는 단순화 규칙을 만들려고 노력했지만 많은 것들이있어 모두 나열 할 수 없다. 그러나 한정된 금액이 있어야합니다. 그리고 때로는 새로운 규칙이 오래된 규칙을 어기는 경우가 있습니다. –