РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
354 of 541 menu

Тип complex128

Тип complex128 предназначен для хранения комплексных чисел с двойной точностью. Он занимает 128 бит памяти: 64 бита отводится под действительную часть и 64 бита - под мнимую. Этот тип соответствует стандартному типу Python complex и является типом по умолчанию для комплексных массивов в NumPy.

Комплексное число в NumPy записывается в виде a + bj, где a - действительная часть, b - мнимая часть, а j - мнимая единица. Для создания массива с типом complex128 можно использовать параметр dtype при создании массива или явно преобразовать существующий массив с помощью метода astype.

Синтаксис

# Указание типа при создании массива np.array([1, 2, 3], dtype=np.complex128) # Преобразование существующего массива arr.astype(np.complex128) # Создание массива комплексных чисел np.array([1+2j, 3+4j, 5+6j])

Пример

Давайте создадим массив из целых чисел и укажем тип complex128:

import numpy as np arr = np.array([1, 2, 3, 4, 5], dtype=np.complex128) print(arr) print(arr.dtype)

Результат выполнения кода:

[1.+0.j 2.+0.j 3.+0.j 4.+0.j 5.+0.j] complex128

Все целые числа были преобразованы в комплексные с нулевой мнимой частью.

Пример

Создадим массив комплексных чисел с использованием мнимой единицы j:

import numpy as np arr = np.array([1+2j, 3-4j, -5+6j, 7+8j]) print(arr) print(arr.dtype)

Результат выполнения кода:

[ 1.+2.j 3.-4.j -5.+6.j 7.+8.j] complex128

Тип данных автоматически определился как complex128, так как мы использовали комплексные литералы.

Пример

Преобразуем массив чисел с плавающей точкой в комплексный с помощью метода astype:

import numpy as np arr_float = np.array([1.5, 2.7, 3.1, 4.9]) arr_complex = arr_float.astype(np.complex128) print(arr_complex) print(arr_complex.dtype)

Результат выполнения кода:

[1.5+0.j 2.7+0.j 3.1+0.j 4.9+0.j] complex128

Пример

Выполним арифметические операции с комплексными числами:

import numpy as np arr1 = np.array([1+2j, 3+4j, 5+6j]) arr2 = np.array([7+8j, 9+10j, 11+12j]) res_sum = arr1 + arr2 res_mul = arr1 * arr2 print("Sum:", res_sum) print("Product:", res_mul)

Результат выполнения кода:

Sum: [ 8.+10.j 12.+14.j 16.+18.j] Product: [ -9.+22.j -13.+46.j -17.+78.j]

Операции сложения и умножения выполняются по правилам комплексной арифметики.

Пример

Получим действительную и мнимую части комплексного массива с помощью атрибутов real и imag:

import numpy as np arr = np.array([1+2j, 3-4j, 5+6j, -7+8j]) real_part = arr.real imag_part = arr.imag print("Real parts:", real_part) print("Imaginary parts:", imag_part)

Результат выполнения кода:

Real parts: [ 1. 3. 5. -7.] Imaginary parts: [ 2. -4. 6. 8.]

Атрибуты real и imag возвращают массивы типа float64, так как каждая часть является 64-битным числом с плавающей точкой.

Смотрите также

  • тип complex64,
    который хранит комплексные числа с одинарной точностью
  • тип float64,
    который хранит числа с плавающей точкой двойной точности
  • тип float32,
    который хранит числа с плавающей точкой одинарной точности
  • тип int64,
    который хранит 64-битные целые числа
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить