Методы вычисления квадратных корней

Методы вычисления квадратных корней

Методы вычисления квадратных корней - алгоритмы численного анализа для нахождения главного, или неотрицательного, квадратного корня (обычно обозначаемого,, или S1/2) вещественного числа. Арифметически это означает приведенное S, процедуру нахождения числа, которое при само по себе, yields S; al raically, это означает процедуру нахождения неотрицательного корня уравнения x2 - S = 0; в метрическом смысле, это означает, что задана площадь квадрата, процедура определения стороны квадрата.

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

Продолжающееся фрактальное представление вещественного числа может использоваться вместо его десятичного или бинарного расширения, и это представление имеет то свойство, что квадратный корень любого относительного числа (которое не является уже совершенным квадратом) имеет периодическое, повторяющееся расширение, подобное тому, как относительные числа имеют повторяющиеся расширения в системе десятичных обозначений.

Наиболее распространенными аналитическими методами являются итеративные и два этапа: поиск подходящего начального значения, с последующим итеративным уточнением до тех пор, пока некоторые критерии терминирования не будут меть. начальное значение может быть любым числом, но f iterations потребуется, чем ближе к окончательному результату. Некоторые методы, такие как бумажно-пенасинтетическое деление и серийное расширение, не требуют начального значения. В некоторых применениях требуется целый квадратный корень, который является квадратным корнем, округленным или усеченным до самого близкого целого числа (в этом случае может быть использована модифицированная процедура).

Используемый способ зависит от того, для чего должен быть использован результат (то есть от того, насколько точным он должен быть), от того, сколько усилий он готов приложить к процедуре, и от того, какие инструменты находятся в руках. Algorithms может учитывать сходимость (сколько итераций требуется для достижения заданного);, вычислительную компитентность отдельных операций (т.е. деление) или итераций и распространение ошибок (точность конечного результата).

Процедуры поиска квадратных корней (особенно квадратный корень из 2) были известны, по крайней мере, с периода древнего Вавилона в 17 веке BCE. Метод Херона из Египта первого века был первым восходящим algorithm для вычисления квадратных корней. Сегодня почти все вычислительные устройства имеют быструю и точную функцию квадратного корня, либо как язык программирования ct, comp intrinsic или библиотечную функцию, либо как аппаратный оператор, основанный на одной из описанных процедур.

Начальная

Многие итеративные квадратные корневые альгоритмы требуют начального затравочного значения. Затравка должна быть ненулевым положительным числом; она должна быть между 1 и, число, квадратный корень которого требуется, потому что квадратный корень должен быть в этом диапазоне. Если посев находится далеко от корня, algorithm потребует больше итераций. Если инициализировать с x0 = 1 (или S), то приблизительно итерации будут потрачены впустую, просто получая порядок величины корня. Поэтому полезно иметь рой, который может иметь ограниченную точность, но легко рассчитать. В общем, чем лучше начальная, тем быстрее конвергенц. для метода Ньютона (также называемого методом Вавилона или цапли) посеянная головчатка крупнее корня сойдётся несколько быстрее, чем посеянная головчатка мельче корня.

В общем, соответствует arbit inter, который, как известно, содержит корень (например, [x0, S/x0]). - это конкретное значение функциональной аппроксимации f (x) = по междуречью. Получение лучшего включает в себя либо получение более плотных оснований на внутренней поверхности, либо поиск лучшего функционального приближения к f (x). Последнее обычно означает использование полинома более высокого порядка в аппроксимации, хотя не все аппроксимации являются полиномиальными. Общие методы оценки включают в себя скалярный, линейный, гипербоксический и логарифмический. Десятичная основа обычно используется для умственной или бумажной оценки. Бинарная база больше подходит для компьютерных оценок. при оценке экспонента и мантисса обычно рассматриваются отдельно, так как число будет выражено в научной нотации.

Десятичные оценки

Обычно число выражается в научной нотации как где и n является целым числом, и диапазон возможных квадратных корней является где.

Оценки скалара

Скалярные методы деферировать диапазон в inter, и в каждом inter представляется одним скалярным числом. Если диапазон рассматривается как один inter, среднее арифметическое (5.5) или c среднее время являются оценками.

Для двух внутренних, разделенных на, квадратный корень может быть оценен как

Этот имеет максимальную абсолютную погрешность при a = 100 и максимальную относительную погрешность 100% при a = Например, для факторизованного как, ., абсолютная погрешность 246 и относительная погрешность почти 70%.

