Skip to content

Latest commit

 

History

History
85 lines (60 loc) · 1.77 KB

File metadata and controls

85 lines (60 loc) · 1.77 KB

Sciko Linear Algebra

A Kotlin Multiplatform library for linear algebra operations.

Features

  • Eigen decomposition for real matrices
  • LU decomposition
  • QR decomposition
  • Schur transformation
  • High precision floating point utilities
  • Support for both JVM and JavaScript platforms

Usage

Gradle

Add the following to your build.gradle.kts:

repositories {
    maven {
        name = "GitHubPackages"
        url = uri("https://maven.pkg.github.com/mihbor/sciko-linalg")
        credentials {
            username = project.findProperty("gpr.user") as String? ?: System.getenv("USERNAME")
            password = project.findProperty("gpr.key") as String? ?: System.getenv("TOKEN")
        }
    }
}

dependencies {
    implementation("ltd.mbor.sciko:sciko-linalg:0.1-SNAPSHOT")
}

Authentication

To use packages from GitHub Packages, you need to authenticate:

  1. Using environment variables:

    export USERNAME=your-github-username
    export TOKEN=your-github-personal-access-token
  2. Using gradle.properties:

    gpr.user=your-github-username
    gpr.key=your-github-personal-access-token

The personal access token needs the read:packages scope.

Publishing

Automatic Publishing

The library is automatically published to GitHub Packages on every push to the main branch, when a release is created, or when the workflow is manually triggered.

Manual Publishing

To publish manually:

export USERNAME=your-github-username
export TOKEN=your-github-personal-access-token
./gradlew publishAllPublicationsToGitHubPackagesRepository

Building

./gradlew build

Testing

./gradlew test

License

Licensed under the Apache License 2.0. See LICENSE for details.