Ich portiere etwas Matlab-Code, der rcond() verwendet, um auf Singularität zu testen, wie auch recommended here (für Matlab-Singularitätstest).Gibt es eine Entsprechung zu MATLABs Funktion rcond() in Julia?
Ich sehe, dass es eine cond() Funktion in Julia (wie auch in Matlab), aber rcond() erscheint nicht standardmäßig verfügbar zu sein:
ERROR: rcond not defined
ich das rcond annehmen würde(), wie die Matlab-Version ist more efficient than 1/cond(). Gibt es in Julia eine solche Funktion, vielleicht mit einem Zusatzmodul?
Ein Link zu der Implementierung in Ihrer Antwort ist sehr cool. Vielen Dank! Konnte Matlab's rcond die Berechnung aller singulären Werte vermeiden, vielleicht eine Schätzung von nur dem größten und kleinsten bekommen? –
Matlab verwendet wahrscheinlich nur LAPACKs [dgecon.f] (http://www.netlib.org/lapack/double/dgecon.f), die in Julia ähnlich exponiert (und weiter für verschiedene Matrixtypen spezialisiert) werden könnten. –
Ah, es ist [bereits verpackt] (https://github.com/JuliaLang/julia/blob/b33f5782d2b8d8c8bf569fb152af46dbf2e3ec29/base/linalg/lapack.jl#L3219-L3285) und in [einigen Fällen] (https: // github .com/JuliaLang/julia/blob/b33f5782d2b8d8c8bf569fb152af46dbf2e3ec29/base/linalg/lu.jl # L153). Es wäre wahrscheinlich gut, ein Benchmarking durchzuführen, um zu sehen, ob eine explizite Matlab-artige 'rcond' gerechtfertigt ist. –