Düzenli ızgara üzerinde iç içe diseksiyon


9

Seyrek doğrusal sistemleri doğrudan çarpanlara ayırma yöntemlerini kullanarak çözerken, kullanılan sıralama stratejisi, faktörlerdeki sıfır olmayan elemanların doldurma faktörünü önemli ölçüde etkiler. Böyle bir sıralama stratejisi iç içe diseksiyondur. Sadece ızgara parametreleri (ilk sıra farkları ile bir M x N kare sonlu fark ızgarası varsayalım) verilen önceden iç içe diseksiyon siparişi ile gelip gelemeyeceğini merak ediyorum.

Düzenle Ben sadece bunu yapan bir kod olduğunu buldum: http://www.cise.ufl.edu/research/sparse/meshnd/

Yanıtlar:


8

Evet. Son zamanlarda tam olarak bunu yapmak için kod yazdım.

Bir ızgarasına sahip olduğunuzu ve 100 köşeli yaprak düğümlerine sahip olduğunuzu varsayalım . Daha sonra, bağımsız değişkenlerin olduğu bir özyinelemeli işlev tanımlanabilir:nx×ny

  • dikdörtgen bir alt alanın boyutları ve ofsetleri
  • yeniden sıralamayı saklayacak bir dizi içine bir işaretçi

Rutin, daha sonra, alanın bir yaprak olmak için kabul edilebilir derecede küçük olup olmadığına karar vermek için yerel boyutların ürününü hesaplamak zorundadır ve eğer öyleyse, yaprak düğümü doğal indekslerini yazın (say , ızgarası için), aksi takdirde, en büyük alt alan boyutunu kesin, sol ve sağ parçalar üzerinde ve ayırıcı doğal indekslerini yazın.natural(x,y)=x+ynxnx×ny


Sanırım sorum daha fazla: İç içe diseksiyon gerçekten sadece özyinelemeli alanı yarıya bölüyor mu? Ayrıca, sınır indekslerini her sağ ve sol yarının önüne yerleştirme sırası mı? Neler olup bittiğine dair basit bir açıklama bulamadım.
Victor Liu

1
Evet, iç içe diseksiyon çok basittir, ancak sınır indekslerini sol ve sağ yarılardan sonra saklarsınız. Mesele, iki alt alanın doğrudan bağlı olmadığından emin olmaktır, bu nedenle, sonlu farklılıklar için, ayırıcının ne kadar kalın olduğuna karar verirken şablonunuzun boyutunu dikkate almak önemlidir. Liu'nun multifrontal yönteme genel bakışını okumanızı ve her ayırıcıya supernode olarak muamele edilmesini sağlayan bağlantıyı kurmanızı öneririm .
Jack Poulson

Ah evet, yorum yaptıktan kısa bir süre sonra farkına vardım ve sonra düzenlemeyi yaptım. Referans için teşekkürler.
Victor Liu
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.