LimitedLDLFactorizations

Limited-Memory Factorization of Symmetric Matrices

https://github.com/juliasmoothoptimizers/limitedldlfactorizations.jl

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 6 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.7%) to scientific vocabulary

Keywords

factorization julia julia-language

Keywords from Contributors

matrices nlpmodels performance-profile nonlinear-optimization preconditioner linear-operators linear-maps nonlinear-programming linear-systems krylov
Last synced: 6 months ago · JSON representation ·

Repository

Limited-Memory Factorization of Symmetric Matrices

Basic Info
  • Host: GitHub
  • Owner: JuliaSmoothOptimizers
  • License: other
  • Language: Julia
  • Default Branch: main
  • Size: 920 KB
Statistics
  • Stars: 21
  • Watchers: 3
  • Forks: 10
  • Open Issues: 7
  • Releases: 11
Topics
factorization julia julia-language
Created over 8 years ago · Last pushed 9 months ago
Metadata Files
Readme License Citation Zenodo

README.md

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.cff.

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 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

Bug reports and discussions

If you think you found a bug, feel free to open an issue. Focused suggestions and requests can also be opened as issues. Before opening a pull request, start an issue or a discussion on the topic, please.

If you want to ask a question not suited for a bug report, feel free to start a discussion here. This forum is for general discussion about this repository and the JuliaSmoothOptimizers, so questions about any of our packages are welcome.

Owner

  • Name: JuliaSmoothOptimizers
  • Login: JuliaSmoothOptimizers
  • Kind: organization
  • Location: DOI: 10.5281/zenodo.2655082

Infrastructure and Solvers for Continuous Optimization in Julia

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: >-
  LimitedLDLFactorizations.jl: Limited-Memory $LDL^T$ Factorization
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Dominique
    family-names: Orban
    email: dominique.orban@gerad.ca
    orcid: 'https://orcid.org/0000-0002-8017-7687'
    affiliation: >-
      GERAD and Department of Mathematics and
      Industrial Engineering, Polytechnique Montréal,
      QC, Canada
  - given-names: contributors
identifiers:
  - description: Zenodo archive
    type: doi
    value: 10.5281/zenodo.3474804
keywords:
  - Linear Algebra
  - Julia
  - Matrix Factorization
license: MPL-2.0
version: 0.5.1
date-released: '2023-10-18'
repository-code: >-
  https://github.com/JuliaSmoothOptimizers/LimitedLDLFactorizations.jl

GitHub Events

Total
  • Delete event: 5
  • Issue comment event: 9
  • Push event: 26
  • Pull request review event: 2
  • Pull request event: 11
  • Create event: 6
  • Commit comment event: 1
Last Year
  • Delete event: 5
  • Issue comment event: 9
  • Push event: 26
  • Pull request review event: 2
  • Pull request event: 11
  • Create event: 6
  • Commit comment event: 1

Committers

Last synced: 8 months ago

All Time
  • Total Commits: 105
  • Total Committers: 12
  • Avg Commits per committer: 8.75
  • Development Distribution Score (DDS): 0.629
Past Year
  • Commits: 11
  • Committers: 5
  • Avg Commits per committer: 2.2
  • Development Distribution Score (DDS): 0.455
Top Committers
Name Email Commits
Dominique Orban d****n@g****m 39
Alexis Montoison a****n@p****a 18
Geoffroy Leconte g****0@g****m 13
Abel Soares Siqueira a****a@g****m 9
JSOBot 6****t 8
github-actions[bot] 4****] 5
Monssaf Toukal t****f@g****m 4
Tangi Migot t****t@g****m 4
t-bltg t****g@g****m 2
Chris Geoga 2****a 1
Julia TagBot 5****t 1
Théo Galizzi t****i@e****r 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 15
  • Total pull requests: 75
  • Average time to close issues: 5 months
  • Average time to close pull requests: 12 days
  • Total issue authors: 10
  • Total pull request authors: 12
  • Average comments per issue: 3.2
  • Average comments per pull request: 1.88
  • Merged pull requests: 68
  • Bot issues: 0
  • Bot pull requests: 9
Past Year
  • Issues: 0
  • Pull requests: 3
  • Average time to close issues: N/A
  • Average time to close pull requests: 3 days
  • Issue authors: 0
  • Pull request authors: 3
  • Average comments per issue: 0
  • Average comments per pull request: 2.33
  • Merged pull requests: 3
  • Bot issues: 0
  • Bot pull requests: 1
Top Authors
Issue Authors
  • dpo (3)
  • geoffroyleconte (2)
  • RoyiAvital (2)
  • abelsiqueira (2)
  • JeffFessler (1)
  • jvdp1 (1)
  • amontoison (1)
  • t-bltg (1)
  • JuliaTagBot (1)
  • mzy2240 (1)
Pull Request Authors
  • dpo (29)
  • github-actions[bot] (11)
  • geoffroyleconte (10)
  • amontoison (9)
  • abelsiqueira (7)
  • tmigot (5)
  • t-bltg (3)
  • cgeoga (2)
  • MonssafToukal (2)
  • JSOBot (1)
  • JuliaTagBot (1)
  • tgalizzi (1)
Top Labels
Issue Labels
enhancement (2) bug (1) help wanted (1) documentation (1)
Pull Request Labels
formatting (11) automated pr (11) no changelog (11) benchmarks (3) documentation (2)

Packages

  • Total packages: 1
  • Total downloads:
    • julia 175 total
  • Total dependent packages: 4
  • Total dependent repositories: 0
  • Total versions: 11
juliahub.com: LimitedLDLFactorizations

Limited-Memory Factorization of Symmetric Matrices

  • Versions: 11
  • Dependent Packages: 4
  • Dependent Repositories: 0
  • Downloads: 175 Total
Rankings
Dependent repos count: 9.9%
Dependent packages count: 13.2%
Forks count: 13.7%
Average: 15.1%
Stargazers count: 23.4%
Last synced: 7 months ago