Числа с плавающей точкой (ЧПТ) - стандартный способ представления действительных чисел в компьютерах, аппроксимирующий их в форме: ±m * b^e, где:
Стандарт IEEE 754 определяет форматы (single precision float: 32 бита, double precision double: 64 бита), распределяя биты на знак, экспоненту и мантиссу. Ключевые особенности и проблемы:
Конечная точность и погрешность представления: Большинство действительных чисел не могут быть представлены точно из-за ограниченного числа бит мантиссы. Возникает погрешность округления. Величина машинного эпсилон (ε_mach) - это разница между 1.0 и следующим представимым числом >1.0 - характеризует относительную точность округления (ε_mach ≈ 1.1e^(-16) для double).
Диапазон представимых чисел: Ограничен количеством бит экспоненты. Возможны переполнение (overflow, |число| > max_представимое) и исчезновение порядка (underflow, |число| < min_представимое > 0).
Арифметические операции: Результат операции над ЧПТ часто требует округления до ближайшего представимого числа, внося погрешность.
Потеря значимости (Catastrophic Cancellation): Наиболее опасный эффект. Возникает при вычитании двух очень близких по величине чисел. Значимые разряды в мантиссе сокращаются, а погрешности, которые были в каждом из чисел, остаются и становятся относительно огромными в результате.
Пример:
a = 1.2345678901234
b = 1.2345678900000
a - b = 0.0000000001234 = 1.234e^(-10) (теряются многие значащие цифры).
Некоммутативность и неассоциативность: Из-за округления операции могут давать разные результаты при изменении порядка: (a + b) + c != a + (b + c), a + b != b + a в некоторых пограничных случаях (хотя коммутативность обычно сохраняется для + и *).
Особые значения: ±0, ±∞ (Inf), NaN (Not a Number - результат неопределенных операций типа 0/0, ∞ - ∞).
Современные компьютеры используют иерархию памяти для баланса между скоростью доступа, объёмом и стоимостью. Уровни иерархии (от быстрых к медленным):
Ключевые принципы:
Временная: Повторный доступ к одним данным → кэширование.
Пространственная: Доступ к соседним адресам (например, элементам массива) → загрузка блоков в кэш.
Переполнение (overflow) возникает, когда результат вычислений превышает максимальное представимое число для типа данных.
Потеря точности (underflow) возникает, когда результат ближе к нулю, чем минимальное нормализованное число:
Ключевые последствия:
Ошибка округления возникает из-за конечной точности мантиссы (бит): число x представляется как fl(x)=x*(1+δ), где ∣δ∣ ≤ ε_mach (машинное эпсилон, ≈ 10^(−16) для double). Например, 0.1 в двоичной системе хранится с погрешностью.
Накопление ошибок — кумулятивный эффект при последовательных операциях. Погрешность результата n операций может достигать ∼ sqrt(n) * ε_mach (случайное округление) или n * ε_mach (худший случай).
Потеря значимости — вычитание близких чисел a ≈ b, усиливающее относительную погрешность:
fl(a−b) = (a * (1+δ_1) − b * (1+δ_2)) ≈ (a−b) + (a * δ_1− b * δ_2).
Относительная ошибка: ∣a * δ_1 − b * δ_2∣/∣a − b∣ ≫ ε_mach , если ∣a − b∣ ≪ ∣a∣ + ∣b∣.
Пример:
1.000001−1.000000 = 10^(−6), но при погрешностях δ_i ∼ 10^(−16) результат может иметь относительную ошибку до 10^(−10).
Алгоритм Кахана — метод компенсации ошибок округления при суммировании последовательности чисел с плавающей точкой. Он использует дополнительную переменную для отслеживания потерянных младших разрядов.
Алгоритм:
y = x - c (включаем предыдущую ошибку),
t = sum + y (новая промежуточная сумма),
c = (t - sum) - y (вычисляем ошибку округления),
sum = t.
Принцип работы:
Абсолютная погрешность (Δx) — разница между точным значением x∗ и его приближением x:
Δx=∣x−x∗∣.
Эта величина характеризует физический размер ошибки (например, погрешность измерения длины в метрах).
Относительная погрешность (δx) — отношение абсолютной погрешности к модулю точного значения x∗:
δx=Δx/∣x∗∣=∣x − x∗∣/∣x∗∣, (x∗ ≠ 0).
Она выражает качество приближения без привязки к масштабу величины (например, 0.01 при x∗=100 означает 1% ошибки).
Умножение матриц – одна из ключевых операций в линейной алгебре, машинном обучении и научных вычислениях. Для его эффективной реализации создано огромное количество методов.
1. Наивное умножение (стандартный алгоритм).
Пусть есть матрица размера
и матрица
размером
. Матрица
– результат произведения размера
:
Для умножения матриц требуется (при ):
умножений и
суммирований
Сложность наивного алгоритма:
.
2. Блочное умножение.
С целью повышения эффективности использования кэш-памяти CPU существует алгоритм блочного умножения матриц, в котором результирующая матрица формируется поблочно с использованием известной формулы , либо её более быстрых аналогов, а размер обрабатываемых данных на каждой итерации не превышает ёмкость кэш-памяти. Сложность:
.
Размер блока напрямую зависит от архитектуры вычислительной системы и определяет время выполнения умножения. Аналогичный подход применяется при умножении матриц с использованием GPU с оптимизацией использования разделяемой памяти ограниченного объёма.
(по сути то же наивное умножение, но блоками в целях оптимизации затрат памяти и времени)
3. Алгоритм Штрассена (см. вопрос 29).
4. Алгоритм Копперсмита–Винограда.
Алгоритм Копперсмита–Винограда – улучшенная версия Штрассена с вычислительной сложностью . Обладает лучшей асимптотикой среди известных алгоритмов умножения матриц.
На практике алгоритм Копперсмита–Винограда не используется, так как он имеет очень большую константу пропорциональности и начинает выигрывать в быстродействии у других известных алгоритмов только для матриц, размер которых превышает память современных компьютеров.
5. Реализация в numpy.
NumPy использует BLAS (Basic Linear Algebra Subprograms) – высокооптимизированные низкоуровневые библиотеки, предназначенные для выполнения основных операций линейной алгебры.
Сложность: .
Почему NumPy эффективен?
Алгоритм Штрассена – рекурсивный алгоритм, предназначенный для быстрого умножения матриц, соответствует идее разделяй и властвуй (т.е. основан на разбиении задачи на более мелкие подзадачи, решение которых потом объединяется для получения решения исходной задачи).
В отличие от традиционного алгоритма умножения матриц (по формуле ), имеющего сложность
, сложность алгоритма Штрассена:
, что даёт выигрыш на больших плотных матрицах.
Если добавить к матрицам и
одинаковые нулевые строки и столбцы, их произведение станет равно матрице
с теми же добавленными строками и столбцами. Поэтому можно рассматривать только матрицы размера
, а другие случаи сводить к этому добавлением нулей, отчего
может увеличиться лишь вдвое.
Пусть A, B – матрицы размера . Их можно представить как блочные матрицы (матрицы из 4-х блоков) размера (
) из (
)–матриц:
По принципу блочного умножения, матрица выражается через их произведение:
где в правой части происходит восемь умножений матриц размера .
Для получения итоговой матрицы Штрассен предложил следующий вариант с 7 умножениями и 18 сложениями:
где:
Алгоритм Штрассена:
Несмотря на то, что алгоритм Штрассена является асимптотически не самым быстрым из существующих алгоритмов быстрого умножения матриц, он проще программируется и эффективнее при умножении матриц относительно малого размера, поэтому именно он чаще используется на практике. Метод Штрассена становится быстрее наивного алгоритма, если .
Сингулярное разложение (Singular Value Decomposition, SVD) – определённого типа разложение прямоугольной матрицы , которое имеет широкое применение и позволяет вычислять сингулярные числа матрицы (они же корни собственных чисел), а также левые и правые сингулярные векторы матрицы (в том числе работает для прямоугольных и вырожденных матриц).
где – диагональная матрица, элементы главной диагонали которой – сингулярные числа матрицы
;
,
– ортогональные матрицы, элементы которых – левые и правые сингулярные вектора соответственно.
Сингулярное разложение существует для любой матрицы. Его также можно считать способом приведения данной матрицы к диагональному виду с помощью двух унитарных преобразований: .
Теорема. Пусть – матрица полученная из
заменой части диагональных элементов нулями:
. Тогда
.
Последнее равенство можно переписать в ещё более экономичном виде: , где матрица
– та же матрица
с первыми
столбцами,
– та же матрица
с первыми
строками,
– та же диагональная матрица
обрезанная до размера
. Таким образом, при помощи SVD мы можем решать задачу сжатия информации (выделения главной информации, удаление шума).
Алгоритм SVD для матрицы :
Пусть A – действительная числовая квадратная матрица размера (). Ненулевой вектор
размера (
), удовлетворяющий условию
называется собственным вектором матрицы . Число
в равенстве называется собственным значением. Говорят, что собственный вектор
соответствует (принадлежит) собственному значению
.
Последнее равенство равносильно однородной относительно системе:
Система имеет ненулевое решение для вектора (при известном
) при условии
. Это равенство есть характеристическое уравнение:
.
где – характеристический многочлен
-й степени.
Корни характеристического уравнения являются собственными (характеристическими) значениями матрицы
, а соответствующие каждому собственному значению
, ненулевые векторы
, удовлетворяющие системе
, являются собственными векторами.
Определение в контексте линейных операторов.
Если в линейном пространстве каждому вектору
по некоторому правилу
поставлен в соответствие вектор
этого же пространства, то говорят, что в данном пространстве задан линейный оператор
. Т.о., линейный оператор – функция, трансформирующая объект в пространстве.
Условия линейности оператора: для всех :
Собственный вектор – понятие, определяемое для произвольного линейного оператора как ненулевой вектор, применение к которому оператора дает коллинеарный вектор – тот же вектор, умноженный на некоторое скалярное значение (которое может быть равно 0). Скаляр, на который умножается собственный вектор под действием оператора, называется собственным числом (значением) линейного оператора, соответствующим данному собственному вектору. Одним из представлений линейного оператора является квадратная матрица, поэтому собственные векторы и собственные значения часто определяются в контексте использования таких матриц.
У каждой матрицы размера есть от 0 до
собственных чисел и 0 или
собственных векторов.
Задача линейной алгебры состоит в нахождении собственных значений и собственных векторов заданной матрицы.
Особенности собственных векторов и значений:
Спектральное разложение матрицы (разложение матрицы по собственным векторам, также называемое каноническим разложением) – это представление квадратной матрицы в виде произведения трёх матриц:
где – матрица, столбцы которой являются собственными векторами матрицы
;
– диагональная матрица с соответствующими собственными значениями на главной диагонали;
– матрица, обратная матрице
.
Теорема: – нормальная матрица, тогда и только тогда, когда
, где
унитарна и
диагональна.
Любая нормальная матрица – унитарно диагонализируема. Это означает, что она может быть приведена к диагональному виду с помощью унитарной матрицы . Другими словами, каждая нормальная матрица имеет ортогональный базис из собственных векторов.
Спектральное разложение может использоваться для нахождения собственных значений и собственных векторов матрицы, решения систем линейных уравнений, обращения матрицы, нахождения определителя матрицы и вычисления аналитических функций от матриц. Спектр – множество собственных значений матрицы.
Для динамических систем с матрицей , спектр может много сообщить о поведении системы (например, о её устойчивости). Однако для не нормальных матриц, спектр может быть неустойчивым относительно малых возмущений матрицы. Для измерения подобных возмущений было разработана концепция псевдоспектра. (обобщение спектра для не нормальных матриц). Формально псевдоспектр определяется как:
.
Для малых и нормальных
это круги вокруг собственных значений, для не нормальных матриц, структура может сильно отличаться. Псевдоспектр находится через сингулярное разложение (SVD) матрицы для разных
. Для неквадратных матриц вместо спектрального разложения также используют SVD.
Разрешив матричное уравнение относительно диагональной матрицы, можно получить другое соотношение:
.
Диагональную матрицу также называют матрицей линейного преобразования в базисе из собственных векторов. Одному и тому же линейному преобразованию в разных базисах в общем случае соответствуют разные матрицы (в частности, матрицы
и
в нашем примере). И наиболее удобным из них как раз и является базис из собственных векторов (в случае его существования).
Более того, все матрицы конкретного линейного преобразования в одном и том же векторном пространстве имеют один и то же характеристический многочлен.
слайды 253-255 презентации
слайды 258-264
слайды 294 - 297
A – нормальная матрица, тогда и только тогда, когда A = UΛU* , где U унитарна и Λ диагональна.
Матрица A называется нормальной матрицей, если AA* = A*A.
Любая нормальная матрица – унитарно диагонализуема. Это означает, что она может быть приведена к диагональному виду с помощью унитарной матрицы U. Другими словами, каждая нормальная матрица имеет ортогональный базис из собственных векторов.
Пусть U унитарная матрица, то есть U*U = I
Для Эрмитовых матриц собственные значения всегда действительны.
Любая эрмитова матрица диагонализуема
Если матрица 𝐴 симметричная (эрмитова), то 𝐴=𝐴∗ , тогда 𝐻=𝐻∗ и верхне-гессенбергова форма оказывается трёхдиагональной матрицей.
Любая эрмитова матрица может быть приведена к трёхдиагональной форме с помощью отражений Хаусхолдера.
Верхнегессенберговая форма:
Аналогично нижняя матрица Хессенберга:
Симметричная матрица:
Единичная матрица I ⇔ Identity Matrix ⇔ матрица с 1 по главной диагонали и нулями в остальных клетках
Эрмитово сопряженная матрица U* ⇔ Транспонированная U с элементами замененными на комплексно сопряженные им (мнимая часть с i умножается на -1)
Унитарная матрица U ⇔
Ортогональная матрица Q ⇔
Общий смысл:
Существует преобразование векторов матрицы, когда зануляются элементы под поддиагональю и собственные значения матрицы не меняются.
Зануление происходит отражением вектора (Hx). Преобразование Хаусхолдера устроено так, что, преобразуя очередной вектор (столбец) матрицы, предыдущие преобразования не портятся. Зануление под диагональю происходит в других алгоритмах (i.e. QR). Почему не занулять сразу под диагональю - QR вычислительно сложный, и эффективнее сначала получить верхнегессенберговую матрицу, потом уже получить треугольную.
При использовании отражения Хаусхолдера на симметричной матрице получается трехдиагональная (на главной диагонали, под и над ней числа, остальное нули).
Отражение Хаусхолдера - матрица H, осуществляющая отражение вектора через гиперплоскость (Hx - отраженный вектор x через гиперплоскость)
- вектор нормали к гиперплоскости
, - подвектор, - первый элемент подвектора, ||x|| - евклидова норма вектора без квадрата, - базисный вектор (единица первый элемент, все остальное нули)
Отражение Хаусхолдера (H) ⇔
Свойства H:
Виды сходимости:
- последовательность, сходящаяся к x*;
Линейная:
Квадратичная:
Кубическая:
Сходимость алгоритма:
Линейная для исходного алгоритм
Квадратная со сдвигами с несимметричной матрицей
Кубическая со сдвигами с симметричной матрицей
Сложность алгоритма:
QR разложение плотной матрицы NxN (итерация): , итоговая сложность , k - количество итераций
QR разложение трёхдиагональной матрицы NxN (итерация): , со сдвигами число итераций O(n), итоговая сложность
Почему:
Трехдиагональная:
При QR разложении для плотной матрицы обнуляются все элементы для столбца под диагональю, для трехдиагональной это всего 1 элемент.
Сдвиги:
Сдвиги увеличивают относительную разницу между собственными значениями
QR алгоритм чувствителен к отношению собственных чисел. Чем ближе к нулю тем быстрее сходимость.
Примеры сдвигов:
Рэлея: вычитаем последний элемент
Уилкинсона: вычисляем собственные значения матрицы 2x2 внизу справа через дискриминант, выбираем значение ближайшее к
Метод главных компонент ⇔ PCA ⇔ Principal Component Analysis - метод понижения размерности данных и удаления линейных зависимостей путем перевода данных в декартову систему координат, где базисные вектора - собственные вектора.
Реализация для собственных чисел:
1. Стандартизируем данные
2. Вычисляем ков. матрицу
3. Находим собственные значения и вектора ков. матрицы
4. Сортируем по невозростанию собственных значений. Собственные значения показывают какая у компоненты (пара собственное значение/вектор) дисперсия. Чем больше дисперсия компоненты, тем она важнее.
5. Выбираем k первых компонент, они называются главными.
6. Проецируем исходные данные в систему, где базисные вектора - главные компоненты - собственные вектора, T - спроецированные данные
Реализация через SVD:
1. Центрируем данные
2. Вычисляем SVD
3. Находим собственные значения ков. матрицы - сингулярное значение, - собственное значение ковариационной матрицы; Вектора для компонент - V из разложения SVD
4. Сортируем по невозростанию собственных значений. Собственные значения показывают какая у компоненты (пара собственное значение/вектор) дисперсия. Чем больше дисперсия компоненты, тем она важнее.
5. Выбираем k первых компонент, они называются главными.
6. Проецируем исходные данные в систему, где базисные вектора - главные компоненты - собственные вектора, T - спроецированные данные
Через SVD устойчивее, потому что не вычисляется - если X имеет малый ранг или содержит маленькие числа значения будут сравнимы с ошибками округления
Выбор k количества компонент:
Обычно выбирают n так, чтобы во включенных компонентах было не меньше 95% дисперсии:
⇔ левые сингулярные векторы
⇔ диагональная матрица сингулярных значений
⇔ правые сингулярные значения
- ортогональные матрицы
Разложение SVD обобщает понятие собственных значений на прямоугольные матрицы, где напрямую собственные значения не найти.
Применения: Поиск информации; веб-поиск; обработка сигналов; анализ больших данных; аппроксимация матриц низкого ранга; минимизация методом наименьших квадратов; псевдообратная матрица и т.д.
Численными методами:
1. Находим
2. Находим собственные значения и вектора у (QR-алг)
3. Находим сингулярные значения , составляем
4. Вычисляем сингулярные векторы:
V = собственные вектора
U =
Пример разложения в презентации слайд 340
47. Плотные и разреженные матрицы, способы хранения разреженных матриц.
Плотные матрицы - матрицы, где бо́льшая часть элементов ненулевая
Разреженные матрицы - матрицы, где бо́льшая часть элементов нулевая
* Нет четкого количества ненулевых элементов, что делает матрицу разреженной
Т.к. бо́льшая часть разреженной матрицы - нули, их можно игнорировать, тем самым сэкономив место и ускорив их последующую обработку.
Форматы хранения:
* Coordinate Format (COO)
Хранит ненулевые элементы в виде трёх массивов:
values — значения ненулевых элементов,
row_indices — номера строк,
col_indices — номера столбцов.
Плюсы: Простота добавления элементов.
Минусы: Неэффективен для арифметических операций.
* Compressed Sparse Row (CSR)
Оптимизирован для строк.
Использует три массива:
values — ненулевые элементы,
col_indices — индексы столбцов,
row_ptr — указатели на начало строк в values и col_indices.
Плюсы: Эффективен для умножения матрицы на вектор.
Минусы: Долго добавлять элементы. (Если добавить новый элемент в строку i, то все indptr[j] для j > i нужно увеличить на 1. Это O(N) операция (где N — число строк).)
* Compressed Sparse Column (CSC)
Аналог CSR, но для столбцов.
Три массива:
values — ненулевые элементы,
row_indices — индексы строк,
col_ptr — указатели на начало столбцов.
Плюсы: Эффективен для операций по столбцам.
Минусы: Долго добавлять элементы (аналогично CSR)
* Diagonal Storage (DIA)
Используется для матриц с диагональной структурой.
Хранит ненулевые элементы вдоль диагоналей.
Плюсы: Эффективен для СЛАУ с диагональным преобладанием.
Минусы: Не подходит для произвольных разреженных матриц.
* ELLPACK (ELL) (LIL в scipy)
Хранит ненулевые элементы в двумерном массиве, дополняя короткие строки.
Плюсы: Хорош для GPU-оптимизаций.
Минусы: Неэффективен при сильном разбросе длины строк.
Обыкновенное дифференциальное уравнение (ОДУ) – это уравнение, связывающее неизвестную функцию 𝑦 = 𝑦(𝑥) с её производными по одной независимой переменной 𝑥. Формально ОДУ записывается как: 𝐹(𝑥, 𝑦, 𝑦′, 𝑦″, … , ) = 0,
где 𝑦′ , 𝑦″ , … , — первая, вторая, ..., 𝑛-ная производные функции 𝑦, а 𝐹 — заданное выражение. Порядок ОДУ определяется наивысшей производной, входящей в уравнение.
Численное дифференцирование – процесс приближённого вычисления производной функции на основе её дискретных значений.
Важность:
– Используется, когда аналитические производные недоступны (например, функция задана сложным выражением или известна только по точкам).
– Применяется в задачах с дискретными данными (например, экспериментальные измерения).
Цель: Вычислить 𝑓′() в точке
с заданной точностью.
Основные понятия:
– Сетка: Набор точек на отрезке [𝑎, 𝑏], где известны 𝑓(
)
– Шаг сетки: =
−
, может быть постоянным или переменным
– Точность: Ошибка приближения ≤ , где 𝐶 – константа, ℎ – шаг, 𝑡 – порядок точности
P.S. Представьте, что у вас есть график функции, но вы знаете её значения только в некоторых точках. Численное дифференцирование помогает найти наклон этого графика (производную) в этих точках, используя разницу между значениями функции. Это как если бы вы измеряли скорость автомобиля по его положению в разные моменты времени.
Типы ОДУ:
- По порядку: первого порядка (𝑦′), второго порядка (𝑦″) и т.д.
- По линейности: линейные (производные входят линейно) и нелинейные.
- По типу: автономные (не зависят явно от 𝑥) и неавтономные.
Примеры ОДУ:
1. Первого порядка: = −𝑘𝑦, описывающее экспоненциальный распад, где 𝑘 > 0.
2. Второго порядка: , уравнение гармонического осциллятора,
моделирующее колебания.
Детерминированный хаос:
Примечание: Детерминированность (или определенность) - подразумевается, что в алгоритме определен каждый шаг, то есть сколько бы раз мы его не повторили, получим один и тот же результат.
Детерминированный хаос - это явление, когда динамическая система, несмотря на определенность начальных условий и детерминированных законов, является сложной, из-за чего кажется хаотичной и проблемной в предсказании поведения.
Характеристики таких систем:
Бифуркация:
В широком смысле: Бифуркация — это качественное изменение поведения динамической системы при бесконечно малом изменении её параметров, когда ее параметры проходят через некоторые бифуркационные (критические) значения. Эти значения еще называют точками бифуркации.
В узком смысле: Бифуркация - это раздвоение.
Простыми словами, бифуркация - это моменты, когда поведение системы резко меняется. Двойной маятник неплохо это отображает: сначала вся тысяча маятников (видео со слайда 566) двигается одинаково, а потом происходит абсолютно разное движение.
Бифуркационная диаграмма - представление любого характеристического свойства решения как функции критического параметра.
Пример:
Бифуркация подразделяется на:
Сценарий - последовательность бифуркаций, качественно меняющих свойства системы.
Странные аттракторы:
Аттрактор (или точка притяжения) - точка бифуркации, из которой все исходящие решения устойчивы (по сути - рисунок выше).
Странный аттрактор — это притягивающее множество целых неустойчивых траекторий в фазовом пространстве динамической системы. Данные аттракторы выглядят как сложные фрактальные узоры. Примеры: аттрактор Лоренца (слайды 580-581), аттрактор Рёсслера (слайд 582).
Амплитуда - разница между максимальным значением и базовой линией.
Период волны - время, за которое волна проходит полный цикл.
Частота - количество волн, проходящих через фиксированное место за определенное время. Измеряется в количестве циклов за 1 секунду. Единицей является Герц.
Период = 1 / Частота
Длина волны - расстояние между двумя последовательными гребнями.
Дискретизация - как часто мы измеряем значения волны во времени.
Частота дискретизации - скорость дискретизации, измеряется в Гц.
Герц - частота колебаний за одну секунду (например если мы дискретизируем волну с частотой 2 Гц, значит, каждую секунду мы фиксируем два значения).
Угловая частота - количество циклов за секунду. Измеряется в радианах в секунду.
Фаза сигнала - это положение волны во времени относительно точки отсчета, отвечает за сдвиги волн вправо-лево. Измеряется в градусах или радианах.
Амплитудный спектр - совокупность амплитуд гармоник ряда Фурье.
Частотный спектр - совокупность частот амплитуд гармоник ряда Фурье.
Большинство фильтров работают не с самим сигналом, а с его спектром. Если вычислить спектр сигнала, удалить из него (или существенно уменьшить) определенные частоты, а затем выполнить обратное преобразование Фурье, то результатом будет фильтрованный сигнал. Эта процедура производится в тех случаях, когда частотный спектр помехи или шума занимают на оси частот интервал, отличный или лишь частично перекрывающийся с частотным диапазоном сигнала.
Математическая абстракция и преобразование Фурье не применимы к реальным сигналам в силу их ограниченности по времени и, следовательно, непериодичности, однако их можно рассматривать как периодические с периодом T → ∞. Тогда ω0=2π/T → 0, а спектры амплитуд и фаз становятся непрерывными (сплошными), сумма в разложении Фурье превращается в интеграл и в результате переходим к интегралу Фурье.
Разложению в ряд Фурье могут подвергаться периодические сигналы. При этом они представляются в виде суммы гармонических функций либо комплексных экспонент (e^(2πνt)) с частотами, арифметическую прогрессию. образующими. Чтобы такое разложение существовало, фрагмент сигнала длительностью в один период должен удовлетворять условиям Дирихле, а также сигнал должен быть абсолютно интегрируемым, т.е. интеграл его модуля должен быть конечной величиной.
Условия Дирихле - во фрагменте сигнала длительностью в один период:
В итоге для работы применяются дискретное или быстрое преобразование Фурье.
Прямое преобразование Фурье – это разложение сигнала на гармонические функции (в спектр).
Обратное преобразование Фурье – это синтез сигнала по гармоникам.
Преобразование Фурье ставит в соответствие сигналу, заданному во времени, его спектральную функцию, т.е. осуществляется переход из временной области в частотную. Преобразование Фурье является взаимно-однозначным, поэтому представление сигнала в частотной области (т.е. спектральная функция) содержит столько же информации, сколько и исходный сигнал, заданный во временной области.
Примечание: про само преобразование в вопросе выше.