จะประมาณจำนวนเงื่อนไขของเมทริกซ์ขนาดใหญ่ได้อย่างไร


9

ฉันจะประมาณจำนวนเงื่อนไขของเมทริกซ์ขนาดใหญ่ได้อย่างไร Gถ้า G เป็นการรวมกันของการแปลงฟูริเยร์ F (ไม่เหมือนกันหรือเหมือนกัน) ความแตกต่างแน่นอน Rและเมทริกซ์ทแยงมุม S?

เมทริกซ์มีขนาดใหญ่มากและไม่ได้เก็บไว้ในหน่วยความจำและมีให้ใช้งานในฐานะฟังก์ชันเท่านั้น

โดยเฉพาะฉันมีเมทริกซ์ต่อไปนี้:

Gμ=SHFHFS+μRHR

ฉันต้องการตรวจสอบความสัมพันธ์ระหว่าง μ และหมายเลขเงื่อนไข k(Gμ).

ฉันคิดว่าคนเราต้องการวิธีการวนซ้ำบางอย่าง? อย่างดีที่สุดจะมีโค้ด MATLAB บ้าง


1
ลองเกี่ยวกับคำจำกัดความของหมายเลขเงื่อนไขและใช้ความไม่เท่าเทียมกันของสามเหลี่ยมและ submultiplicativity ฉันเดาว่าคุณควรจะพูดอะไรเกี่ยวกับบรรทัดฐาน / เงื่อนไขของเมทริกซ์แต่ละตัวของคุณ วิธีนี้คุณจะได้รับการประมาณของจำนวนเงื่อนไขGμ.
Anke

คำตอบ:


11

MATLAB มีฟังก์ชั่น "แน่นอน" สองอย่างสำหรับเรื่องนี้condและrcondเมื่อคืนค่าหมายเลขเงื่อนไขกลับคืนมา ฟังก์ชั่นโดยประมาณของ Matlab condestได้อธิบายไว้อย่างสมบูรณ์ด้านล่าง

บ่อยครั้งที่การประเมินหมายเลขเงื่อนไขถูกสร้างขึ้นเป็นผลพลอยได้จากการแก้ปัญหาของระบบเชิงเส้นสำหรับเมทริกซ์ดังนั้นคุณอาจจะสามารถประเมินตัวเลขเงื่อนไขเกี่ยวกับงานอื่นที่คุณต้องทำต่อไปได้ ดูที่นี่สำหรับคำอธิบายโดยย่อเกี่ยวกับวิธีคำนวณการประมาณ นอกจากนี้ข้อสังเกตของเอกสาร Sandia Labs AztecOO (ดู Sec. 3.1) ว่าการประเมินหมายเลขเงื่อนไขเพิ่มเติมมีให้บริการจากนักแก้ปัญหาซ้ำ ๆ (โดยใช้เมทริกซ์ Tridiagonal Lanczos ที่สร้างขึ้นด้วย Conjugate Gradients หรือเมทริกซ์ Hessenburg ที่สร้างขึ้นใหม่ด้วย GMRES ที่เริ่มใหม่)

เนื่องจากเมทริกซ์ของคุณมี "ใหญ่มาก" และ "พร้อมใช้งานเป็นฟังก์ชั่นเท่านั้น" เท่านั้นวิธีการทางตรรกะจึงเป็นวิธีการที่ piggybacks บนตัวแปลงไล่ระดับสีคอนจูเกตหรือตัวแปร

กระดาษ arXiv.org เมื่อเร็ว ๆ นี้การประมาณค่าลักษณะเฉพาะแบบไม่อยู่กับที่สุดขั้วในการแก้ปัญหาแบบวนซ้ำของระบบเชิงเส้นและตัวประมาณสำหรับข้อผิดพลาดสัมพัทธ์เสนอวิธีการดังกล่าวและมีการอ้างอิงไม่กี่วรรณกรรมก่อนหน้า

ตอนนี้ที่ฉันดูฟอรั่มนี้มีคำถามที่เกี่ยวข้องจำนวนมากก่อนหน้านี้ (ไม่ใช่ทั้งหมดที่มีคำตอบ แต่ตรวจสอบความคิดเห็น):

ประมาณการค่าสุดขีดสุดขั้วกับ CG