Линейные оценки

Лучшим и используемым стандартным методом является линейная аппроксимация функции над малой аркой. Если, как указано выше, мощности основания факторизируются из числа, а промежуточная линия уменьшается до [1100], в качестве аппроксимации может быть использована секущая линия, арку, или касательная линия som вдоль арки, но линия регрессии наименьших квадратов, пересекающая арку, будет более точной.

Линия регрессии методом наименьших квадратов минимизирует среднюю разницу между и значением функции. его уравнение равно. Reor,. Округление coefficients для облегчения вычисления,

Это наилучшая в среднем, которая может быть достигнута с помощью единичной линейной аппроксимации функции y = x2 в междуречье [1100]. Она имеет максимальную абсолютную погрешность 2 при a = 100 и максимальную относительную погрешность 30% при S = 1 и 10.

Чтобы de на 10, подзаголовок один из экспоненты, или образно переместить десятичную точку на одну цифру влево. Для этой формулы любая добавочная константа 1 плюс небольшое приращение будет делать удовлетворительный так что восстановление точного числа не является бременем. Аппроксимация (округленная или нет) с использованием одной строки в диапазоне [1100] меньше одного значимого числа ; относительная ошибка больше 1/22, поэтому предоставляется менее 2 битов информации. Точность строго ограничена, потому что диапазон составляет два порядка магнитуд, достаточно больших для такого рода оценок.

Гораздо лучший может быть получен с помощью piece-wise линейной аппроксимации: несколько отрезков линий, каждый из которых аппроксимирует некоторые подарки оригинала. чем больше используется отрезков линий, тем лучше аппроксимация. Наиболее распространенный способ - использовать касательные линии; критические варианты - как из дуги и где разместить касательные точки. Эффективным способом дуги от y = 1 до y = 100 является : для двух междуречий борды междуречья представляют собой квадратный корень бордов исходного междуречья, 1 * 100, т.е. [1,] и [, 100]. Для трех междуречий борды представляют собой корни 100: [1,], [, 2] междуречья, и [) 2,100] являются очень простыми и равнозначными. Таким образом, для S = a * 102n:

Максимальные абсолютные ошибки возникают в верхних точках междуречья, в a = 10 и 100, и равны 0.54 и 7 соответственно. Максимальные относительные ошибки находятся в конечной точке inter, в a = 1, 10 и 100, и составляют 17% в обоих случаях. 17% или 0.17 больше, чем 1/10, поэтому метод стремится меньше, чем десятичная цифра точности.

Оценка Hyper-c

В некоторых случаях оценки hyper-c могут быть эффективными, поскольку hyperbola также является выпуклой кривизной и может лежать вдоль дуги Y = x2 лучше, чем линия. Оценки Hyper-c более сложны в вычислительном отношении, поскольку для них необходим плавающий sion. близкое к оптимальному аппроксимация hyper-c до x2 на пересечении [1100] равно y = 190/(10-x) -20.

Плавающее деление должно быть точным только к одному десятичному диджиту, потому что в целом только то, что точно, и может быть сделано ментально. Имеет максимальную абсолютную погрешность 58 при 100 и максимальную относительную погрешность 16,0% при Для наихудшего случая при a = 10 составляет 3,67. Если начать с 10 и сразу применить итерации Ньютона-Рафсона, то потребуется две итерации, длящиеся 3,66, до того, как точность гипербок c будет ed. для более типичного случая, как 75, гипербок c будет 8,00, и 5 итераций Ньютона-Рафсона, начиная с 75, потребуется для получения более точного результата.

Арифметические оценки

Метод, аналогичный линейному приближению piece-wise, но использующий только арифметические вместо алярических уравнений, использует таблицы lication в re : квадратный корень числа между 1 и 100 находится между 1 и 10, так что если мы знаем, что 25 является совершенным квадратом (5 & раз; 5), а 36 является совершенным квадратом (6 & раз; 6), то квадратный корень числа больше или равен 25, но меньше, чем 36, начинается с других квадратов. Этот метод даст правильный первый digit, но он не точен до одного digit: первый digit квадратный корень из 35 например, 5, но квадратный корень из 35 почти 6.

Таким образом, любое число от 25 до половины пути к 36, что составляет 30,5, 5; любое число более чем 30,5 до 36, Процедура требует лишь небольшой арифметики, чтобы найти граничное число в середине двух продуктов из таблицы лицензирования. Вот справочная таблица этих границ:

Заключительная операция состоит в том, чтобы на степень десять, деленную на 2, так для,

Метод имплицирует один значительный диджит точности, так как он округляется до лучшего первого диджита.

Метод может быть расширен на 3 значимых диджита в большинстве случаев, путем интерполяции между ближайшими квадратами, окружающими операнда. если, то, приблизительно k плюс fra, разница между и k2 делится на разницу между двумя квадратами:

Заключительная операция, как указано выше, заключается в результата силой десять, деленной на 2;

является десятичным дигитом и является фрам, который должен быть преобразован в десятичный. Обычно он имеет только один диджит в числителе, и один или два диджита в знаменателе, поэтому преобразование в десятичный можно сделать ментально.

Пример: найти квадратный корень 75., так что равно 75 и равно 0. Из таблиц лицензирования, квадратный корень мантиссы должен быть 8 точек что-то потому что 8 & умножить; 8 это 64, но 9 & умножить; 9 это 81, слишком большой, так что-то 8; что-то десятичная репрезентация. Фрайс 75 - k2 = 11, числитель, и 81 - k2 = 17, знаменатель которого меньше, 11/17.

Бинарные оценки

При работе в бинарной числовой системе (как это делают компьютеры внутри себя), путем выражения как где, квадратный корень может быть оценен как

, которая является линией регрессии наименьших квадратов к 3 значимым digit coefficients. имеет максимальную абсолютную погрешность 0.0408 при a = 2 и максимальную относительную погрешность 3.0% при a = A вычислительно удобно округленный (потому что coefficients являются степенями 2) составляет:

которая имеет максимальную абсолютную погрешность 0,086 при 2 и максимальную относительную погрешность 6,1% при = 0,5 и = 0.

Для бинарного приближения дает., поэтому имеет абсолютную погрешность 19 и относительную погрешность 5,3%. Относительная погрешность составляет чуть менее 1/24, поэтому хорошо до 4 + бит.

, для получения до 8 битов, можно получить путем табличного поиска на верхних 8 битах, сохранив, что высокий бит является импликтным в большинстве представлений плавающей точки, и нижний бит 8 должен быть округлен. Таблица содержит 256 байт предварительно вычисленного 8-битного квадратного корня. Например, для индекса 111011012, представляющего 851562510, запись 101011102, представляющего 1.35937510, квадратный корень от 851562510 до 8 бит (2 + десятичные цифры).

Вавилонский метод

Граф описывает использование вавилонского метода для аппроксимации квадратного корня из 100 (± 10) с использованием начальных значений x0 = 50, x0 = 1 и x0 = & minus; 5. Обратите внимание, что положительное начальное значение определяет положительный корень, а отрицательное начальное значение - отрицательный корень.

Возможно, первый алгоритм, используемый для аппроксимации, известен как вавилонский метод, несмотря на то, что нет прямых доказательств, помимо осознанной конъектуры, что эпонимический вавилонский метод использовал именно этот метод. Метод также известен как метод Цапка, после греческого языка I века Херо Александрийского, который дал первое описание метода в своей работе "Метрика" 60 года нашей эры. Основная идея состоит в том, что если является завышенным по отношению к квадратному корню неотрицательного вещественного числа, то будет недооцененным, или наоборот, и поэтому можно разумно ожидать, что среднее из этих двух чисел обеспечит лучшее приближение (хотя формальное доказательство этого утверждения зависит от неодинаковой арифметики и c означает, что показывает, что это среднее всегда является избыточным по отношению к квадратному корню, как отмечено в статье о квадратной роотложения, таким образом). Это эквивалентно использованию метода Ньютона для решения.

Более точно, если это наша первоначальная догадка и ошибка в нашей, что, то мы можем экспандировать биномиал и решить для

Поэтому мы можем компенсировать ошибку и обновить наши старые как

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

  • Начните с начального значения arbit positive (чем ближе к фактическому квадратному корню, тем лучше).
  • Пусть является средним из и (используя среднее арифметическое для аппроксимации среднего).
  • Повторяйте шаг 2 до тех пор, пока не будет достигнута желаемая точность.

Он также может быть представлен следующим образом:

Этот algorithm работает одинаково хорошо в -адических чисел, но не может быть использован для идентификации вещественных квадратных корней с -адическими квадратными корнями; можно, например, определить последовательность относительных чисел с помощью этого метода, который сходится к + 3 в реалах, но к & minus; 3 в 2-adics.

Пример

Чтобы вычислить, где = 125348, шесть значимых цифр, используйте метод оценки роев выше, чтобы получить

