Leave a comment

Comments 15

xxxxx August 9 2024, 03:47:42 UTC
Ух ты ах ты все мы космонавты. А есть где-то научное объяснение метода? Он паблик домейн, можно по службе юзать?

Reply

spamsink August 9 2024, 04:36:53 UTC
Вот я тоже интересуюсь, есть ли научное объяснение такой чудесной точности на всём диапазоне сразу. Но пользы от него немного, ведь по сравнению с современными способами он медленный, как эниак.

Reply

xxxxx August 9 2024, 04:39:27 UTC
а где есть обзор для чайников с мат.образованием на тему «как нам пощетать на ЭВМ всякие обычные функции» ?

Reply

spamsink August 9 2024, 04:52:51 UTC
Обзор - не знаю. Известные мне аппроксимации элементарных функций были взяты из KHИГИ 'COMPUTER APPROXIMATIONS' (ABTOPЫ J.F.HART И ДP., ИЗД-BO JOHN WILEY AND SONS,NEW YORK,1968)

А так-то, насколько я понимаю, "современные" методы в основном состоят из применения алгоритма Ремеза (1934), или нахождению аппроксиманта Паде (1892).

Чего из этого они там в своей Голландии в 1961 году не знали - загадка.

Reply


xaxam August 9 2024, 04:55:51 UTC

Первая же ассоциация, которая приходит в голову - какая-то квадратурная формула для 1/(1+x2)...

Reply

spamsink August 9 2024, 05:11:15 UTC
Поочередное применение среднего арифметического и среднего геометрического наводит на мысль о какой-то AGMовско-эллиптической хитрости.
Собственно говоря, последовательность b[i] сходится к x/arctan(x) - это, наверное, или известный факт, или несложно доказывается (а вычислительно видно воочию). А вот как они подобрали веса первых 5 членов ряда - полнейшая загадка.

Reply

chyyr August 10 2024, 13:32:50 UTC
Немножко поковырялся - сходимость b[k] действительно доказывается несложно.
Достаточно рассмотреть случай a[0]=cos ф, b[0]=1 и доказать, что b[k]→sinф/ф - что в свою очередь следует из явной формулы
b[k]=cos (ф/2) cos(ф/4)...cos(ф/2^k)=sin ф / (2^k sin(ф/2^k)).

Но эти веса...

Reply

spamsink August 10 2024, 17:36:07 UTC
Вон что я нашёл: http://www.findlayw.plus.com/KDF9/Arctan%20Paper%20by%20MJJ.pdf
Там про веса тоже непонятно.

Reply


maksa August 9 2024, 06:15:07 UTC
Нашёл образцы почерка Дейкстры, не похоже на то, что тут.

Reply

spamsink August 9 2024, 06:45:06 UTC
Вот я тоже подумал, что это, скорее всего, писала одна из его сотрудниц, которые занимались математической библиотекой (...Miss M.J.H. Römgens and Miss S.J. Christen started work on the organisational and arithmetic subroutines...)

Reply


p2004r August 9 2024, 08:32:02 UTC

Этот код реализует численный метод для приближенного вычисления функции арктангенса \(\arctan(x)\). Алгоритм, используемый в этом коде, относится к методу Гаусса-Лежандра для численного вычисления значений функции арктангенса. В данном контексте это метод, который использует последовательное усреднение и нахождение среднего геометрического для вычисления приближения значений арктангенса.

### Принцип работы кода:

1. **Начальные условия**:

- `a` изначально равно 1.

- `b[0]` вычисляется как \(\sqrt{1 + x^2}\).

2. **Итерации**:

- В каждой итерации (всего 4) происходит обновление значений `a` и `b[k+1]`:

- `a` обновляется как среднее арифметическое текущих значений `a` и `b[k]`.

- `b[k+1]` обновляется как среднее геометрическое текущих значений `a` и `b[k]`.

- Итерации продолжаются 4 раза, результатом которых является последовательность значений `b`.

3. **Возвращаемое значение**:

- В конце вычисляется приближенное значение арктангенса через выражение:

\[

\frac{x}{ 0.725940450930260474 \cdot b[4] + 0. ( ... )

Reply

vsparrow August 9 2024, 09:24:16 UTC

Это GPT писал? Очень знакомое построение текста.

Reply

p2004r August 9 2024, 09:27:11 UTC

Коэффициенты, используемые в финальной формуле, подбираются с целью минимизации погрешности аппроксимации функции арктангенса \(\arctan(x)\). Основной метод для их подбора заключается в следующем:

### 1. **Постановка задачи**:

- Задача заключается в нахождении таких коэффициентов \(c_0, c_1, \dots, c_4\), чтобы выражение:

\[

\frac{x}{c_0 \cdot b[4] + c_1 \cdot b[3] + c_2 \cdot b[2] + c_3 \cdot b[1] + c_4 \cdot b[0]}

\]

давало максимально точное приближение к \(\arctan(x)\) на некотором диапазоне значений \(x\).

### 2. **Аппроксимация с помощью рядов Тейлора**:

- В начальном приближении можно использовать разложение функции \(\arctan(x)\) в ряд Тейлора:

\[

\arctan(x) = x - \frac{x^3}{3} + \frac{x^5}{5} - \cdots

\]

- Этот ряд можно использовать для подбора коэффициентов на интервале значений \(x\), например, для \(x \in [0, 1]\).

### 3. **МНК или другие методы минимизации ошибок**:

- Далее применяется метод наименьших квадратов (МНК) или другие численные методы минимизации ошибок, чтобы ( ... )

Reply

spamsink August 9 2024, 14:41:58 UTC
Пересказать на естественном языке, что делает программа, и дурак может, а в остальном этот ответ смысла не имеет. В следующий раз попробуйте проверять ответы LLM на галлюцинации независимым поиском и пересказывать своими словами.

Reply


Leave a comment

Up