2011-06-29 25 views
7

Üçgen çözücüler arıyorum ve iki çözücüye rastladım. Bir BLAS: dtrsm ve diğeri LAPACK: dtrtrs. Görünüşünden, dtrsm'in biraz daha fazla işlevselliğe sahip olması (sistemin çözülmesinden önce sağ tarafın ölçeklendirilmesi) ile ortak işlevselliğe sahip olduğu görülmektedir.dtrtrs ve dtrsm arasındaki fark

Bilmek isterim
1) Bu işlevler başka nasıl farklılıklar gösterir?
2) Aynı işlemi yaparken, hangisi daha hızlı?
3) Eğer cevap (2) açık değilse, dtrsm dtrtrs üzerinden ne zaman önerilir? Ayrıca üçgen matris sağ çarpılır bilinmeyen matrise olan sistemleri çözebilir ölçekleme yanında

cevap

8
  1. , dtrsm (yani, XA = B yanı sıra AX = B çözebilir). Diğer taraftan, dtrsm, A tekilse sessizce başarısız olabilir, oysa dtrtrs bu durumu denetler ve bir hata bildirir. "tipik" LAPACK dağılımında

  2. , dtrtrs sadece tekillik kontrol eden bir sargı ve daha sonra dtrsm çağırır. dtrsm bu nedenle biraz daha hızlıdır, ancak bu fark, makul boyuttaki matrisler için önemsizdir.

+0

Teşekkürler! GPU'larda çalışacağım. Bu bana çok zaman kazandırdı ve ben karar verene kadar karanlıkta çekim yapmaktan beni korkuttu. –