Сходимость

Предположим, что x0 > 0 и S > 0. Тогда для любого натурального числа n, xn > 0. Пусть относительная ошибка в xn определяется

и, таким образом,

Тогда можно показать, что

И, таким образом, что

и, следовательно, что сходимость гарантирована, и квадратика.

Наихудший случай сходимости

Если использовать с вавилонским методом приведённый выше ро , то наименее точные случаи в порядке возрастания таковы:

Таким образом, в любом случае,

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

Метод Бакхшали

Этот метод нахождения приближения к квадратному корню был описан в древнеиндийском манускрипте, называемом манускриптом Бакхшали. Он эквивалентен двум итерациям вавилонского метода, начинающимся с x0. Таким образом, альгоритм квартирно сходится, что означает, что число правильных диджитов аппроксимации ро четырёхкратно с каждой итерацией. Исходное представление, используя современную нотацию, выглядит следующим образом: Чтобы вычислить, пусть x02 будет начальным приближением к S. Тогда последовательно итератировать как:

Если x0 = N является целым числом, выбранным таким образом, что N2 близок к S, и d = S & minus; N2 является разницей, абсолютное значение которой минимизировано, то первая итерация может быть записана как:

Метод Бакхшали может быть обобщён на вычисление корня arbit root, включая фрактальные корни.

Пример

Используя тот же пример, что и в вавилонском методе, позвольте Тогда, первое итерация дает

Likewise вторая итерация дает

Поцифровое вычисление

Это метод поиска каждого диджита квадратного корня в последовательности. Он медленнее вавилонского метода, но имеет несколько преимуществ:

  • Это может быть проще для расчетов вручную.
  • Каждый дигит найденного корня известен как правильный, т.е. его не нужно менять позже.
  • Если квадратный корень имеет расширение, которое заканчивается, algorithm заканчивается после того, как найден последний digit. Таким образом, его можно использовать для проверки, является ли данное целое число квадратным числом.
  • Algorithm работает для любой базы, и естественно, то, как он s зависит от выбранной базы.

Боны Нейпира включают в себя помощь для исполнения этого альгоритма. n-й корневой algorithm является обобщением этого метода.

Основной принцип

Сначала рассмотрим случай нахождения квадратного корня числа Z, то есть квадрата двухдигитового числа XY, где X - десятичный диджит, а Y - единицы диджита. В частности:

Z = (10X + Y) 2 = 100X2 + 20XY + Y2

Теперь, используя algorithm digit-by-digit, мы сначала определяем значение X. X является наибольшим дигитом таким, что X2 меньше или равно Z, из которого мы удалили два правых дигита.

В следующей итерации мы соединяем диджиты, X на 2, и помещаем их на десятую позицию, пока мы пытаемся выяснить, что значение Y.

Поскольку это простой случай, когда ответом является совершенный квадратный корень XY, algorithm останавливается здесь.

Эта же идея может быть расширена для любого вычисления корня в квадрате. Подавьте мы можем найти квадратный корень из N, выразив его как сумму n положительных чисел, таких, что

Путем многократного применения базовой идентификации

правая сторона термина может быть расширена как

Это выражение позволяет найти квадратный корень, последовательно угадав значения s. Suppose, что числа уже были угаданы, то m-й член правой стороны выше суммирования задаётся тем, где является приблизительным квадратным корнем, найденным до сих пор. Теперь каждая новая догадка должна корректировать рекурсию

так, что для всех с инициализации Когда точный квадратный корень был найден; если нет, то сумма s дает подходящее приближение квадратного корня, с ошибкой приближения.

Например, в десятичной системе счисления мы имеем

где держатели мест и соработники. На любом m-м этапе вычисления квадратного корня найденный до сих пор приблизительный корень и член суммирования задаются как

Здесь, поскольку значение места является равномерной силой 10, нам нужно работать только с парой наиболее значимых диджитов оставшегося члена на любом m-м этапе. В разделе ниже описана эта процедура.

, что подобный способ может быть использован для вычисления квадратного корня в системах счисления, отличных от десятичной системы счисления. Например, поиск квадратного корня digit-by-digit в бинарной системе счисления достаточно эффективен, так как значение искали из меньшего набора бинарных разрядов < 1>. Это делает вычисление более быстрым, поскольку на каждом этапе значение является либо для, либо для. Тот факт, что у нас есть только два возможных варианта, также облегчает процесс значения на m-й стадии расчета. Это потому, что нам нужно только проверить, если для Если это условие, то мы принимаем; если не тогда также, тот факт, что лицензии на 2 делается левой бит-фтс помогает в вычислении.

