簡體   English   中英

是否有用於將矩陣的上角/下角歸零的 LAPACK function?

[英]Is there a LAPACK function for zeroing out the upper / lower corner of a matrix?

一些 LAPACK 函數(如dgqrf )返回 function ,其中答案是上三角形,但在對角線下方存儲了一些輔助信息。 我想知道是否有一個 function 會將對角線下方的條目歸零。

一般問題

不,標准 BLAS/LAPACK 中沒有這樣的 function。

如果您願意放棄直接使用 BLAS/LAPACK 函數(存在所有潛在問題和副作用),您可能會發現線性代數包可以使此類操作更容易。 比如說, Eigen會提供TriangularViews ,而其他包會有他們這樣做的方式。

如果您必須直接使用 BLAS/LAPACK,則必須自己將其歸零。

QR分解

我假設您不需要 QR 分解中的 Q,只關心 R。 這樣,您希望將其存儲在適當的位置並清理並避免將副本復制到另一個分配的存儲中。

從技術上講,您可以使用dormqr並將矩陣 C 設置為零矩陣。 但是,它效率不高,因為您實際上是在執行不需要的線性代數運算並存儲另一個密集矩陣。 如果確實需要,您最好進行手動循環進行清理,或者將 R 復制到另一個地方(類似於這里的做法)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM