Myślałem o sposobie reprezentowania liczb algebraicznych w Haskell jako strumień przybliżeń. Prawdopodobnie można to zrobić za pomocą jakiegoś algorytmu znajdowania źródeł. Ale to nie jest zabawa. Możesz dodać do wielomianu x
, redukując problem, aby znaleźć jego stałe punkty.Czy funkcje wielomianów mogą wykorzystywać funkcje stałoprzecinkowe?
Więc jeśli masz funkcję w Haskell jak
f :: Double -> Double
f x = x^2 + x
ja nie koncepcyjnie zrozumieć dlaczego poprawka nie działa, to znaczy, mogę łatwo sprawdzić na sobie, że to nie działa , ale czy nie jest prawdziwym najmniejszym ustalonym punktem f? Czy istnieje inna prosta (jak w definicji wielkości) funkcja o stałym punkcie, która zadziałałaby?
'fix' znajduje najmniejszy _definiowany_ stały punkt, który w wielu przypadkach jest ⊥ (brak zakończenia, błąd, ...). Zobacz także: http://stackoverflow.com/a/8099449/700253 – Vitus
To jest bardzo dobre pytanie, ale uważam, że trudno jest odpowiedzieć bez zbyt abstrakcyjnego podejścia. Próbuję sformułować dobrą odpowiedź. – hivert
Jak twierdzi vitus, porządek, w którym fix znajduje najmniej ustalony punkt, to porządkowanie domen, a nie regularne porządkowanie w Double. – augustss