Turing college DE 2.1 coursework for Matrix operations: transform, window and cross-correlation using Python standard library.
Project description
Contents
Overview
This library offers transpose2d, window1d and convolution2d functions to perform 2D matrix creation, transposition and cross-correlation, and 1D array windowing.These functions are particularly useful for machine learning applications.
Prerequisites
Python 3.10 or newer. Numpy 2.7 or newer.
Custom Generic Types
Within this library, there are three custom generic types to streamline function signatures and maintain type consistency, which can be enforced by MyPy:
- Matrix: Represents a 2D list of floats and is bound to
List[List[float]]. - Array1D: Represents a 1D array, which can either be a Python list or a 1D numpy array. It is defined as
TypeVar("Array1D", List[float], np.ndarray). - Matrix2D: Represents a 2D numpy array and is bound to np.ndarray.
Installation
Package can be reached manually at PyPi.
The library can be installed directly from PyPi:
pip install turing-21-matrix-operations
Functions
Create Random Matrix
The create_random_matrix function generates a matrix filled with random numbers between 0 and 10.
Arguments
- rows (int): Number of rows in the matrix.
- columns (int): Number of columns in the matrix.
Returns
- Matrix: 2D list of random floats.
Usage:
from turing-21-matrix-operations import create_random_matrix
matrix = create_random_matrix(3, 4)
print(matrix)
Transpose2D
The transpose2d function is designed to transpose a 2D matrix by swapping its rows and columns.
Arguments
- input_matrix (Matrix): 2D list to be transposed.
Returns
- Matrix: Transposed 2D list.
from turing-21-matrix-operations import transpose2d
matrix = [[1, 2], [3, 4], [5, 6]]
transposed = transpose2d(input_matrix=matrix)
print(transposed)
Window1D
The window1d function creates overlapping windows of a given size from a 1D list or numpy array.
Arguments
- input_array (Array1D): 1D list or numpy array.
- size (int): Desired window size.
- shift (int, optional): Window shift size. Default is 1.
- stride (int, optional): Window stride size. Default is 1.
Returns
- List[Array1D]: List of 1D windows.
from turing-21-matrix-operations import window1d
input_array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
windows = window1d(input_array=input_array, size=2, shift=2, stride=2)
print(windows)
Convolution2D
The convolution2d function performs 2D convolution using a given kernel.
Arguments
- input_matrix (Matrix2D): 2D numpy array input matrix.
- kernel (Matrix2D): 2D numpy array convolution kernel.
- stride (int, optional): Convolution stride. Default is 1. Returns
- Matrix2D: Convolved 2D numpy array.
from turing-21-matrix-operations import convolution2d
input_matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
kernel = np.array([[1, 0], [0, -1]])
convolved = convolution2d(input_matrix=input_matrix, kernel=kernel)
print(convolved)
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file turing_21_matrix_operations-0.1.1.tar.gz.
File metadata
- Download URL: turing_21_matrix_operations-0.1.1.tar.gz
- Upload date:
- Size: 4.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.6.1 CPython/3.10.9 Darwin/22.6.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1502def1695666a83a559a9dd5472eb6a748520a5093158e7c3978bfee99881a
|
|
| MD5 |
f0b6f51d812463017204b400be3f54a9
|
|
| BLAKE2b-256 |
0e1fe3556a3080ca41023e3099aff87b1573d817a83c4af4606c08f2bf9ba67a
|
File details
Details for the file turing_21_matrix_operations-0.1.1-py3-none-any.whl.
File metadata
- Download URL: turing_21_matrix_operations-0.1.1-py3-none-any.whl
- Upload date:
- Size: 4.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.6.1 CPython/3.10.9 Darwin/22.6.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
37e452fb96b5e2a0db22896c519e9d94e2636bda3b1b7dc43923f2cbf63f5036
|
|
| MD5 |
b087ad50d5ce98a887fb9f8067ff93bf
|
|
| BLAKE2b-256 |
81f0ab5ecf6a214d9d930ec7fb5043edaef0dadc896ea6cdedc1552074298212
|