matrixtensorfactor.jl

Matrix-tensor decomposition package

https://github.com/mpf-optimization-laboratory/matrixtensorfactor.jl

Science Score: 44.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
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (8.1%) to scientific vocabulary
Last synced: 7 months ago · JSON representation ·

Repository

Matrix-tensor decomposition package

Basic Info
Statistics
  • Stars: 2
  • Watchers: 1
  • Forks: 1
  • Open Issues: 0
  • Releases: 0
Created over 2 years ago · Last pushed 11 months ago
Metadata Files
Readme Citation

README.md

MatrixTensorFactor.jl

Overhauled code comming soon! See here for prerelease: https://github.com/MPF-Optimization-Laboratory/MatrixTensorFactor.jl/tree/general-block-decomposition

New features in testing now: - More tensor decomposition models like Tucker, Tucker-N, CP and custom factorizations - More constraints and along any dimentions (ex. columns sum to 1, second order slices are L2 normalized) - Cyclically or randomly update blocks - selectively use momentum gradient steps on some blocks - More convergence criteria (ex. objective value, stationary) - Record any number of stats every iteration - Pass in custom initilization

Planned features: - More loss functions to optimize (ex. L1 norm, custom objective with auto diff)

About

See documentation here: https://mpf-optimization-laboratory.github.io/MatrixTensorFactor.jl/dev/

Factorize a 3rd order tensor Y into a matrix A and 3rd order tensor B: Y=AB. Componentwise, this is:

Y[i,j,k] = sum_{r=1}^R ( A[i,r] * B[r,j,k] )

Reference

If you find this package at all helpful, please cite the associated paper which is avalible for preprint here: https://friedlander.io/publications/2024-sediment-source-analysis/

@misc{graham_tracing_2024, title = {Tracing {Sedimentary} {Origins} in {Multivariate} {Geochronology} via {Constrained} {Tensor} {Factorization}}, url = {https://friedlander.io/publications/2024-sediment-source-analysis/}, urldate = {2024-06-28}, author = {Graham, Naomi and Richardson, Nicholas and Friedlander, Michael P. and Saylor, Joel}, month = may, year = {2024}, note = {Preprint}, journal = {Preprint}, }

Owner

  • Name: Michael Friedlander
  • Login: MPF-Optimization-Laboratory
  • Kind: organization
  • Email: michael@friedlander.io
  • Location: University of British Columbia

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: MatrixTensorFactor.jl
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Nicholas
    family-names: Richardson
    email: njericha@math.ubc.ca
    affiliation: University of British Columbia
    orcid: 'https://orcid.org/0009-0006-9382-7227'
  - given-names: Naomi
    family-names: Graham
    affiliation: University of British Columbia
    email: naomigra@cs.ubc.ca
  - given-names: Michael P.
    family-names: Friedlander
    email: mpf@cs.ubc.ca
    affiliation: University of British Columbia
    orcid: 'https://orcid.org/0000-0003-0222-5222'
  - orcid: 'https://orcid.org/0000-0001-7746-862X'
    given-names: Joel
    family-names: Saylor
    email: jsaylor@eoas.ubc.ca
    affiliation: University of British Columbia
repository-code: 'https://github.com/njericha/MatrixTensorFactor.jl'
abstract: >-
  Decomposes sediment data into unknown sources and
  proportions with kernel density estimation and
  matrix-tensor factorization.
keywords:
  - tensor
  - factorization
  - decomposition
  - NMF
  - sediment

GitHub Events

Total
  • Watch event: 1
  • Push event: 12
Last Year
  • Watch event: 1
  • Push event: 12

Dependencies

.github/workflows/documentation.yml actions
  • actions/checkout v2 composite
  • julia-actions/setup-julia v1 composite