Работа с комплексными числами

Ruby:
Работа с комплексными числами

Как это сделать:

Ruby упрощает работу с комплексными числами. Создавать и манипулировать ими можно при помощи класса Complex:

require 'complex'

# Создание комплексных чисел
c1 = Complex(3, 4)
c2 = Complex('2+5i')

# Базовые операции
sum = c1 + c2               # => (5.0+9.0i)
difference = c1 - c2        # => (1.0-1.0i)
product = c1 * c2           # => (-14.0+23.0i)
quotient = c1 / c2          # => (0.896551724137931+0.03448275862068961i)

# Сопряжение, модуль и аргумент
conjugate = c1.conjugate    # => (3.0-4.0i)
magnitude = c1.abs          # => 5.0
phase = c1.phase            # Math.atan2(4, 3) => 0.9272952180016122 радиан

# Методы, специфичные для комплексных чисел
polar = c1.polar            # => [5.0, 0.9272952180016122]
rectangular = c1.rect       # => [3.0, 4.0]

Подробнее

Комплексные числа не новы — они существуют с 16-го века, решая уравнения без действительных решений. Отложив в сторону математику, вычислительно, класс Complex в Ruby выполняет основную работу, наряду с модулем Math для тригонометрических и трансцендентных функций.

В более ранних языках программирования требовалась ручная обработка действительных и мнимых частей. Некоторые, такие как Fortran и C++, выделяют специальные библиотеки для комплексной арифметики.

Подход Ruby встраивает поддержку комплексных чисел в его синтаксис, освобождая вас от необходимости изобретать колесо. За кулисами класс Complex выполняет математические расчеты, в то время как Ruby заботится о взаимодействии объектов.

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