Skip to main content

Проект для работы с данными, распределенными на поверхности гиперсферы.

Project description

SphericalData

Модуль для работы с данными, распределенными на поверхности гиперсферы.

Руководство по использованию

Данный модуль позволяет выполнять следующие действия:

1. Преобразование массива данных из декартовой системы координат в сферическую

Функция toSpheric() принимает на вход массив данных $X$ в декартовой системе координат размерностью $(N, M)$, где $N \geq 1$, $M \geq 3$. Тип входных данных — список (list) или массив Numpy (numpy.ndarray).

На выходе пользователь получает массив типа Numpy $X'$ размерностью $(N, M)$, где значение $X'[n, m]$ при

  • $m = 0$ — радиальное расстояние $r \geq 0$;
  • $m = \overline{1, M-2}$ — зенитные углы $\phi_{m} \in [0; \pi]$;
  • $m = M-1$ — азимутальный угол $\theta \in [-\pi; \pi)$.

Вычисление компонент в сферической системе координат проводится по следующим формулам: $$r_n = \sqrt{\sum_{i=0}^{M-1}{x_i^2}}$$ $$\phi_{n, m} = atan2(\sqrt{\sum_{i=m+1}^{M-1}{x_i^2}}, x_m)$$ $$\theta_n = atan2(x_{M-1}, x_{M-2})$$ $$atan2(y, x) = arctg(\frac{y}{x})$$

Пример программы:

import numpy as np
from sphericaldata.spheric import toSpheric

x_cart = [[1, 2, 3], [4, 5, 6]]
# x_cart = np.array([[1, 2, 3], [4, 5, 6]])
x_sph = toSpheric(x)

print(x_sph)
[[3.74165739 1.30024656 0.98279372]
 [8.77496439 1.097478   0.87605805]]

2. Преобразование массива данных из сферической системы координат в декартову

В противовес функции выше toCartesian() принимает на вход массив данных $X$ в сферической системе координат размерностью $(N, M)$, описание входных данных аналогично выходу функции toSpheric(). Тип входных данных — список (list) или массив Numpy (numpy.ndarray).

На выходе пользователь получает массив типа Numpy $X'$ размерностью $(N, M)$ в декартовой системе координат.

Вычисление компонент в декартовой системе координат проводится по следующим формулам:

$$x'{n, 0} = r\cos{\phi{n,0}}$$ $$x'{n, m} = r\cos{\phi{n,m}}\prod_{i=0}^{m-1}{\sin{\phi_{n,i}}}, m=\overline{1, M-2}$$ $$x'{n, M-1} = r\prod{i=0}^{M-1}{\sin{\phi_{n,i}}}$$

Проведём обратное преобразование для результата, полученного в примере ранее.

from sphericaldata.spheric import toCartesian

x_cart = toCartesian(x_sph)
print(x_cart)
[[1. 2. 3.]
 [4. 5. 6.]]

3. Проведение метода главных компонент (PCA) в сферической системе координат

Если множество $M$-мерных векторов $X$ определено в положительной четверти гиперсферы ($\phi_m \in [0; \pi], \theta \in [0; \pi]$, )

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

sphericaldata-0.1.3.tar.gz (5.2 kB view details)

Uploaded Source

Built Distribution

sphericaldata-0.1.3-py3-none-any.whl (6.6 kB view details)

Uploaded Python 3

File details

Details for the file sphericaldata-0.1.3.tar.gz.

File metadata

  • Download URL: sphericaldata-0.1.3.tar.gz
  • Upload date:
  • Size: 5.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.8.10 Linux/5.15.0-91-generic

File hashes

Hashes for sphericaldata-0.1.3.tar.gz
Algorithm Hash digest
SHA256 3725a79fb4c2cc8258a21dac916daae41a4b082f477f891e36a3231e1d28384d
MD5 20e54562d593ff57081238d42b191b91
BLAKE2b-256 774b0fdba55b4c11444c68532a93a436b70315f879c82b3c10e1c06ad5ee875e

See more details on using hashes here.

File details

Details for the file sphericaldata-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: sphericaldata-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 6.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.8.10 Linux/5.15.0-91-generic

File hashes

Hashes for sphericaldata-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 1c3068d9792cf10f5eb6494ca2f68b34b94a22b86ecc663c90a0cf1ac8ed3c0f
MD5 5ea636d2ecd823fbe5b6873c36ccfc68
BLAKE2b-256 b4f1a3f2eb2795c947a78edbc15923faa5abc36c9364df51c56cfcdc02b48240

See more details on using hashes here.

Supported by

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