Задать вопрос
  • Как справиться с неправильным нулем в C++?

    @Koss1024
    Дело в том что из-за числовых погрешностей своим методом вы получите самый плохой результат из возможных. У вас аозникли ошибки даже при обращении единичной матрицы.
    Гаусс тоже нестабилен а LU - PLU не сильно сложнее в реализации и сильно точнее.
    Методов много не просто так Для положительно определенных - холесский LDLDT
    для псевдоинверсии SVD тысячи их.

    Если вам просто нужна матрица используйте библиотеку.
    Поверьте даже профессионалу написать метод хорошо - задача не на пять минут.
    Многим кажется что достаточно универских знаний, но это не так

    с++ eigen
    lapack
    boost::ublas

    Если задача именно в написании алгоритма, то начните с LU
    LU : en.wikipedia.org/wiki/LU_decomposition
    Обзор en.wikipedia.org/wiki/Matrix_decomposition
  • Как восстановить знания по C++ на сегодняшний день?

    @Koss1024
    Я там чуть дополнил ответ, вытащил наружу чтоб видно было сразу
  • Как восстановить знания по C++ на сегодняшний день?

    @Koss1024
    Я имел в виду в реальных проектах использование (используется в реальном производстве)
    и там ситуация такая что инертность огромных проектов слишком велика
    поэтому пока что проектов на С++03 больше всего
    но позитивная тенденция есть
    То что уже и С++ 14 закончен я знаю. Но применяется пока только в новых проектах, или в небольших командах (как обычно не без исключений)
  • Какой язык программирования выбрать?

    @Koss1024
    Не спорю насчет качества разработчика. Однако я подразумеваю качественного поскольку другому мои советы все равно не помогут.
    По поводу же ооп, совершенно не понимаю почему все считают его какой-то невероятной необходимостью? ООП как и паттерны собственно, это методология управления сложностью большой программной системы. При чем тут программирование вообще? Программирование это суть написание алгоритмов. Любых. Попросить что у сервак и подождать ответа это тоже алгоритм. И паттерны на раннем этапе я считаю вредными. Поскольку те кто на плюсах начинают программирование с паттернов мгновенно приводят систему в неподдерживаемое состояние. А поскольку решарперов на плюсах нет (в силу крайней сложности отслеживания сойду эффектов) то и отрефакторить такой код крайне трудно.
    Когда у вас есть алгоритмы, управлять их сложностью уже легко.
    Кстати говоря непонимание ООП так же следует из некачественного подготовительного материала. Книги, блоги статьи, нужно читать. Обязательно. нельзя этому научиться на stack overflow
  • Какие самые сложные нерешенные задачи в IT отрасли вы знаете?

    @Koss1024
    Вы какие-то не нерешенные проблемы а фантастические технологии просите.

    Ну да телепортация было бы нереальным прорывом, но при чем тут IT?
    Термояд тот же хотя бы, уже был бы крутым. IT?
    Да какой термояд единственное что реально сдерживает робототехнику это батарейки большей емкости всего раз в 10. IT ты где?
    Чтение из мозга это к биологам. опять мимо
    Бесконечные батарейки? серьезно? (вы что-нить про вечный двигатель слышали?) и снова не IT

    Короче разберитесь внятно с постановкой вопроса, пока что это бессмысленная демагогия.
  • Что почитать по обработке изображений на Java?

    @Koss1024
    А Вы подпишитесь на его твитер, он там часто что-то полезное пишет.
    Мастеров слушать и читать необходимо.
  • Какие есть платформы для совместной разработки программ?

    @Koss1024
    Во взрослой жизни есть миллион разных нюансов в разных проектах. И каждый раз вы изучаете новый набор инструментов. Но не циклитесь на этом. Начните с системы контроля версий и код ревью. Этого с головой хватит
  • Как найти оптимальное приближение набора данных ломаной с заданным числом узлов?

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

    Есть шаги рунге-куты, есть адаптивные сплайны Безье, можно подумать над адаптацией де Кастельжо в экстремальных точках поскольку у вас набор и производные посчитать легко, то построить сплайн Безье вообще задача за log(n), а потом можно адаптивно искать приближенную ломаную.

    Нелинейная оптимизация - это самый медленный способ, но легче всего построить модель, и легче контролировать процесс.

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

    Собственно почти все это есть в книге о которой я написал. (здесь есть решение в NURBS)
    Еще на русском об интерполяции Бахвалов - Численные Методы (но эта книга не решает Вашу задачу напрямую)

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

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

    Если же порядок выше, то точные методы строить смысла нет, поскольку погрешность их вычислений очень сильно превзойдет погрешность любого МНК подхода (например Ньютон-Гаусс он же Левенберг- Марквардт)
  • Необходимо получить первые N наиболее встречающиеся слова в текстовом файле?

    @Koss1024
    uniq если не ошибаюсь работает уже с отсортированы потоком и там тупо мере соседних пар