Skip to main content

High-performance linear algebra library written in Rust

Project description

orthos

High-performance linear algebra library written in Rust with Python bindings.

Installation

pip install orthos

Usage

from orthos import Matrix, Vector

# Create matrices
a = Matrix([[1.0, 2.0], [3.0, 4.0]])
b = Matrix.identity(2)

# Matrix operations
c = a @ b           # Matrix multiplication
d = a + b           # Addition
e = a.transpose()   # Transpose
f = a.inverse()     # Inverse

# Access elements
print(a[0, 0])      # 1.0
print(a.shape)      # (2, 2)

# NumPy interoperability
import numpy as np
np_array = np.array([[1.0, 2.0], [3.0, 4.0]])
m = Matrix.from_numpy(np_array)
back_to_numpy = m.to_numpy()

# Vectors
v = Vector([1.0, 2.0, 3.0])
w = Vector([4.0, 5.0, 6.0])
dot_product = v.dot(w)
normalized = v.normalize()

Features

  • Matrix creation (zeros, ones, identity, from lists, from NumPy)
  • Matrix arithmetic (add, subtract, multiply, scale)
  • Matrix operations (transpose, inverse, determinant, trace)
  • Vector operations (dot product, norm, normalize)
  • Matrix-vector multiplication
  • NumPy array interoperability

Development

# Create virtual environment
uv venv .venv
source .venv/bin/activate
uv pip install maturin pytest numpy

# Build and install in development mode
maturin develop

# Run tests
cargo test          # Rust tests
pytest tests/       # Python tests

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

