У многочленов (x-a)^(2n) + b и (x-a)^(2n) - b совпадают и все производные, и знаки значений почти всюду (кроме очень маленького интервала a +- b^{1/(2n)} ). В итоге, любому численному методу нужно попасть в этот интервал (который может быть гораздо меньше eps), чтобы отличить эти два случая.
А метод Штурма даёт точку из этого интервала (собственно a) когда делит многочлен на производную, там как раз (x-a) выносится.
Будут, конечно. Попробуйте свой алгоритм для многочлена (x - 1/3)^2 начиная с отрезка 0,1 и используя просто середину отрезка как функцию.
У Вас получится отрезок (1 - eps)/3, (1 + 2*eps)/3 , значения в обоих концах положительные. А значит по алгоритму
Как и ранее, итерационный процесс прекращается, если становится меньше заранее заданного . Далее ступень считается относящейся к вещественному корню полинома, если на границах интервала значение полинома имеет разные знаки, или если разность значений индекса точки на границах интервала нечетна.
И в оригинале, и в переводе что-то не так со сниппетом про сравнение времени ( one/two) - выглядит так, что либо должна быть разная таймзона в разных строчках, либо как-то ещё указано, что в two время наступило второй раз.
Технически, метод бинарного поиска последовательно по производным (как и метод, предложенный автором) плохо работает с многочленами вида (x-a)^(2n) + b, где b очень мало по модулю (по сравнению с a). И это, в общем-то понятно - очень малое изменение свободного члена (с a^2n - b до a^2n + b) сильно влияет на корни (либо они есть, либо их нет). Собственно, никакой численный метод, кажется, за заранее фиксированное число шагов не может ответить на вопрос, есть ли корень, или нет (и это то, зачем нужен метод Штурма).
По окончании процесса рекурсивного деления считается, что все корни найдены.
Противоречит требованию
КРИТЕРИЙ 1: Алгоритм должен быть абсолютно надежен, тоесть для любых коеффициентов, являющихся вещественными числами, все корни полинома гарантированно должны быть найдены. Исключение могут составлять случаи, когда корни настолько велики, что значение полинома в них не может быть вычислено по тем или иным причинам.
А именно, корни кратности два всегда будут пропущены.
Ну, вообще говоря, есть целая область theoretical computer science, посвященная оптимальным вычислимым сжатиям, искать можно по ключевому слову "Колмогоровская сложность".
Запутанные и имеющие суммарно нулевой спин - это разные свойства. Например, можно запутать три частицы так, чтобы суммарный спин в направлении 0 был равен ровно единице (из трёх возможных результатов). Вообще не возможно запутать три частицы так, чтобы даже по одному направлению была нулевая сумма - можно получить только нечётный суммарный спин (а ноль - чётное число).
Извините, но алфавит (греческий, арабский или латинский) не влияет на функции. Можно использовать латинский алфавит для обозначения функций, просто так обычно не делают. И для двух частиц функция вполне записывается.
Что вкладывается в формулировку "три запутанных частицы"? Вроде бы, наличие измерения на стороне Б не меняет распределение исходов на стороне А (хотя какие-то совместные исходы А и Б становятся запрещёнными).
Я бы ожидал, что множитель у AA деревьев чуть хуже в асимптотиках. Т.е. все операции O(log) как и в RBT, но множитель на случайных операциях, видимо, чуть похуже - приходится чаще подниматься по дереву выше, чем в RBT.
Только может ттак получиться, что много элементов каждый раз будут менять heap. Например, если данные вот такие: 1, 0, 0, -1.1, 1.1, 0, 0, -1.1, 1.1, .... то среднее всё время скачет от "чуть больше нуля" до "чуть меньше нуля" и все нули нужно перекладывать между хипами.
Вот её реализация. Для любого типа это структура из одного элемента, поэтому на этапе компиляции она сократится до этого одного элемента, дополнительного слоя не будет.
У многочленов (x-a)^(2n) + b и (x-a)^(2n) - b совпадают и все производные, и знаки значений почти всюду (кроме очень маленького интервала a +- b^{1/(2n)} ).
В итоге, любому численному методу нужно попасть в этот интервал (который может быть гораздо меньше eps), чтобы отличить эти два случая.
А метод Штурма даёт точку из этого интервала (собственно a) когда делит многочлен на производную, там как раз (x-a) выносится.
Будут, конечно. Попробуйте свой алгоритм для многочлена (x - 1/3)^2 начиная с отрезка 0,1 и используя просто середину отрезка как функцию.
У Вас получится отрезок (1 - eps)/3, (1 + 2*eps)/3 , значения в обоих концах положительные. А значит по алгоритму
он будет выкинут.
И в оригинале, и в переводе что-то не так со сниппетом про сравнение времени ( one/two) - выглядит так, что либо должна быть разная таймзона в разных строчках, либо как-то ещё указано, что в two время наступило второй раз.
Технически, метод бинарного поиска последовательно по производным (как и метод, предложенный автором) плохо работает с многочленами вида (x-a)^(2n) + b, где b очень мало по модулю (по сравнению с a). И это, в общем-то понятно - очень малое изменение свободного члена (с a^2n - b до a^2n + b) сильно влияет на корни (либо они есть, либо их нет). Собственно, никакой численный метод, кажется, за заранее фиксированное число шагов не может ответить на вопрос, есть ли корень, или нет (и это то, зачем нужен метод Штурма).
Противоречит требованию
А именно, корни кратности два всегда будут пропущены.
Ну, вообще говоря, есть целая область theoretical computer science, посвященная оптимальным вычислимым сжатиям, искать можно по ключевому слову "Колмогоровская сложность".
Запутанные и имеющие суммарно нулевой спин - это разные свойства.
Например, можно запутать три частицы так, чтобы суммарный спин в направлении 0 был равен ровно единице (из трёх возможных результатов).
Вообще не возможно запутать три частицы так, чтобы даже по одному направлению была нулевая сумма - можно получить только нечётный суммарный спин (а ноль - чётное число).
Извините, но алфавит (греческий, арабский или латинский) не влияет на функции. Можно использовать латинский алфавит для обозначения функций, просто так обычно не делают. И для двух частиц функция вполне записывается.
Что вкладывается в формулировку "три запутанных частицы"? Вроде бы, наличие измерения на стороне Б не меняет распределение исходов на стороне А (хотя какие-то совместные исходы А и Б становятся запрещёнными).
Там запятой не хватает. Должно быть "фазированные решётки, чтобы ..., без подвижных деталей."
Не спутники без подвижных деталей, а решётки.
В самом начале, в разделе "Arc<str> vs String" целый абзац посвящен как раз Rc.
Забавно. В "Большом толковом словаре русского языка" есть только возвратная форма: https://gramota.ru/poisk?query=гавкнуться&mode=slovari&dicts[]=42
Так русское слово гавкнулся: https://ru.wiktionary.org/wiki/гавкнуться
Я бы ожидал, что множитель у AA деревьев чуть хуже в асимптотиках. Т.е. все операции O(log) как и в RBT, но множитель на случайных операциях, видимо, чуть похуже - приходится чаще подниматься по дереву выше, чем в RBT.
Только может ттак получиться, что много элементов каждый раз будут менять heap. Например, если данные вот такие: 1, 0, 0, -1.1, 1.1, 0, 0, -1.1, 1.1, .... то среднее всё время скачет от "чуть больше нуля" до "чуть меньше нуля" и все нули нужно перекладывать между хипами.
Стоило написать, что это всё касается второй скалы, в третьей скалы этот же механизм сделан иначе, через using/given.
pub struct Reverse<T>(pub T);
Вот её реализация. Для любого типа это структура из одного элемента, поэтому на этапе компиляции она сократится до этого одного элемента, дополнительного слоя не будет.
https://ru.wiktionary.org/wiki/ползала есть, а https://ru.wiktionary.org/w/index.php?title=приплыло&redirect=no - нет.
(В)
Вот, например, в Берлине: https://www.yorck.de/kinos/babylon-kreuzberg?sort=Popularity&date=2023-10-01&tab=daily&sessionsExpanded=false&film=fallende-blatter
Почти весь показ в OmU (Originalversion mit deutschsprachigen Untertiteln - оригинальная дорожка с немецкими субтитрами), включая Барби. Небольшая часть даже в OmeU (Originalversion mit englischsprachigen Untertiteln - оригинальная дорожка с английскими субтитрами)