Десятичный (основание 10)

Запишите исходное число в десятичной форме. Числа записываются аналогично алгоритму длинного деления, и, как и в длинном делении, корень будет записан на строчке выше. Теперь разделите диджиты на пары, начиная от десятичной точки и идя как влево, так и вправо. Десятичная точка корня будет выше десятичной точки квадрата. Один диджит корня появится над каждой парой диджитов квадрата.

Начиная с самой левой пары цифр, выполните следующую процедуру для каждой пары:

  • Начав слева, обрушить наиболее значимую (leftmost) пару ещё не использованных диджитов (если все диджиты были использованы, запишите "00"); и записать их справа от остатка с предыдущего шага (на первом шаге остатка не будет). Другими словами, остаток на 100 и добавьте два диджита. Это будет текущее значение c.
  • Найдите p, y и x следующим образом:
  • * Пусть p будет частью корня, найденного до сих пор, игнорируя любую десятичную точку. (Для первого шага p = 0.)
  • * Определить наибольший digit x такой, что. Мы будем использовать новую переменную y = x (20p + x).
  • * * Примечание: 20p + x является просто дважды p, с digit x добавляется справа.
  • * * Примечание: x можно найти, догадавшись, что такое c/(20 · p) и сделав пробное вычисление y, затем регулируя x вверх или вниз по мере необходимости.
  • * Поместите диджит как следующий диджит корня, то есть над двумя диджитами квадрата, который вы только что опустили. Таким образом, следующий p будет старым p умножить на 10 плюс x.
  • Подтекст y из c для формирования нового остатка.
  • Если остаток равен нулю и больше нет диджитов, чтобы сбить, то алгоритм оборвался. В противном случае вернитесь к шагу 1 для другой итерации.
Примеры

Найдите квадратный корень 152.2756.

/\/01 52,27 56 01 1 * 1 < = 1 < 2 * 2 x = 1 y = x * x = 1 * 1 = 1 00 52 22 * 2 < = 52 < 23 * 3 x = 2 y = (20 + x) * x = 22 * 2 = 44 08 27 243 * 3 < = 827 < 244 * 4 x = 3 y = (240 + x) * x = 243 * = 729 98 56 2464 * 4 * < 94

Бинарная числовая система (основание 2)

Inherent to digit-by-digit algorithms - шаг поиска и проверки: найти digit, при добавлении справа от текущего решения, такой, что, где - значение, для которого требуется корень. Расширение:. Текущее значение или, как правило, остаточного может быть постепенно обновлено эффективно при работе в бинарном режиме, так как значение будет иметь один битовый набор (мощность 2), и операции, необходимые для вычисления и могут быть заменены на более быстрые операции сдвига битов.

Пример

Здесь получаем квадратный корень из 81, который при преобразовании в бинарный даёт 1010001. Числа в левом столбце дают опцию между этим числом или нулем, которая будет использоваться для подтрап на этом этапе вычисления. Окончательный ответ - 1001, что в десятичном выражении равно 9.

1 0 0 1 ------- 1010001 1 1 -------------10101 01 0 ----------10001 10001 -------0 Это приводит к простым компьютерным вычислениям:

//" бит "начинается с наивысшей степени в четыре < = аргумента, в то время как (бит > число) бит > > = 2;

Используя приведенную выше нотацию, переменная "бит" соответствует которой, переменная "res" равна, а переменная "num" равна току, который является разницей числа, из которого мы хотим квадратный корень, и квадрат нашего текущего приближения со всеми битами, установленными до. Таким образом, в первом цикле мы хотим найти наивысшую степень 4 в "битах", чтобы найти наивысшую степень 2 в. Во втором цикле, если число больше, чем res + бит, то больше, чем, и мы можем подтрафаретировать его. Следующая строка, которую мы хотим добавить, означает, что мы хотим добавить, чтобы мы хотели. Затем обновите внутренний res, который включает 2 или другой сдвиг вправо. Объединение этих 2 в одну строку приводит к. Если не больше, чем тогда мы просто обновить к внутренней res и de это по Тогда мы обновить к в бит

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

Экспоненциальная идентичность

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

Знаменатель в мошенничестве соответствует n-му корню. В случае выше знаменателя 2, таким образом, уравнение speci, что квадратный корень должен быть найден. Тот же идентификатор используется при вычислении квадратных корней с помощью логарифмических таблиц или правил de.

