Skip to main content

Turing college de2_1 sprint submission. FINAl working version

Project description

This project contains the documentation for three functions: transpose2d, window1d, and convolution2d. These functions perform matrix transposition, sliding window generation, and 2D convolution, respectively.

de2_1 directory contains the project files, whereas tests contains the tests files. This library was built using poetry and published to pypi.

The project can be installed from here https://pypi.org/project/de2-1/

transpose2d

The transpose2d function transposes a 2D matrix by flipping its rows and columns. It takes a 2D list of floats as input and returns a 2D list of floats as output.

Arguments

  • input_matrix (List[List[float]]): The input matrix to be transposed. It is expected to be a 2D list of floats.

Returns

  • List[List[float]]: The transposed matrix as a 2D list of floats.

Examples

  • python input_matrix = [[1, 2, 3], [4, 5, 6]]
  • result = transpose2d(input_matrix) print(result) # [[1, 4], [2, 5], [3, 6]]

Notes

  • The input_matrix should be a 2D list of floats.
  • The function uses the zip(*input_matrix) expression to perform the transpose operation.
  • The rows of the input_matrix become the columns of the transposed matrix, and vice versa.
  • The resulting transposed matrix has dimensions (number of columns, number of rows) compared to the input matrix.
  • The function returns the transposed matrix as a 2D list of floats.

window1d

The window1d function generates overlapping windows of a specified size from a 1D input array. It takes a 1D input array and optional parameters for window size, shift, and stride, and returns a list of windows, where each window is either a list or a 1D NumPy array.

Arguments

  • input_array (List | np.ndarray): The 1D input array.
  • size (int): The size of the window.
  • shift (int, optional): The shift value between windows. Default is 1.
  • stride (int, optional): The stride value for moving the window. Default is 1.

Returns

  • List[Union[List, np.ndarray]]: A list of windows, where each window is either a list or a 1D NumPy array.

Raises

  • TypeError: If the input_array is not a list or a 1D NumPy array.
  • ValueError: If the size, shift, or stride is not a positive integer.

Examples

  • python input_array = [1, 2, 3, 4, 5, 6, 7, 8, 9] size = 3 shift = 2 stride = 1
  • result = window1d(input_array, size, shift, stride)
  • print(result) # [[1, 2, 3], [3, 4, 5], [5, 6, 7], [7, 8, 9]]

Notes

  • The input_array should be a 1D array, either a list or a 1D NumPy array.
  • The size represents the length of each window.
  • The shift determines the step size for moving the window starting position.
  • The stride determines the step size for moving the window elements.
  • If the window cannot fit entirely within the input_array, it is skipped.
  • The function returns a list of windows, where each window is either a list or a 1D NumPy array.

convolution2d

The convolution2d function performs 2D convolution on an input matrix using a given kernel. at

Arguments

  • input_matrix (List[List[float]]): The input matrix to be convolved. and is expected to be a 2D list of floats.
  • kernel (List[List[float]]): The 2D kernel to be used for the convolution., and is expected to be a 2D list of floats.

Returns

  • List[List[float]]: The convolved output matrix as a 2D list of floats.-

Examples

  • python input_matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
  • kernel = [[1, 0], [0, 1]]
  • result = convolution2d(input_matrix, kernel)
  • print(result) # [[5, 9], [16, 27]]

Notes

  • The input_matrix should be a 2D list of floats. and the kernel should be a 2D list of floats. the convolved output matrix has the same number of rows as the input_matrix and one less column than the kernel.
  • The function returns the convolved output matrix as a 2D list of floats.

Algorithm

  1. Initialize an empty output matrix with the same number of rows as the input_matrix and one less column than the kernel.ommes. but not necessarily the same shape. The output matrix will have the same number of rows as the input_matrix and one less column than the kernel.
  2. Iterate through each element in the input_matrix.
  3. For each element, iterate through the kernel and apply the kernel to the corresponding element in the input_matrix.
  4. Accumulate the results of the kernel application and store them in the output matrix.
  5. Return the output matrix.

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

de2_1-0.3.1.tar.gz (3.6 kB view details)

Uploaded Source

Built Distribution

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

de2_1-0.3.1-py3-none-any.whl (4.2 kB view details)

Uploaded Python 3

File details

Details for the file de2_1-0.3.1.tar.gz.

File metadata

  • Download URL: de2_1-0.3.1.tar.gz
  • Upload date:
  • Size: 3.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.11.2 Windows/10

File hashes

Hashes for de2_1-0.3.1.tar.gz
Algorithm Hash digest
SHA256 66e88e6516cd9caa9283b84ad687523bd65d744260a6df2331102da0c74ee1be
MD5 11772c917268647b00a561918acdf37f
BLAKE2b-256 28c777456b34c40fbedff68c1a6384957987bfb43954fc20338dc6fce83f121c

See more details on using hashes here.

File details

Details for the file de2_1-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: de2_1-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 4.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.11.2 Windows/10

File hashes

Hashes for de2_1-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 558f18baaa42311710f49364acc183e584a5f8fdca31842f1cc47a1a0ce4b6fc
MD5 ce59b1667a48db35827f5d973f066492
BLAKE2b-256 21e43b17667dafff52de14deac3c1cd76891481a73f99dddf98fbc9af4567a89

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