Spec-Zone.ru › Tcllib

math::complexnumbers

ИМЯ

math::complexnumbers — простой пакет для работы с комплексными числами

Содержание

  • Содержание

  • Краткое описание

  • Описание

  • ДОСТУПНЫЕ ПРОЦЕДУРЫ

  • Ошибки, идеи, отзывы

  • Категория

  • Авторские права

КРАТКОЕ ОПИСАНИЕ

package require Tcl 8.5 9
package require math::complexnumbers ?1.0.3?

::math::complexnumbers::+ z1 z2
::math::complexnumbers::- z1 z2
::math::complexnumbers::* z1 z2
::math::complexnumbers::/ z1 z2
::math::complexnumbers::conj z1
::math::complexnumbers::real z1
::math::complexnumbers::imag z1
::math::complexnumbers::mod z1
::math::complexnumbers::arg z1
::math::complexnumbers::complex real imag
::math::complexnumbers::tostring z1
::math::complexnumbers::exp z1
::math::complexnumbers::sin z1
::math::complexnumbers::cos z1
::math::complexnumbers::tan z1
::math::complexnumbers::log z1
::math::complexnumbers::sqrt z1
::math::complexnumbers::pow z1 z2

ОПИСАНИЕ

Математический модуль complexnumbers предоставляет простую реализацию комплексных чисел на чистом Tcl. Предполагается, что пользователь знает, что работает с комплексными числами в абстрактном виде, и хочет добиться максимально возможной производительности в рамках ограничений интерпретируемого языка.

Поэтому процедуры, определённые в этом пакете, предполагают, что аргументы являются корректными (представлениями) «комплексными числами», то есть списками из двух чисел, задающих действительную и мнимую части комплексного числа (хотя это лишь деталь: используйте команду complex для создания корректного числа).

Большинство процедур реализуют основные арифметические операции или элементарные функции, а несколько других выполняют преобразование в различные представления и обратно:

set z [complex 0 1]
puts "z = [tostring $z]"
puts "z**2 = [* $z $z]

получим:

z = i
z**2 = -1

ДОСТУПНЫЕ ПРОЦЕДУРЫ

Пакет реализует все или большинство основных операций и элементарных функций.

Арифметические операции:

  • ::math::complexnumbers::+ z1 z2

    Складывает два аргумента и возвращает полученное комплексное число

    • complex z1 (входной)

      Первый аргумент при сложении

    • complex z2 (входной)

      Второй аргумент при сложении

  • ::math::complexnumbers::- z1 z2

    Вычитает второй аргумент из первого и возвращает полученное комплексное число. Если указан только один аргумент, возвращается противоположное число z1 (т. е. -z1)

    • complex z1 (входной)

      Первый аргумент при вычитании

    • complex z2 (входной)

      Второй аргумент при вычитании (необязательный)

  • ::math::complexnumbers::* z1 z2

    Перемножает два аргумента и возвращает полученное комплексное число

    • complex z1 (входной)

      Первый аргумент при умножении

    • complex z2 (входной)

      Второй аргумент при умножении

  • ::math::complexnumbers::/ z1 z2

    Делит первый аргумент на второй и возвращает полученное комплексное число

    • complex z1 (входной)

      Первый аргумент (числитель) при делении

    • complex z2 (входной)

      Второй аргумент (знаменатель) при делении

  • ::math::complexnumbers::conj z1

    Возвращает сопряжённое к заданному комплексному числу

    • complex z1 (входной)

      Рассматриваемое комплексное число

Процедуры преобразования и получения сведений:

  • ::math::complexnumbers::real z1

    Возвращает действительную часть заданного комплексного числа

    • complex z1 (входной)

      Рассматриваемое комплексное число

  • ::math::complexnumbers::imag z1

    Возвращает мнимую часть заданного комплексного числа

    • complex z1 (входной)

      Рассматриваемое комплексное число

  • ::math::complexnumbers::mod z1

    Возвращает модуль заданного комплексного числа

    • complex z1 (входной)

      Рассматриваемое комплексное число

  • ::math::complexnumbers::arg z1

    Возвращает аргумент (угол в радианах) заданного комплексного числа

    • complex z1 (входной)

      Рассматриваемое комплексное число

  • ::math::complexnumbers::complex real imag

    Создаёт комплексное число «real + imag*i» и возвращает его

    • float real (входной)

      Действительная часть нового комплексного числа

    • float imag (входной)

      Мнимая часть нового комплексного числа

  • ::math::complexnumbers::tostring z1

    Преобразует комплексное число к виду «real + imag*i» и возвращает строку

    • float complex (входной)

      Комплексное число для преобразования

Элементарные функции:

  • ::math::complexnumbers::exp z1

    Вычисляет экспоненту для заданного комплексного аргумента и возвращает результат

    • complex z1 (входной)

      Комплексный аргумент функции

  • ::math::complexnumbers::sin z1

    Вычисляет синус заданного комплексного аргумента и возвращает результат

    • complex z1 (входной)

      Комплексный аргумент функции

  • ::math::complexnumbers::cos z1

    Вычисляет косинус заданного комплексного аргумента и возвращает результат

    • complex z1 (входной)

      Комплексный аргумент функции

  • ::math::complexnumbers::tan z1

    Вычисляет тангенс заданного комплексного аргумента и возвращает результат

    • complex z1 (входной)

      Комплексный аргумент функции

  • ::math::complexnumbers::log z1

    Вычисляет логарифм (главное значение) заданного комплексного аргумента и возвращает результат

    • complex z1 (входной)

      Комплексный аргумент функции

  • ::math::complexnumbers::sqrt z1

    Вычисляет квадратный корень (главное значение) заданного комплексного аргумента и возвращает результат

    • complex z1 (входной)

      Комплексный аргумент функции

  • ::math::complexnumbers::pow z1 z2

    Вычисляет «z1 в степени z2» и возвращает результат

    • complex z1 (входной)

      Комплексное число, возводимое в степень

    • complex z2 (входной)

      Комплексная степень

Ошибки, идеи, отзывы

В этом документе и описываемом в нём пакете, несомненно, могут содержаться ошибки и другие проблемы. Сообщайте о них в категории math :: complexnumbers в системе отслеживания Tcllib. Также сообщайте о любых идеях по улучшению пакета и/или документации.

Предлагая изменения кода, пожалуйста, предоставляйте унифицированные различия, то есть вывод команды diff -u.

Обратите также внимание, что вложения предпочтительнее вставленных непосредственно в текст патчей. Вложения можно добавить, перейдя к форме Edit соответствующей заявки сразу после её создания, а затем воспользовавшись самой левой кнопкой на дополнительной панели навигации.

КАТЕГОРИЯ

Математика

АВТОРСКИЕ ПРАВА

Авторские права © 2004 Arjen Markus

Licensed under the BSD license
https://core.tcl-lang.org/tcllib/doc/trunk/embedded/md/tcllib/files/modules/math/qcomplex.md

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API