adaptiveexp

Julia package for adaptive matrix exponential based on tolerance

https://github.com/nakopylov/adaptiveexp

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 1 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.3%) to scientific vocabulary

Keywords

expm exponential matrix-exponential matrix-exponentials matrix-exponentiation matrix-function matrix-functions pade-approximant pade-approximants
Last synced: 6 months ago · JSON representation ·

Repository

Julia package for adaptive matrix exponential based on tolerance

Basic Info
Statistics
  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 2
Topics
expm exponential matrix-exponential matrix-exponentials matrix-exponentiation matrix-function matrix-functions pade-approximant pade-approximants
Created almost 2 years ago · Last pushed about 1 year ago
Metadata Files
Readme License Citation

README.md

Efficient scaling and squaring method for the matrix exponential

DOI

This repository contains a Julia package to adaptively and efficiently compute matrix exponential up to a given tolerance.

This work presents a new algorithm to compute the matrix exponential within a given tolerance. Combined with the scaling and squaring procedure, the algorithm incorporates Taylor, partitioned and classical Padé methods shown to be superior in performance to the approximants used in state-of-the-art software. The algorithm computes matrix--matrix products and also matrix inverses, but it can be implemented to avoid the computation of inverses, making it convenient for some problems. If the matrix A belongs to a Lie algebra, then exp(A) belongs to its associated Lie group, being a property which is preserved by diagonal Padé approximants, and the algorithm has another option to use only these. Numerical experiments show the superior performance with respect to state-of-the-art implementations.

Installation

```shell julia

julia> ] (@v1.11) pkg> add https://github.com/nakopylov/AdaptiveExp ```

Usage

```julia using AdaptiveExp

A = rand(5, 5); B = expadapt(A, 1e-11) C = expadapt(A) # the same as expadapt(A, 1e-12) ```

Running examples

First, change the working directory to AdaptiveExp/examples, for example, if you are currently in the package's directory: shell cd ./examples Then in Julia activate the (separate) environment in the examples directory of the package: ```shell julia

julia> ] (@v1.11) pkg> activate . Activating project at ~/AdaptiveExp/examples

(examples) pkg> Run an example in Julia REPL: shell julia> include("./experimentuniterrvsnorm.jl") ```

Owner

  • Login: nakopylov
  • Kind: user

Citation (CITATION.cff)

cff-version: 1.2.0
title: "Efficient scaling and squaring method for the matrix exponential"
message: "If you use this software in your work, please cite it using the following metadata."
date-released: 2024-04-19
authors:
- given-names: "Sergio"
  family-names: "Blanes"
  affiliation: "Universitat Politècnica de València"
  orcid: "https://orcid.org/0000-0001-5819-8898"
- given-names: "Nikita"
  family-names: "Kopylov"
  affiliation: "Universitat Politècnica de València"
  orcid: "https://orcid.org/0000-0002-5557-0858"
- given-names: "Muaz"
  family-names: "Seydaoğlu"
  affiliation: "Muş Alparslan University"
  orcid: "https://orcid.org/0000-0003-3211-0864"
abstract: "This work presents a new algorithm to compute the matrix exponential within a given tolerance. Combined with the scaling and squaring procedure, the algorithm incorporates Taylor, partitioned and classical Padé methods shown to be superior in performance to the approximants used in state-of-the-art software. The algorithm computes matrix--matrix products and also matrix inverses, but it can be implemented to avoid the computation of inverses, making it convenient for some problems. If the matrix A belongs to a Lie algebra, then exp(A) belongs to its associated Lie group, being a property which is preserved by diagonal Padé approximants, and the algorithm has another option to use only these. Numerical experiments show the superior performance with respect to state-of-the-art implementations."
version: 0.1.0
preferred-citation:
  type: article
  title: "Efficient scaling and squaring method for the matrix exponential"
  authors:
  - given-names: "Sergio"
    family-names: "Blanes"
    affiliation: "Universitat Politècnica de València"
    orcid: "https://orcid.org/0000-0001-5819-8898"
  - given-names: "Nikita"
    family-names: "Kopylov"
    affiliation: "Universitat Politècnica de València"
    orcid: "https://orcid.org/0000-0002-5557-0858"
  - given-names: "Muaz"
    family-names: "Seydaoğlu"
    affiliation: "Muş Alparslan University"
    orcid: "https://orcid.org/0000-0003-3211-0864"
  year: 2024

GitHub Events

Total
  • Release event: 1
  • Push event: 1
  • Create event: 1
Last Year
  • Release event: 1
  • Push event: 1
  • Create event: 1