ฉันกำลังจำลองสถานการณ์ของสมการ Langevin สำหรับกองกำลังภายนอกต่างๆ ด้วยการบอกว่า C rand()
จากstdlib.h
สามารถนำความลำเอียงในผลลัพธ์ของฉันฉันใช้ Mersenne Twister
อย่างไรก็ตามฉันอยากจะรู้ (และดู) ว่าข้อผิดพลาดชนิดใดที่เครื่องกำเนิดไฟฟ้าเชิงเส้นเชิงเส้นสามารถแนะนำในการจำลองของฉัน นี่คือสิ่งที่ฉันได้ลอง:
- สร้าง tuples 3 มิติของ randoms เพื่อลองดูไฮเปอร์เพลน ฉันไม่เห็นอะไรเลย
- ทำ FFT ของเวกเตอร์ขนาดใหญ่ที่มีตัวเลขสุ่ม มันเกือบจะเหมือนกันสำหรับทั้ง Mersenne Twister
rand()
และ - ตรวจสอบหลักการของควอเตชันสำหรับการเคลื่อนที่แบบบราวเนียน ผู้รวมระบบทั้งสองตกลงในค่าที่คาดหวังของมีตัวเลขนัยสำคัญเท่ากัน
- มาดูกันว่าถังขยะในถังขยะจำนวนหนึ่งนั้นมีกำลังดีแค่ไหน ทั้งสองให้ผลลัพธ์เชิงคุณภาพเดียวกันไม่มีใครดีกว่า
- มองไปที่เส้นทาง Brownian ที่จะเห็นความแตกต่างที่ชัดเจนจาก 0 ไม่มีโชคอีกแล้ว
- การกระจายของคะแนนเป็นวงกลม เต็มและเฉพาะในปริมณฑล ระหว่างพวกเขาทั้งหมดและระหว่างเพื่อนบ้านที่ใกล้ที่สุด (คำตอบของ Shor ด้านล่างในความคิดเห็น) มีอยู่ในส่วนสำคัญนี้เพียงแค่เรียกใช้กับ Julia 0.5.0 หลังจากติดตั้งไลบรารีที่จำเป็น (ดูส่วนสำคัญสำหรับคำแนะนำ)
ฉันต้องการเน้นว่าฉันกำลังมองหาอคติที่แนะนำในบริบทของการจำลองทางกายภาพ ตัวอย่างเช่นฉันได้เห็นว่าrand()
การทดสอบมิจฉาชีพล้มเหลวอย่างน่าสังเวชในขณะที่ Mersenne Twister ทำไม่ได้ แต่ในช่วงเวลาที่ไม่ได้มีความหมายมากเกินไปสำหรับฉัน
คุณมีตัวอย่างที่เป็นรูปธรรมและเป็นรูปธรรมหรือไม่เกี่ยวกับวิธีการสร้างตัวสุ่มตัวเลขที่ไม่ดีทำลายการจำลอง Montecarlo หรือไม่?
หมายเหตุ: ฉันได้เห็นว่าการชอบของ PRNG RANDU
นั้นน่ากลัวเพียงใด ฉันสนใจตัวอย่างที่ไม่ชัดเจนของเครื่องกำเนิดไฟฟ้าที่ดูไร้เดียงสา แต่ในที่สุดก็แนะนำอคติ