Ax = b'yi çözmek için matris içermeyen bir yöntem için ön koşul


9

Ax = b'yi çözmem gerekiyor, ancak seyrek olsa bile, problemimin matris katsayılarını depolamanın çok fazla bellek alacağını anlıyorum. Şimdi matrissiz bir yöntem kullanmayı düşünüyorum, çünkü aynı katsayılar matriste çok fazla zaman alıyor, bu yüzden kendi özel depolama planımı kullanabilirim (ve bu arada önbellek verimliliğini artırabilirim).

Böyle matrissiz doğrusal operatörler için arayüz sağlayan petsc bakıyorum, ama gerçekten anlamadım, önkoşul sonra petsc tarafından nasıl hesaplanır? Yoksa kendi önkoşulumu sağlamalı mıyım? Öyleyse, matrissiz doğrusal bir operatörden ön koşullandırıcı oluşturmak için kullanılabilecek araçlar veya tarifler var mı?

Operatörüm hakkında daha fazla bilgi: simetrik değil, çapraz olarak baskın değil, ancak birkaç kenar bandı hakim (ama aynı zamanda çapraz bantlı da değil)

Yanıtlar:


7

Kendi önkoşulunuzu atmanız gerekir. Matrisi biliyorsanız, örneğin bir SSOR önkoşulu gibi bir şeyi uygulamak çok zor olmamalıdır. Sorun hakkında başka bir şey biliyorsanız, örneğin çözümü daha kaba bir ağ üzerinde iyi bir şekilde tahmin edilebilen bir PDE'den geliyorsa, sorunu daha kaba ağa kısıtlayarak, orada çözerek ve genişleterek önkoşullayıcılar oluşturmayı da düşünebilirsiniz. Çözümü orijinaline geri döndürün. Kısıtlama ve uzatma matrissiz işlemler olarak uygulanabilir.

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.