All Projects → JuliaSmoothOptimizers → LimitedLDLFactorizations.jl

JuliaSmoothOptimizers / LimitedLDLFactorizations.jl

Licence: other
Limited-Memory Factorization of Symmetric Matrices

Programming Languages

julia
2034 projects
shell
77523 projects

Projects that are alternatives of or similar to LimitedLDLFactorizations.jl

FstFileFormat.jl
Julia bindings for the fst format
Stars: ✭ 17 (+13.33%)
Mutual labels:  julia-language
JuliaAcademyMaterials
Assets and Infrastructure for JuliaAcademy.com
Stars: ✭ 60 (+300%)
Mutual labels:  julia-language
julia-NotepadPlusPlus
Julia language support for Notepad++
Stars: ✭ 34 (+126.67%)
Mutual labels:  julia-language
BusinessDays.jl
📆 A highly optimized Business Days calculator written in Julia language. Also known as Working Days calculator.
Stars: ✭ 53 (+253.33%)
Mutual labels:  julia-language
AbstractOperators.jl
Abstract operators for large scale optimization in Julia
Stars: ✭ 26 (+73.33%)
Mutual labels:  julia-language
PkgPage.jl
Create a beautiful landing page for your package in less than 10 minutes.
Stars: ✭ 98 (+553.33%)
Mutual labels:  julia-language
RolX
An alternative implementation of Recursive Feature and Role Extraction (KDD11 & KDD12)
Stars: ✭ 52 (+246.67%)
Mutual labels:  factorization
julia-workshop
"Integrating Julia in real-world, distributed pipelines" for JuliaCon 2017
Stars: ✭ 39 (+160%)
Mutual labels:  julia-language
Julia
Algorithms implemented in the Julia programming language. We're collaborating with the Humans of Julia community!
Stars: ✭ 216 (+1340%)
Mutual labels:  julia-language
NMFADMM
A sparsity aware implementation of "Alternating Direction Method of Multipliers for Non-Negative Matrix Factorization with the Beta-Divergence" (ICASSP 2014).
Stars: ✭ 39 (+160%)
Mutual labels:  factorization
deoplete-julia
deoplete.nvim source for julia. Providing julia Syntax Completions for julia, in Neovim (deprecated for julia 0.6+)
Stars: ✭ 12 (-20%)
Mutual labels:  julia-language
PlutoTest.jl
✔️ Visual, reactive testing library for Julia. Time machine included.
Stars: ✭ 56 (+273.33%)
Mutual labels:  julia-language
ARCHModels.jl
A Julia package for estimating ARMA-GARCH models.
Stars: ✭ 63 (+320%)
Mutual labels:  julia-language
FaceDetection.jl
A face detection algorithm using Viola-Jones' rapid object detection framework written in Julia
Stars: ✭ 13 (-13.33%)
Mutual labels:  julia-language
LocalCoverage.jl
Trivial functions for working with coverage for packages locally.
Stars: ✭ 55 (+266.67%)
Mutual labels:  julia-language
BeautifulMakie
https://lazarusa.github.io/BeautifulMakie/
Stars: ✭ 281 (+1773.33%)
Mutual labels:  julia-language
Cards.jl
A package for representing hands of cards (quite compactly)
Stars: ✭ 41 (+173.33%)
Mutual labels:  julia-language
Nabla.jl
A operator overloading, tape-based, reverse-mode AD
Stars: ✭ 54 (+260%)
Mutual labels:  julia-language
ReinforcementLearningZoo.jl
juliareinforcementlearning.org/
Stars: ✭ 46 (+206.67%)
Mutual labels:  julia-language
CFD-Julia-12-steps--o-Navier-Stokes-Equations
This is a replication of "CFD Python: 12 steps to Navier-Stokes" in Julia
Stars: ✭ 33 (+120%)
Mutual labels:  julia-language

Limited-Memory LDLᵀ Factorization

DOI CI Build Status codecov Documentation/stable Documentation/dev

A Port of LLDL to Julia. See https://github.com/optimizers/lldl.

Please cite this repository if you use LimitedLDLFactorizations.jl in your work: see CITATION.bib.

LimitedLDLFactorizations is a limited-memory LDLᵀ factorization for symmetric matrices. Given a symmetric matrix A, we search for a unit lower triangular L, a diagonal D and a diagonal ∆ such that LDLᵀ is an incomplete factorization of A+∆. The elements of the diagonal matrix ∆ have the form ±α, where α ≥ 0 is a shift.

It is possible to only supply the lower triangle of A and/or a prescribed permutation that attempts to diminish fill-in. AMD.jl and Metis.jl are recommended packages for computing fill-reducing orderings of sparse matrices.

Installing

julia> ]
pkg> add LimitedLDLFactorizations

Brief Description

The only functions exported are lldl, \, ldiv! and nnz. Supply a dense array or sparse matrix to lldl. Dense arrays will be converted to sparse. The strict lower triangle and diagonal of sparse matrices will be extracted.

Optionally, supply

  • a memory parameter to allow more fill in the L factor;
  • a drop tolerance to discard small elements in the L factor;
  • an initial shift to speed up the process in case the factorization does not exist without shift.

Using a memory parameter larger than or equal to the size of A will yield an exact factorization provided one exists with the permutation supplied. In particular, the full factorization exists for any symmetric permutation of a symmetric quasi-definite matrix.

lldl returns a factorization in the form of a LimitedLDLFactorization object. The \ and ldiv! methods are implemented for objects of type LimitedLDLFactorization

More Examples

See examples/example.jl and tests/runtest.jl.

Complete Description

[1] C.-J. Lin and J. J. Moré. Incomplete Cholesky factorizations with limited memory. SIAM Journal on Scientific Computing, 21(1):24--45, 1999. DOI 10.1137/S1064827597327334.
[2] http://www.mcs.anl.gov/~more/icfs
[3] D. Orban. Limited-Memory LDLᵀ Factorization of Symmetric Quasi-Definite Matrices with Application to Constrained Optimization. Numerical Algorithms 70(1):9--41, 2015. DOI 10.1007/s11075-014-9933-x.
[4] https://github.com/optimizers/lldl

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].