https://github.com/briochemc/hyperdualmatrixtools.jl

A little Julia module to allow factorization and backslash to work with hyperdual-valued arrays and sparse arrays.

https://github.com/briochemc/hyperdualmatrixtools.jl

Science Score: 33.0%

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

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
    1 of 2 committers (50.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (9.9%) to scientific vocabulary

Keywords

backslash julia julia-language julia-package julialang matrix-factorization sparse-matrices

Keywords from Contributors

tracers fluxes optim thread
Last synced: 5 months ago · JSON representation

Repository

A little Julia module to allow factorization and backslash to work with hyperdual-valued arrays and sparse arrays.

Basic Info
  • Host: GitHub
  • Owner: briochemc
  • License: mit
  • Language: Julia
  • Default Branch: master
  • Size: 158 KB
Statistics
  • Stars: 4
  • Watchers: 2
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Topics
backslash julia julia-language julia-package julialang matrix-factorization sparse-matrices
Created over 7 years ago · Last pushed about 6 years ago
Metadata Files
Readme License

README.md

HyperDualMatrixTools.jl

DOI Build Status Coverage Status License: MIT

This package provides an overloaded factorize and \ that work with hyperdual-valued arrays.

It uses the hyper dual type defined by the HyperDualNumbers.jl package. The idea is that for a hyperdual-valued matrix

,

its inverse is given by

.

Therefore, only the inverse of is required to evaluate the inverse of . This package makes available a HyperDualFactors type which containts the factors of and the non-real parts of , and overloads factorize to create an instance of HyperDualFactors, which can then be called with \ to efficiently solve hyperdual-valued linear systems of the type .

This package should be useful for autodifferentiation of functions that use \. Note that this package is the equivalent of the DualMatrixTools.jl package, but for hyperdual numbers instead of dual numbers.

Usage

  • Create your hyperdual-valued matrix M: julia julia> M = A + ε₁ * B + ε₂ * C + ε₁ε₂ * D

  • Factorize M: julia julia> Mf = factorize(M)

  • Apply \ to solve systems of the type M * x = b julia julia> x = Mf \ b

Advanced usage

In the context of iterative processes with multiple factorizations and forward and back substitutions, you may want to propagate hyperdual-valued numbers while leveraging (potentially) the fact the real part of the matrices to be factorized remains the same throughout. This package provides an in-place factorize, with a flag to update (or not) the factors. Usage is straightforward. By default, factorize does not update the factors julia julia> factorize(Mf, M) # only Mf.B, Mf.C, and Mf.D is updated If you want to update the real-valued factors too, use julia julia> factorize(Mf, M, update_factors=true) # The factors in Mf.Af are also updated

Citation

If you use this package, please cite it! You can export the citation by first clicking on the DOI badge at the top, which links to the Zenodo record of the package, and then clicking on the citation format you want in the "Export" box at the bottom of the page.

Owner

  • Name: Benoît Pasquier
  • Login: briochemc
  • Kind: user
  • Location: Sydney, Australia
  • Company: UNSW

Research Associate at UNSW

GitHub Events

Total
Last Year

Committers

Last synced: over 1 year ago

All Time
  • Total Commits: 71
  • Total Committers: 2
  • Avg Commits per committer: 35.5
  • Development Distribution Score (DDS): 0.014
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Benoit Pasquier p****b@u****u 70
Julia TagBot 5****t 1
Committer Domains (Top 20 + Academic)
uci.edu: 1

Issues and Pull Requests

Last synced: 7 months ago

All Time
  • Total issues: 5
  • Total pull requests: 1
  • Average time to close issues: 21 days
  • Average time to close pull requests: about 7 hours
  • Total issue authors: 3
  • Total pull request authors: 1
  • Average comments per issue: 1.0
  • Average comments per pull request: 1.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • attobot (3)
  • KristofferC (1)
  • briochemc (1)
Pull Request Authors
  • JuliaTagBot (1)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • julia 1 total
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 9
juliahub.com: HyperDualMatrixTools

A little Julia module to allow factorization and backslash to work with hyperdual-valued arrays and sparse arrays.

  • Versions: 9
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 1 Total
Rankings
Dependent repos count: 9.9%
Average: 37.7%
Dependent packages count: 38.9%
Stargazers count: 48.5%
Forks count: 53.5%
Last synced: 6 months ago

Dependencies

REQUIRE julia
  • HyperDualNumbers *
  • julia 1.0