• Определение центра окружности или эллипса по его точкам

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

    Пропаганда велосипедов? Найти солвер или матричную либу на Java — задачи одинаковой сложности.
    С солвером все проще просто потому, что в нем нет этапа адаптации целевой функции под матрицу. Сам процесс тот же самый. О чем написано в моем OP.
    Ладно бы еще предлагали как альтернативу — вдруг действительно будет проще — но нет, альтернатив вы не признаете.

    Вообще-то я написал, что «минимизировать можно каким угодно способом», и "я пойду влоб". Повторять решения других у меня не было никакого желания. При этом у меня, оказывается, ужасная целевая функция, которая не работает (на самом деле работает) и мне проспаться надо.
    Поэтому ситуация как на stackoverflow невозможна. Там идет конкуренция между решениями — я предложил одно из, описав недостатки того, с чем встречался. Автор выбирает из них решение, при необходимости уточняя. Остальные поправляют ошибки, если знают, о чем говорят. Здесь же основная задача — выпендреж, и опустить решение другого. По программе видно, что она не работает, не запуская ее. И так далее.
  • Определение центра окружности или эллипса по его точкам

    @megalol
    Коллега

    Упаси Бог. Больше всего не люблю замаскированное хамство.
    Между прочим, оправдано считается. Если исходное уравнение — вида A*x-b=0, то нормальное уравнение дает оптимальный результат.

    Если начать в ответку заниматься буквоедством, "(t = MT M)-1 MT r" оптимальный результат не дает. Нужно использовать псевдообратную матрицу, иначе возможен численный бред.
    Второе. Все, что способно решить с тем же качеством (то есть без ввода регуляризации, другой метрики и т. д.), даст этот же результат. Нет локальных минимумов, чтобы застрять. То есть об оптимальном решении вопрос не стоит — оно в случае такой простой линейной задачи, если есть, то есть.
    Вопрос стоит в скорости. При больших n спуск с прописаным градиентом выгоднее, потому что o(n^3), а солвер с известным градиентом работает довольно быстро. Я об этом писал.
    Между прочим, оправдано считается.

    Считается совершенно неоправданно — это наследие эпохи арифмометров, когда заставить отдел девочек перемножать матрицы было проще, чем закодировать и запустить спуск на ЭВМ. Как всегда, в России образование из той эпохи, поэтому народ кроме нормальных уравнений ничего не знает, и считает это синонимом МНК.
    Из нормального уравнения можно вывести интересные вещи, но само он для таких прикладных задач редко нужно, важнее понять общий принцип, чтобы не пугаться, когда придется подгонять уже не эллипс, какой-нибудь эллипсоид к 3д точкам.
    Я его к этому виду привел.

    Квадратичную форму? Ок. Советую написать W. Gander – G. H. Golub – R. Strebel о своем открытии, но замечу, что в посте этого не было. В A*x=b иксы слева, и игреки (b) справа. Когда x и y слева, а справа константа — это не то.
    Кстати, ваша программа вернет вам случайный результат,

    Лол. Хотя бы надо было проверить, не? На самом деле ваш результат будет хуже (у меня подходящий эллипс, а в таком случае — гипербола). Потому то я пляшу от хорошего начального условия — окружности. Я начала спускаюсь по координатам x0, y0, F, потом — x0, y0, A, B, C, F. Вы меняете вид уравнения, причем классным способом — предлагаете объявить F константой, типа если функция имеет вырожденный минимум f(A=0, B=0, C=0,F=0)^2 = 0 это плохо, а f(A=0, B=0, C=0)^2=1 — это нормально, хотя случай абсолютно такой же.
    На самом деле такое вырождение проблемой не является. Прибавляя эпсилон к A=0,B=0,C=0 будет скачок, в этот минимум очень сложно попасть с хорошим начальным приблежением (скорее всего — с любым, кроме тривиального «все нули»).
    Реальных проблем две — вырождение в гиперболу, о чем я писал, и общая неустойчивость.
    Солвер и уравнение нужно подбирать под исходные данные. Особенно — ограничения, например, на размер эллипса, условие того, чтобы это был эллипс, и так далее. Почти всегда их можно написать. Если эллипс является почти окружностью (например, Земля из космоса), мой способ с двумя приближениями хорош. Я могу сделать его лучше, но не в формате ответа на вопрос. А еще удивляются, почему на хабре невозможно как на stackoverflow.
  • Создание GPU-кластера?

    @megalol
    Для bitcoin разве не FPGA сейчас рулят?
    Покрыть расходы вы можете просто прорекламировав как следует — в мире нет ни одного GPU облака по нормальной цене, везде что-то неадекватное, небольшой же рынок должен быть, среди финансистов и ученых. Правда, OpenCL, конечно, хуже вариант, чем CUDA…
  • Система плагинов?

    @megalol
    Я написал — или руками (завести функцию getPluginSubclassesList() с вручную возвращаемым списком фабрик, ну или просто завести фабрику — политика один-плагин-в-длл в ответе ниже относится к ручному способу), или взять то, что эту информацию добавит. Первое лучше по-моему.
    Нельзя написать Base *obj = new MyPlugin();. Можно написать Base *obj = MyPlugin(); Но использовать необернутые указатели нехорошо.
  • Система плагинов?

    @megalol
    pastebin.com/uhXa8zQp

    Такие сложности нужны, потому что в С++ семантика значений. Foo bla; выделит объект непосредственно на стеке, а ведь у объекта из плагина может быть произвольный размер и во время компиляции он неизвестен. Поэтому нужно использовать явный указатель Foo* bla = FooFactory('some param'); И весь код будет в этих указателях, которые пользователь еще может не догадаться освобождать. Pimpl прячет указатель и тип выглядит как значение, хотя на самом деле хранит единственную ссылку. Языки, в которых все объекты — ссылки, таких проблем не имеют.
  • Можно ли преобразовать УФ/ИК в видимый свет?

    @megalol
    Ни одна зеркала вам не покажет засветки от «пульта от ТВ

    Вот специально пошел и проверил. Конечно же светится диод пульта отлично
  • ЦАП, какой выбрать?

    @megalol
    Цап должен быть дешевле акустики раз в 10, тогда не будет узких мест. берите внешнюю звуковуху. И советую держаться подальше от мудаков
  • С++. Зависимость возвращаемого функцией типа от значения ее параметра?

    @megalol
    Нет, variant — динамический, можно 0 и 1 по командам юзера передавать. Как он устроен внутри отдельная история — насколько я помню, перегружается оператор приведения типа.
  • Библиотека получения данных из аудиофайлов (Python)

    @megalol
    Матлаб хорош для подобных дел. Питон тоже неплох, но по встроенным и доступным внешним функциям, а также ide (хотя у gnu octave ее нет) он проигрывает.
    Исходный нет, это же сжатие с потерями.
  • Кроссбраузерный способ воспроизвести MIDI на веб странице

    @megalol
    В хроме не завелось, в файрфоксе требуется quicktime, в опере работает. Хотя, скорее всего, в опере он уже стоял.
    Win, синтезатор микрософтовский.