Двухвариантный итеративный метод

Этот метод применим для нахождения квадратного корня и сходится лучше всего для. Это, однако, нет реального ограничения для компьютерного расчета, как в основе 2 плавающей точки и фиксированной точки представления, это тривиально, чтобы на целые степени 4, и, следовательно, на соответствующие степени 2, путем изменения экспоненты или, соответственно. Поэтому можно переместить в диапазон. Более того, следующий метод не использует общие, а только дополнения, подтрапы, лицензии и по степеням двух, которые снова тривиальны для реализации. Недостатком метода является то, что числовые ошибки накапливаются, в отличие от единичных переменных итеративных методов, таких как вавилонский.

Этап инициализации этого метода:

в то время как итеративные шаги читаются

Обратите внимание, что сходимость и, следовательно, также является квадратической.

Доказательство метода довольно легкое. Во-первых, переписать итеративное определение как

Тогда это просто доказать путем введения, что

и поэтому сходимость к желаемому результату красна сходимостью к 0, что в свою очередь следует из.

Этот метод был разработан около 1950 года М. В. Уилксом, Д. Дж. Уитом и С. Гиллом для использования на EDSAC, одном из первых электронных компьютеров. Позже метод был обобщён, что позволило вычислить неквадратные корни.

Итеративные методы для речпро квадратных корней

Ниже приведены итеративные методы для нахождения recpro квадратного корня S, который является. После того, как он был найден, найти по простой лицензии:. Эти итерации включают только лицензирование, а не деление. Поэтому они быстрее вавилонского метода. Однако они не стабильны. Если начальное значение не близко к квадратному корню, то итерации расходятся от него, а не сходятся с ним. Поэтому, прежде чем приступать к применению этих методов, может оказаться выгодным выполнить итерацию вавилонского метода на рое.

  • Применение метода Ньютона к уравнению дает метод, который сходится квадратично, используя три лицензии на шаг:
  • :
  • Другая итерация получается методом Галлея, который является методом Домохозяина порядка два. Это сходится кубически, но включает пять лицензий на итерацию:
  • :, и
  • :.
  • При выполнении арифметики с фиксированной точкой, разрешение на 3 и деление на 8 могут быть реализованы с помощью fults и adds. Если использовать floating-point, метод Галлея может быть уменьшен до четырех лицензий на итерацию путем предварительного вычисления и корректировки всех остальных констант для компенсации:
  • :, и
  • :.
Gold idt s algorithm

Некоторые компьютеры используют algorithm Gold idt для одновременного вычисления и. Algorithm Gold idt находит быстрее, чем итерация Ньютона-Рафсона на компьютере со слитым - add и либо конвейерным блоком плавающей точки, либо двумя независимыми блоками плавающей точки.

Начинается первый способ написания algorithm Gold idt

(обычно с использованием поиска в таблице)

пока не будет достаточно близко к 1, или фиксированное число итераций. Итерации сходятся к

Следует отметить, что можно выполнить либо вычисление, либо вычисление, и если оба варианта желательны, то их можно использовать в конце, а не вычислять в каждой итерации.

Начинается вторая форма, использующая операции слияния добавления

(обычно с использованием поиска в таблице)

пока не будет достаточно близко к 0, или фиксированное число итераций.

Серии

Если N является аппроксимацией к, лучшее аппроксимацию можно найти, используя ряд Х функции квадратного корня:

В качестве итеративного метода порядок сходимости равен количеству используемых слагаемых. С двумя терминами он идентичен вавилонскому методу. При трёх слагаемых каждая итерация принимает почти столько же операций, сколько и Бакхшалинское приближение, но сходится медленнее. Поэтому это не является особенно эффективным способом вычисления. Чтобы максимизировать скорость сходимости, выберите N так, чтобы она была как можно меньше.

Продолжающееся мошенническое расширение

Квадратические иррациональные числа (числа вида, где a, b и c - целые числа), и в частности, квадратные корни целых чисел, имеют периодическую продолжительную фраму. Иногда желательно найти не численное значение квадратного корня, а его продолжающееся мошенническое расширение, и отныне его относительное приближение. Пусть S - положительное число, для которого мы должны найти квадратный корень. Затем, утверждая, чтобы быть числом, которое служит в качестве начального догадки и r, чтобы быть остаточным членом, мы можем написать, так как у нас есть, мы можем выразить квадратный корень из S как

📎📎📎📎📎📎📎📎📎📎