2015-10-26 13 views
7

Haskell'deki lineer ve kuadratik modüler denklemleri tek değişkende çözmek istiyorum. Şu anda yaptığım gibi, x = [1..] denklemini birer birer koyarak ve geri kalanını bulmak (p denklemi p ise (x değişkenine sahip)). Bunun çok verimsiz bir süreç olduğuna inanıyorum. Yani bunu yapmak için daha iyi bir yolu var mı? Modüler kareselleştirme çözmeHaskell'de modüler denklemler

+0

[Bu yardımcı olabilecek] (http://math.stackexchange.com/a/261900/88047) –

+0

Ben arıyorum @BartekBanachewicz genel yöntem. Aslında ifadede, diğer araçları kullanarak tespit edilen başka sabitler de vardır, böylece el ile çözemiyorum ve bu sonuçları kullanıyorum. – Iguana

+0

bu sayısal bir yöntem/algrotihm nedir? eğer evet ise, ilgili etiketi eklemek isteyebilirsiniz. –

cevap

5

birleştirmeyi içerir:

arithmoi paket uygulamaları vardır Bu algoritmaların Özellikle, chineseRemainder, sqrtModP ve sqrtModPP işlevlerine bakın. Bulabileceğiniz İşte

bazı örnekler çalıştı:

http://www.mersennewiki.org/index.php/Modular_Square_Root

+2

Çok dikkatli olun. arithmoi paketi. Birinci elek kodunda, aralıklı segmentasyon hatalarına neden olan en az bir hata vardır. Kod * son derece * kıllı ve zayıf bir şekilde belgelenmiştir ve yeni bir bakıcıya sahip olan pakete rağmen, yakında herhangi bir zamanda iyileştirileceğine dair hiçbir işaret yoktur. – dfeuer

İlgili konular