Извлечение квадратных корней из комплексных чисел в алгебраической форме — Bitbucket
Created by lamisperclea1986
snippet.markdown
———————————————————
>>> СКАЧАТЬ ФАЙЛ <<<
———————————————————
Проверено, вирусов нет!
———————————————————
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Корень -ой степени из комплексного числа обозначается символом и на. число задано в тригонометрической форме: , то все значения корня -ой. Затем записать ответ в виде Извлечение корня из комплексных чисел. с комплексными числами, Алгебраическая форма записи комплексного числа. 2) Алгебраическая форма комплексного числа. 5) Извлечение корней из комплексных чисел. Квадратное уравнение с комплексными корнями. Найти корни уравнения и разложить квадратный двучлен на множители. п.6. Извлечение квадратного корня из комплексного числа. Формула квадратных корней из комплексного числа. В дальнейшем нам. Извлечение корней из комплексных чисел. Извлечение корней — квадратных и кубических — без калькулятора — Duration: 40:34. Формула для извлечения корня из комплексного числа и примеры решений. Комплексные числа возводят в степень в тригонометрической форме, для. Числа Извлечение корней из комплексных чисел Квадратное уравнение с. Теперь вы знаете как можно извлечь квадратный корень из отрицательного числа. мы получили можно перевести обратно в алгебраическую форму. Здесь мы учли, что аргумент комплексного числа определен с точностью до. Обе части равенства (18.3) суть комплексные числа, заданные в тригонометрической форме; условия их. Алгоритм извлечения квадратного корня.
[[/deleted]]
This comment is currently being rendered in creole. Editing the comment will cause it to be rendered in markdown.
[[/convert_markup]]Cancel
This comment is currently being rendered in creole. Editing the comment will cause it to be rendered in markdown.
Вычисление квадратного корня из числа в Python — UPROGER
Вступление
Квадратный корень из числа – очень распространенная математическая функция, используемая во всех областях науки – физике, математике, информатике и т.д. Квадратные корни чисел и выражений очень часто встречаются в формулах во всех областях науки, и особенно в том, как мы представляем реальность – моделируя то, что мы можем наблюдать с помощью исчисления.
В этой статье мы рассмотрим различные способы вычисления квадратного корня из числа в Python. Наконец, мы проведем тест производительности с постоянными и случайными числами, а также со списками случайных чисел, чтобы проверить все подходы.
Вычисление квадратного корня в Python с помощью NumPy
NumPy – это библиотека научных вычислений, которая присутствовала во многих приложениях и вариантах использования. Естественно, в нем есть множество оболочек математических функций в качестве вспомогательных методов.
Если она еще не установлена, вы можете установить ее через pip:
$ pip install numpy
В терминах NumPy функция sqrt() вычисляет квадратный корень из числа и возвращает результат:
import numpy as np: x = np.scrt(2) print(x)
Это приводит к:
1.4142135623730951
Помимо использования одной переменной в качестве аргумента, sqrt() также может анализировать списки и возвращать список квадратных корней:
arr = [2, 3, 5, 7] roots = np.sqrt(arr) print(roots)
Это приводит к:
[1.41421356 1.73205081 2.23606798 2.64575131]
Функция sqrt(), однако, имеет ограничение – она не может вычислять квадратный корень из отрицательного числа, поскольку операция квадратного корня с действительными числами определена только для положительных чисел.
Попытка вставить -4 в функцию sqrt() приведет к исключению:
print(np.sqrt(-4))
Попытка вычислить квадратный корень из отрицательного числа приведет к появлению предупреждения и значению nan:
RuntimeWarning: invalid value encountered in sqrt nan
Вычисление квадратного корня из комплексного числа с помощью Numpy
К счастью, NumPy не ограничивается работой только с действительными числами – он также может работать с комплексными числами:
import numpy as np complex_number = -1 + 1j complex_array = [-2, 3, complex_number] complex_root = np.sqrt(complex_number) complex_array_roots = np.sqrt(complex_array) print(f"Square root of '{complex_number}':\n {complex_root}") print(f"Square roots of '{complex_array}':\n {complex_array_roots}")
Если в списке есть хотя бы одно комплексное число, все числа будут приведены и обработаны как сложные, поэтому можно добавить даже отрицательные целые числа:
Square root of '(-1+1j)': (0.45508986056222733+1.09868411346781j) Square roots of '[-2, 3, (-1+1j)]': [0. +1.41421356j 1.73205081+0.j 0.45508986+1.09868411j]
Модуль math в Python
Модуль math – это стандартный модуль, упакованный с Python. Он всегда доступен, но должен быть импортирован и предоставляет оболочки для некоторых общих функций, таких как квадратный корень, полномочия и т.д.:
import math math.sqrt()
Функция sqrt() модуля math- это простая функция, которая возвращает квадратный корень из любого положительного числа:
print(math.sqrt(2))
Это приводит к:
1.4142135623730951
В отличие от функции sqrt() NumPy, она может работать только с одним элементом, поэтому, если вы хотите вычислить квадратный корень из всех элементов в списке, вам придется использовать цикл for или генератор списка:
import math arr = [2, 3, 5, 7] roots = [] for x in arr: roots.append(math.sqrt(x)) # OR roots = [math.sqrt(x) for x in arr]
В обоих случаях список корней будет содержать:
[1. 4142135623730951, 1.7320508075688772, 2.23606797749979, 2.6457513110645907]
math.pow()
Квадратный корень из числа также может быть вычислен путем возведения числа в степень ½:
√x = x1/2
Так что на самом деле, нахождение квадратного корня из числа может быть выражено как увеличение числа до степени ½. math.pow() принимает два аргумента – основание и показатель степени, и увеличивает основание до степени экспоненты:
print(math.pow(2, 0.5))
Естественно, это приводит к:
1.4142135623730951
Оператор **
Оператор ** является двоичным оператором, что означает, что он работает с двумя значениями, как и обычное умножение с помощью *. Однако, поскольку это оператор, используемый для возведения в степень, мы повышаем его левый аргумент до степени его правого аргумента.
Этот подход может быть использован в той же форме, что и предыдущий:
print(2 ** 0.5)
И это также приводит к:
1.4142135623730951
Функция pow()
В Python есть еще один встроенный метод pow(), который не требует импорта математического модуля. Этот метод отличается от метода math.pow() внутренне.
math.pow() неявно преобразует элементы в двойные, в то время как pow() использует внутреннюю реализацию объекта, основанную на операторе **. Хотя это различие в реализации может оправдать использование того или иного в определенных контекстах, если вы просто вычисляете квадратный корень из числа, вы на самом деле не увидите разницы:
print(pow(2, 0.5))
Это приводит к:
1.4142135623730951
Контрольный показатель производительности
Итак, какой из них дает наилучшую производительность, и какой из них вы должны выбрать? Как обычно, нет одного явного победителя, и это зависит от использования методов. А именно, если вы работаете с постоянными числами, случайными числами или массивом случайных чисел в большем масштабе – эти методы будут работать по-другому.
Давайте проверим их все на постоянных числах, случайных числах и массивах случайных чисел:
import timeit print("Time to execute 100k operations on constant number: \n") print("math. sqrt(): %ss" % timeit.timeit("math.sqrt(100)", setup="import math", number=100000)) print("math.pow(): %ss" % timeit.timeit("math.pow(100, 0.5)", setup="import math", number=100000)) print("pow(): %ss" % timeit.timeit("pow(100, 0.5)", number=100000)) print("np.sqrt(): %ss" % timeit.timeit("np.sqrt(100)", setup="import numpy as np", number=100000)) print("** operator: %ss" % timeit.timeit("100 ** 0.5", number=100000)) print("\nTime to execute 100k operations on random number: \n") print("math.sqrt() %ss" % timeit.timeit("math.sqrt(random.random())", setup="import math; import random;", number=100000)) print("math.pow(): %ss" % timeit.timeit("math.pow(random.random(), 0.5)", setup="import math; import random", number=100000)) print("pow(): %ss" % timeit.timeit("pow(random.random(), 0.5)", setup="import random", number=100000)) print("np.sqrt(): %ss" % timeit.timeit("np.sqrt(random.random())", setup="import numpy as np; import random", number=100000)) print("** operator: %ss" % timeit.timeit("random.random() ** 0.5", setup="import random", number=100000)) print("\nTime to execute 100k operations on list of random numbers: \n") print("math.sqrt() %ss" % timeit.timeit("[math.sqrt(x) for x in np.random.rand(100)]", setup="import math; import numpy as np;", number=100000)) print("math.pow(): %ss" % timeit.timeit("[math.pow(x, 0.5) for x in np.random.rand(100)]", setup="import math; import numpy as np;", number=100000)) print("pow(): %ss" % timeit.timeit("[pow(x, 0.5) for x in np.random.rand(100)]", setup="import numpy as np;", number=100000)) print("np.sqrt(): %ss" % timeit.timeit("np.sqrt(np.random.rand(100))", setup="import numpy as np; import numpy as np;", number=100000)) print("** operator: %ss" % timeit.timeit("np.random.rand(100) ** 0.5", setup="import numpy as np", number=100000))
Мы прошли все описанные выше методы через один и тот же тест – постоянное число (которое, вероятно, будет кэшировано для оптимизации), случайное число на каждой из 100 тыс. итераций и список из 100 случайных чисел.
Примечание: Важны только относительные числа в каждом тесте по сравнению с другими методами в этом тесте, поскольку для генерации 100 случайных чисел требуется больше времени, чем при использовании (кэшированного) постоянного значения.
Выполнение этого фрагмента кода приводит к:
Time to execute 100k operations on constant number: math.sqrt(): 0.014326499999999999s math.pow(): 0.0165132s pow(): 0.018766599999999994s np.sqrt(): 0.10575379999999998s ** operator: 0.0006493000000000193s Time to execute 100k operations on random number: math.sqrt() 0.019939999999999958s math.pow(): 0.022284300000000035s pow(): 0.0231711s np.sqrt(): 0.09066460000000004s ** operator: 0.018928s Time to execute 100k operations on list of random numbers: math.sqrt() 2.7786073s math.pow(): 2.9986906s pow(): 3.5157339999999992s np.sqrt(): 0.2291957s ** operator: 0.2376024000000001s
С постоянными числами – функции math.pow(), math.sqrt() и pow() значительно превосходят функцию Numpy sqrt(), поскольку они могут лучше использовать кэширование в процессоре на уровне языка.
Со случайными числами кэширование работает не так хорошо, и мы видим меньшие расхождения.
Со списками случайных чисел np.sqrt() значительно превосходит все три встроенных метода, и оператор ** работает в одной и той же области действия.
Подводя итоги:
- Для постоянных чисел оператор ** явно работает лучше всего на тестовой машине, выполняя в 16 раз быстрее, чем встроенные методы.
- Для случайных чисел np.sqrt() превосходит встроенные методы и оператор **, хотя в результатах нет существенных расхождений.
- Для случайных массивов функция np.sqrt() превосходит встроенные методы, но оператор ** очень близок.
В зависимости от конкретного ввода, с которым вы имеете дело, вы будете выбирать между этими функциями. Хотя может показаться, что все они будут работать хорошо, и хотя в большинстве случаев это не будет иметь большого значения, при работе с огромными наборами данных даже сокращение времени обработки на 10 % может помочь в долгосрочной перспективе.
В зависимости от обрабатываемых данных – протестируйте различные подходы на своем локальном компьютере.
Вывод
В этой короткой статье мы рассмотрели несколько способов вычисления квадратного корня из числа в Python.
Мы рассмотрели функции pow() и sqrt() математического модуля, а также встроенную функцию pow(), функцию Numpy sqrt() и оператор **. Наконец, мы провели сравнительный анализ методов для сравнения их производительности на различных типах входных данных – постоянных числах, случайных числах и списках случайных чисел.
Просмотры: 2 753
2 = -1Квадрат каждого действительного числа положителен. Таким образом, мы должны использовать комплексные числа, чтобы расширить систему действительных чисел до более крупной системы. Комплексные числа представляют собой сумму действительного числа и мнимого числа. Например, если Z — комплексное число, то
Z = a + ib
, здесь Z = комплексное число
a = действительная часть
i = йота (√-1) (мнимая)
ib = мнимое число
йота (i) полезно для нахождения квадратного корня из комплексных чисел. 92 + 1 = 0
Квадратный корень из комплексного числа
Формула для нахождения квадратного корня из комплексного числа a + ib задается как
(a+ib ) = ±(x + iy),
Здесь, x и y — действительные числа
Два комплексных числа z1 = a + ib и z2 = c + id будут равны, если a = c и b = d.
Квадратные корни комплексного числа и мнимых чисел можно найти с помощью приведенной выше формулы.
Квадратный корень из калькулятора комплексных чисел 92 = 3, xy = 2
x = 2 и y = 1
Ответ: √ (3 + 4i) = ±(2 + i)
Квадратный корень из комплексного числа в полярной форме
можно использовать для комплексных чисел, чтобы найти квадратный корень комплексного числа в полярной форме
Согласно теореме о корнях n:
Для комплексного числа z = r (cosθ + i sinθ),
корень n-й степени определяется формулой z1/n = r1/n [cos [(θ + 2kπ)/n] + i sin [(θ + 2kπ)/n]], где k = 0, 1, 2, 3, …, n-1
Чтобы получить периодические корни комплексного числа, добавьте 2kπ к θ. 2 92 = -25
или квадратный корень из -25 равен ±5i
Примеры квадратного корня из мнимых чисел
Найти квадратный корень из -18
Решение: √-18 = i√18
90 004 i √ (9 × 2)= I√9 √2
= I x (± 3) x √2
= ± 3i√2
Ответ = √-18 = ± 3i√2
Заключение
Квадратный корень из отрицательного числа не существует в реальной системе счисления. Квадратный корень из комплексных чисел помогает найти многочисленные корни в полиномиальном уравнении. В числе вида а + ib, где а и b — действительные числа, а называется натуральной частью, а b — мнимой частью комплексного числа.
Видео с вопросами: Нахождение квадратных корней комплексных чисел в полярной форме
Стенограмма видео
Определить в тригонометрической форме квадратные корни из минус пяти минус пять 𝑖 все разделить на минус пять плюс пять 𝑖 все возвести в девятую степень .
В этом вопросе нас просят найти квадратные корни заданного комплексного числа. Нам нужно дать их в тригонометрической форме. Самый простой способ найти корни комплексных чисел — использовать теорему де Муавра для корней комплексных чисел. И мы помним, что это говорит нам, что если 𝑍 — комплексное число, записанное в тригонометрической форме, то есть 𝑍 равно 𝑟, умноженному на cos 𝜃 плюс 𝑖 sin 𝜃, то все 𝑛-е корни 𝑍 задаются следующей формулой. Они равны 𝑟 в степени единицы над 𝑛, умноженной на косинус 𝜃 плюс два 𝜋𝑘 над 𝑛 плюс 𝑖 грех 𝜃 плюс два 𝜋𝑘 по всему 𝑛, где наши значения 𝑘 — целые числа, и они варьируются от нуля до 𝑛 минус один.
Таким образом, чтобы использовать эту формулу для нахождения квадратных корней нашего комплексного числа, мы захотим записать ее в тригонометрической форме. И есть несколько разных способов сделать это. Начнем с упрощения нашего выражения. У нас может возникнуть соблазн упростить это выражение, записав числитель и знаменатель отдельно в тригонометрической форме. Однако мы всегда должны сначала проверить, можем ли мы упростить это выражение другим способом. Мы видим, что и в нашем числителе, и в знаменателе делит множитель минус пять. Убрав это, мы получим минус пять раз один плюс 𝑖 все разделить на минус пять раз один минус 𝑖 все возвести в девятую степень. И мы можем отменить общий множитель минус пять в числителе и знаменателе.
Далее мы можем упростить это, заметив, что мы делим два комплексных числа. И один из способов сделать это — умножить и числитель, и знаменатель на комплексно-сопряженное число знаменателя. Итак, внутри нашей экспоненты нам нужно умножить на один плюс 𝑖 разделить на один плюс 𝑖. В числителе у нас один плюс 𝑖 в квадрате. Мы можем распределить это, используя биномиальную теорему или метод FOIL. В любом случае, мы получаем один плюс два 𝑖 плюс 𝑖 в квадрате. В знаменателе у нас один минус 𝑖 умножается на один плюс 𝑖. Это факторизация разницы между квадратами, так что это один минус 𝑖 в квадрате. И помните, нам нужно все это возвести в девятую степень.
Затем мы можем упростить это еще больше. Помните, 𝑖 — это квадратный корень из отрицательной единицы. Итак, 𝑖 в квадрате равен отрицательной единице. Если в это выражение подставить 𝑖 в квадрате отрицательную единицу, числитель станет один плюс два 𝑖 минус один, то есть два 𝑖. И знаменатель становится один плюс один, то есть два. Таким образом, мы получаем два 𝑖 над двумя, возведенными в девятую степень. Мы можем отменить общий множитель двойки. Следовательно, комплексное число, которое нам дали в вопросе, равно 𝑖 в девятой степени.
Мы можем упростить это еще больше. Так как 𝑖 в квадрате отрицательная единица, 𝑖 в четвертой степени должно быть равно единице. А так как 𝑖 в девятой степени равно 𝑖 в четвертой степени, умноженной на 𝑖 в четвертой степени, умноженной на 𝑖, то 𝑖 в девятой степени равно 𝑖. Следовательно, комплексное число, из которого нас попросили найти квадратный корень, — это просто 𝑖. И есть несколько разных способов нахождения квадратных корней из этого числа. Мы просто воспользуемся формулой де Муавра. И чтобы использовать эту формулу, нам сначала нужно переписать 𝑖 в тригонометрической форме. И напомним, чтобы записать комплексное число в тригонометрической форме, нам просто нужно найти его модуль и его аргумент.
Начнем с модуля. Модуль числа — это его расстояние от начала координат на диаграмме Аргана. Или, альтернативно, это квадратный корень из суммы квадратов действительной и мнимой частей нашего комплексного числа. И в обоих случаях мы знаем, что модуль 𝑖 равен единице. Далее нам нужно найти аргументы нашего комплексного числа 𝑖. Помните, что это угол, измеренный против часовой стрелки от положительной оси 𝑥, которую 𝑖 образует на диаграмме Аргана. Таким образом, мы можем найти это значение из эскиза. Помните, что на диаграмме Аргана координата 𝑥 — это действительная часть нашего комплексного числа, а координата 𝑦 — это мнимая часть нашего комплексного числа. А поскольку 𝑖 имеет нулевую действительную часть и единицу мнимую часть, координаты 𝑖 на диаграмме Аргана равны нулю, единице.
Итак, 𝑖 лежит на положительной вертикальной оси. Это означает, что его угол, измеренный против часовой стрелки от положительной горизонтальной оси, будет 𝜋 на два. Аргумент 𝑍 или аргумент 𝑖 равен 𝜋 на два. Следовательно, мы можем записать наше комплексное число 𝑖 в тригонометрической форме, подставив значение 𝑟 и значение 𝜃 в тригонометрическую форму. Его тригонометрическая форма равна cos 𝜋 на два плюс 𝑖 sin of 𝜋 на два.
Теперь мы готовы использовать нашу формулу для нахождения квадратных корней этого комплексного числа 𝑍. Поскольку нам нужны квадратные корни, наше значение 𝑛 равно двум. И помните, мы обнаружили, что значение 𝑟 равно единице, а 𝜃 равно 𝜋 на два. Поэтому подставляем их в формулу. Это дает нам следующее выражение для 𝑛-го корня нашего комплексного числа. Они даны единицей в степени одного более чем в два раза больше, чем 𝜋 на два плюс два 𝜋𝑘 на два плюс 𝑖 грех 𝜋 на два плюс два 𝜋𝑘 на два. И помните, наши значения 𝑘 — целые числа, которые варьируются от нуля до 𝑛 минус один. Итак, 𝑘 находится между нулем и единицей.
Это дает нам два квадратных корня: один, когда 𝑘 равно нулю, и один, когда 𝑘 равно единице. Итак, мы найдем наш первый корень, когда подставим 𝑘 равно нулю в это выражение и упростим. Во-первых, единица в степени половины просто равна единице. И умножение на единицу не изменит его значения. Далее, когда 𝑘 равно нулю, два 𝜋𝑘 равны нулю. Таким образом, у нас просто есть cos 𝜋 на два больше двух, что является cos 𝜋 на четыре. И то же самое верно и для нашего второго срока. Когда 𝑘 равно нулю, у нас есть 𝑖 грех 𝜋 на два больше двух, что равно 𝑖 грех 𝜋 на четыре. Это дает нам первый квадратный корень из нашего комплексного числа.
Однако мы получим второй квадратный корень, если подставим 𝑘 равным единице. Подставив в это выражение 𝑘 равно единице, мы получим cos 𝜋 на два плюс два 𝜋 на все два плюс 𝑖 sin на 𝜋 на два плюс два 𝜋 на все два. И мы можем упростить это, заметив, что 𝜋 больше двух плюс два 𝜋 больше двух равно пяти 𝜋 на четыре. И мы могли бы просто оставить наш ответ так. Однако помните, что мы можем добавлять и вычитать из нашего аргумента целые числа, кратные двум 𝜋. Таким образом, мы также можем вычесть два 𝜋 из этого значения. Тогда это даст нам минус три 𝜋 на четыре.