orthos-0.1.0.tar.gz (31.6 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

orthos-0.1.0-cp313-cp313-win_amd64.whl (693.7 kB view details)

Uploaded CPython 3.13Windows x86-64

orthos-0.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (925.2 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

orthos-0.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (543.6 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

orthos-0.1.0-cp313-cp313-macosx_11_0_arm64.whl (459.3 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

orthos-0.1.0-cp313-cp313-macosx_10_12_x86_64.whl (603.9 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

orthos-0.1.0-cp312-cp312-win_amd64.whl (694.0 kB view details)

Uploaded CPython 3.12Windows x86-64

orthos-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (925.4 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

orthos-0.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (543.7 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

orthos-0.1.0-cp312-cp312-macosx_11_0_arm64.whl (459.3 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

orthos-0.1.0-cp312-cp312-macosx_10_12_x86_64.whl (603.9 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

orthos-0.1.0-cp311-cp311-win_amd64.whl (691.2 kB view details)

Uploaded CPython 3.11Windows x86-64

orthos-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (925.0 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

orthos-0.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (543.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

orthos-0.1.0-cp311-cp311-macosx_11_0_arm64.whl (459.8 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

orthos-0.1.0-cp311-cp311-macosx_10_12_x86_64.whl (604.7 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

orthos-0.1.0-cp310-cp310-win_amd64.whl (691.3 kB view details)

Uploaded CPython 3.10Windows x86-64

orthos-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (925.1 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

orthos-0.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (543.7 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

orthos-0.1.0-cp310-cp310-macosx_11_0_arm64.whl (459.8 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

orthos-0.1.0-cp310-cp310-macosx_10_12_x86_64.whl (604.9 kB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

orthos-0.1.0-cp39-cp39-win_amd64.whl (691.7 kB view details)

Uploaded CPython 3.9Windows x86-64

orthos-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (925.7 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

orthos-0.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (544.4 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

orthos-0.1.0-cp39-cp39-macosx_11_0_arm64.whl (460.4 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

orthos-0.1.0-cp39-cp39-macosx_10_12_x86_64.whl (605.7 kB view details)

Uploaded CPython 3.9macOS 10.12+ x86-64

File details

Details for the file orthos-0.1.0.tar.gz.

File metadata

  • Download URL: orthos-0.1.0.tar.gz
  • Upload date:
  • Size: 31.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: maturin/1.11.5

File hashes

Hashes for orthos-0.1.0.tar.gz
Algorithm Hash digest
SHA256 39206ead2dad2ecb7453d5a6d816cf8bdb13f32b0bb432aba9c200290cdbf345
MD5 65a3f0b7c86ea033643108332dafc47c
BLAKE2b-256 0ca495066cf41386f05a99d2aec2c90bc9c8d8bd11ac102ef83b9242e3a36883

See more details on using hashes here.

File details

Details for the file orthos-0.1.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: orthos-0.1.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 693.7 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: maturin/1.11.5

File hashes

Hashes for orthos-0.1.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 4a5a4a6de741118c4a7faa9ce37aba632245dd5c628c18fbeabd179900c9a3c9
MD5 d4c0eda7dc285c84afafd835f96141ec
BLAKE2b-256 59a977cfb7c76c4a997c47c13ad14091fccba52cd69451e13f885bdb5c30116a

See more details on using hashes here.

File details

Details for the file orthos-0.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for orthos-0.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2426afbe55c8f7b84e5c92b320e6b2fd75042c75cbc79a7b8f84a98231fe0df8
MD5 873484640df422e907075ada5e728006
BLAKE2b-256 e9e68a349fb2437bf34f60a0990b8e31b53a1e67490418ebac6f1304e1bc6b18

See more details on using hashes here.

File details

Details for the file orthos-0.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for orthos-0.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e1360a9958b5989b476200e139a0fef21ddcf8a3bee7e8b7a56db10305c63430
MD5 3cec751de98d025ea8bc50c087eac213
BLAKE2b-256 df066da9eeaec876e6c9640f80d047389acd6e3c31acccf53fa581d4e8371d04

See more details on using hashes here.

File details

Details for the file orthos-0.1.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for orthos-0.1.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1b0e4cc86cb27ebe2247d61120d534dd713dd7bb31248f3a3bc6291d2c332102
MD5 c7fcf03d3a48bfefdbb95f992abca218
BLAKE2b-256 fbfa25afd607baf26d944fc085b55b3c5e4e140a0367056504ccde150d0e4e77

See more details on using hashes here.

File details

Details for the file orthos-0.1.0-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for orthos-0.1.0-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 07dd296f8349e9d183b213cdf532ad2a524c45117b0d995c5212084689c3275b
MD5 5efc590676706c1bbd09ae043aecffd3
BLAKE2b-256 27c2386aa5d1b5db98161ba04130071a5abd0e4bf786e9c9cee70fe306d0e9f9

See more details on using hashes here.

File details

Details for the file orthos-0.1.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: orthos-0.1.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 694.0 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: maturin/1.11.5

File hashes

Hashes for orthos-0.1.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 38142335ddba5c6c3bf1733dbf47a86232cdd6023c40cec90bf8db850fd66b30
MD5 e90adab96f5a78850d53e032eb3cc1e3
BLAKE2b-256 e4569744fc58374499699403e9bcbba1bb38f8317250013e2841792ac7ff9af4

See more details on using hashes here.

File details

Details for the file orthos-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for orthos-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a27d0dfd47d7041f006ab491db43e98d3ca9293b408a0ac4f1e1fd8bc4e0d8f4
MD5 d395aae19cd7aca7a27fce3250055d8c
BLAKE2b-256 0bac9ca8d8de135c3a033f7199b6df0ec0a729dc0fcb2bb656bc6f00eb63221a

See more details on using hashes here.

File details

Details for the file orthos-0.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for orthos-0.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 55a915c5c35177f86a87eb4807e85bf21234f1e7e97156c0f8c51b82598f0414
MD5 f2e9c3d570fec969737ae1a118d99649
BLAKE2b-256 70bef6a8852e13d202d0fe5b58ad1645e139339a69ccdb5ab6c39dc51663eec4

See more details on using hashes here.

File details

Details for the file orthos-0.1.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for orthos-0.1.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 efdab37dd26eba13269016121138ec6c58ad4a9a744b9e798ab739a539ca9dd6
MD5 120c6a6eece955c978820841db51cf3c
BLAKE2b-256 4e44cb7e49e8cdf19a591ebe7d9f053ea4eea54fe956d7fc12d5d4023715b9ac

See more details on using hashes here.

File details

Details for the file orthos-0.1.0-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for orthos-0.1.0-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 ea46233b9b613e5a75c07ab0b74108f72656474f8fa9333d337bb63cb2a39466
MD5 01e4d44d3fc66fa22386831dec1e815a
BLAKE2b-256 b02da1efcc7aac12d9fa401886d635a73c398729243fc993990dfe18c3468d6b

See more details on using hashes here.

File details

Details for the file orthos-0.1.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: orthos-0.1.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 691.2 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: maturin/1.11.5

File hashes

Hashes for orthos-0.1.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 ff33b2b30f42bd2648d2652441bac5cf9060690033e46c9478329ffdeba5d15b
MD5 b696b7eca1ec48fc87dafb01acd7a1f6
BLAKE2b-256 b0a39f8776bde4b5b238c959a1f73939c0a834880aec91fde131141ee29f9a69

See more details on using hashes here.

File details

Details for the file orthos-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for orthos-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 65fbcd6ee0e0815a1805a7b00003d2d9f17a07fcf9791bd1ee24c5b9608578e8
MD5 b401d270f1e200f10fcacd5e65141f9e
BLAKE2b-256 78d32612ab21b0583e7c0ac8a8c00ab9273d331d7bc5c2d8906e61762c735e50

See more details on using hashes here.

File details

Details for the file orthos-0.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for orthos-0.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3b74ed0e9faa9de7aad18a99d3b2cc19c59797bf4c9f310feaa90d287d80bce7
MD5 cac3da8918b88db8fc3874063b0dadbe
BLAKE2b-256 ee43d43629ef95c90b1b3f2ebbb6c0c38b0478568119ab77c3b1fecdc0d3a831

See more details on using hashes here.

File details

Details for the file orthos-0.1.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for orthos-0.1.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d1349a94fdf093b76a1bfe03f17bb368fd611a700c5f20fd7577584633b21201
MD5 50390e06213acc8ec4ce714476d4c3d7
BLAKE2b-256 62ffbc1266fae58c0917897d22eeb5453a4da46ca4887600fff3d7d0a8f4e816

See more details on using hashes here.

File details

Details for the file orthos-0.1.0-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for orthos-0.1.0-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 a011ee804958eb3292567b1208c5dd7d31c9e72e05195efa2e634ef0f1f7830e
MD5 11d5153a2befa1081c50d0c7c2000be6
BLAKE2b-256 df19b5897843981ad709bc3328a3fb7f579a91efdf676be9bef5ea4b3eb72c3f

See more details on using hashes here.

File details

Details for the file orthos-0.1.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: orthos-0.1.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 691.3 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: maturin/1.11.5

File hashes

Hashes for orthos-0.1.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 48da09550b0c00d1f2566ad7d0d59a2abbb1a3953c69ac65e069a14342468e01
MD5 db9062cb7a7fa578680f2bf27f2bf7d0
BLAKE2b-256 81085e33fadefba3b8c91bba2f9ea7b760ae7e7503c43239179d4321686b5966

See more details on using hashes here.

File details

Details for the file orthos-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for orthos-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5684852296fa3112e13bd8e6b6b7b3b8cb399105d6a50d90989a3650f7006f1f
MD5 1ff2b195d457f748e30df25c88abe6a8
BLAKE2b-256 df4e6698aec2d6f6c9d2e115f7bcb1e98f87e5832d550b975bbf8c6654b78144

See more details on using hashes here.

File details

Details for the file orthos-0.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for orthos-0.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a22d630a118cf5530dcd6671a1e3a65a10219710304d4b5d786cc5c25cc510d4
MD5 d18fea5e3eb33d8f8e0353e186bad222
BLAKE2b-256 08ba7655e780f256c9732b92ae47f529f5b87b8329523f0888f0defb880dee0f

See more details on using hashes here.

File details

Details for the file orthos-0.1.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for orthos-0.1.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d1ad666ff37efb6eb13d3d04ab8481cca55a0e9bc7c824a19276da3de49e3fe5
MD5 cf1b58feb2505df2d8c1b4e0c8e77ced
BLAKE2b-256 3c8486f9f3468718eab0073e09754e79126f6f907a86ece53546265ed0436439

See more details on using hashes here.

File details

Details for the file orthos-0.1.0-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for orthos-0.1.0-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 63144903252ba3d324f37bef795baaf00c7c34461a56f54e2f044e485151f443
MD5 c4c8b25e6285391dcb0a851a05dc50b2
BLAKE2b-256 b54bfd29e8631659f078b60ef687ec3270f591ea335adfc583c1d5e4558478f1

See more details on using hashes here.

File details

Details for the file orthos-0.1.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: orthos-0.1.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 691.7 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: maturin/1.11.5

File hashes

Hashes for orthos-0.1.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 13cb41f3e04d6c2e97ba074765cb7a2daa2a0ca19ed259370963fec7d851fa0b
MD5 7db12ea9cc8863a82a6e8cf338124c51
BLAKE2b-256 3c2d66070c47b49779dcc8e40b536a2aa65f4789498aa5f57c54f7612b36febf

See more details on using hashes here.

File details

Details for the file orthos-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for orthos-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8ad88ac0315d35de39c406ff5bcdf7f0876bcd7f8ca95a4e1944bde770f0f192
MD5 c779484978fba910dbe01c6991f6f2fe
BLAKE2b-256 ff2abf1a7abd5abd0de40a68aa05dea9f95b039ca3bbad71146656092d93af0e

See more details on using hashes here.

File details

Details for the file orthos-0.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for orthos-0.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 35e8510476620c96738a7948125eb68ebe55686f7d0222624a222520ad1442bd
MD5 baa321c0cd39a8d171b6bb8e5c27bbf9
BLAKE2b-256 7cb47c5ad592bdb6535ba711db8660f525fbba378c5da0125449a9c8181b2330

See more details on using hashes here.

File details

Details for the file orthos-0.1.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for orthos-0.1.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 16cac1d62c8c9092a9cb61fa16608403213d5e6103b27cddd7bb62ff8ea6fdf6
MD5 b134cf4a8e0cc59904f29775824f456e
BLAKE2b-256 559060234098000f40ab342ed7907da8c6cc087e98c71e7bbea8ac54ec2f2b40

See more details on using hashes here.

File details

Details for the file orthos-0.1.0-cp39-cp39-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for orthos-0.1.0-cp39-cp39-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 eb99373403ab9de1b4e0ff9c0de252a6133e70b9f61139722ebb4795730e026f
MD5 040af54a5b4e2a4db455c14fca3688b4
BLAKE2b-256 18b9da094218f0116a6207f3e806a6daf56383a461cc1759b9a8e793394fe7f5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page