Skip to content

Getting Started

Installation

Install dimtensor from PyPI:

pip install dimtensor

For development:

pip install dimtensor[dev]

Basic Usage

Creating DimArrays

A DimArray is a NumPy array with an attached physical unit:

from dimtensor import DimArray, units

# From a list
velocity = DimArray([10, 20, 30], units.m / units.s)

# From a NumPy array
import numpy as np
data = np.array([1.0, 2.0, 3.0])
distance = DimArray(data, units.km)

# Scalar values
mass = DimArray(5.0, units.kg)

Arithmetic Operations

Operations automatically track dimensions:

# Multiplication combines dimensions
force = mass * DimArray([9.8], units.m / units.s**2)
print(force)  # 49.0 N

# Addition requires same dimensions
a = DimArray([1, 2], units.m)
b = DimArray([3, 4], units.m)
print(a + b)  # [4 6] m

# Incompatible dimensions raise errors
c = DimArray([1], units.s)
a + c  # DimensionError!

Unit Conversion

Convert between compatible units:

distance = DimArray([1.0], units.km)

# Convert to meters
in_meters = distance.to(units.m)
print(in_meters)  # [1000.] m

# Convert to miles
in_miles = distance.to(units.mile)
print(in_miles)  # [0.62137119] mi

Accessing Data

arr = DimArray([1, 2, 3], units.m)

# Get the underlying NumPy array (read-only)
arr.data  # array([1, 2, 3])

# Get the unit
arr.unit  # Unit(m)

# Array properties
arr.shape  # (3,)
arr.ndim   # 1
arr.size   # 3
arr.dtype  # dtype('int64')

What's Next?