การประมาณจำนวนเงื่อนไขสำหรับเมทริกซ์ที่มีขนาดใหญ่มาก

อัลกอริทึมที่เร็วที่สุดในการคำนวณจำนวนเงื่อนไขของเมทริกซ์ขนาดใหญ่ใน Matlab / Octave


เนื่องจากความพร้อมใช้งานของรหัส MATLAB เป็นส่วนหนึ่งของคำถามนี่คือข้อมูลบางส่วนเกี่ยวกับcondestฟังก์ชั่นในตัวที่ประมาณหมายเลขเงื่อนไข 1 นอร์มA1A11. แนวคิดมาจาก Hager (1984) โดยมีการเขียนและส่วนขยาย 2010 ที่นี่เพื่อคำนวณอย่างชัดเจน (หาค่าสูงสุด 1 บรรทัดฐานของคอลัมน์) และประมาณด้วยวิธีการไล่ระดับสี ดูที่CONDITIONของ John Burkardt ซึ่งเป็นไลบรารี MATLAB (ภาษาอื่น ๆ ที่มี) "สำหรับการคำนวณหรือการประมาณจำนวนเงื่อนไขของเมทริกซ์"A1A11

เนื่องจากเมทริกซ์ของคุณชัดเจนว่าเป็นคน Hermitian และมีความแน่นอนในเชิงบวกอาจเป็นไปได้ว่าเงื่อนไขจำนวน 2 บรรทัดนั้นน่าสนใจกว่า จากนั้นปัญหาก็คือการประเมินอัตราส่วนของค่าลักษณะเฉพาะที่มีค่ามากที่สุด (น้อยที่สุด) ความท้าทายค่อนข้างขนานกับกรณี 1 บรรทัดฐานซึ่งโดยทั่วไปแล้วการประมาณค่าที่ดีสำหรับค่าลักษณะเฉพาะที่ใหญ่ที่สุดสามารถหาได้ง่าย แต่การประมาณค่าลักษณะเฉพาะน้อยที่สุดนั้นพิสูจน์ได้ยากขึ้น

แม้ว่าการเล็งที่กรณีที่ไม่ใช่ SPD (และแม้แต่ที่ไม่ใช่สแควร์) กระดาษ arXiv.org ล่าสุดการประมาณค่าเงื่อนไขซ้ำจำนวนที่เชื่อถือได้ให้ภาพรวมที่ดีของปัญหาการประมาณค่าลักษณะเฉพาะน้อยที่สุดและแนวการโจมตีที่มีแนวโน้มโดย Krylov-subspace วิธีการ (LSQR) ที่มีจำนวนการผันแปรคอนจูเกตในกรณี SPD


ขอบคุณสำหรับคำตอบ. ฉันจะรับหมายเลขเงื่อนไขเป็นผลข้างเคียงของตัวแก้ไล่ระดับสีคอนจูเกตได้อย่างไร
Stiefel

@Stiefel: มีกระดาษปี 1992 จากการคำนวณค่าลักษณะเฉพาะมากและจำนวนเงื่อนไขของเมทริกซ์ที่ไม่อยู่ในแนวโดย Lei Guang-yao ให้ฉันดูว่าฉันสามารถหาข้อมูลอ้างอิงที่ดีกว่า (ไม่ได้อยู่หลังกำแพงจ่ายเงิน)
hardmath

@Stiefel: เพิ่มลิงก์บางส่วน คุณอาจสนใจตรวจสอบ Google Books (หรือห้องสมุด) สำหรับวิธีแก้ปัญหาซ้ำซ้อนของ Owe Axelsson (1996) โดยเฉพาะ เด็กชาย 13 อัตราการบรรจบกันของวิธีการไล่ระดับสีแบบคอนจูเกตแม้ว่าจะมีการเน้นที่การประมาณจำนวนการวนซ้ำที่จำเป็นสำหรับการลู่เข้าที่ดีกว่าหมายเลขเงื่อนไขเพียงอย่างเดียว
hardmath

1
@Stiefel ด้วยชื่อเหมือนของคุณคุณควรจะสอนเราเกี่ยวกับวิธีการ CG :) ดูen.wikipedia.org/wiki/Eduard_Stiefel
stali
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.