Приложение «Численные методы на C#»

    Этот пост в равной степени мог бы присутствовать в блогах «Я пиарюсь», «Open Source» или ".NET". Но так как программа, о которой я хочу рассказать, очень тесно связана с образованием, то я решил опубликовать его именно сюда.

    Если кратко, то речь пойдет об open source проекте под названием «Numerical Methods on C#» — наборе реализаций численных методов на языке C#, в то же время позволяющая проводить расчеты с помощью написанного на WPF графического интерфейса.

    Кому интересно — читаем ниже.

    Программа представляет собой набор реализаций численных методов — от методов интерполяции до решения дифференциальных уравнений + графический интерфейс, написанный на WPF. Также на странице проекта можно скачать версию, написанную на Windows Forms.

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

    image

    Почему образование?


    Последнее время стало появляться большое количество постов, тредов на форумах с вопросами типа «что лучше — программирование или наука», «аспирантура или работа», «нужны ли знания математики простому разработчику», «где набраться опыту молодому специалисту без опыта, который знает лишь основы дискретки» и т.д.

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

    Принять участие


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

    Ошибки можно постить в issue tracker, либо в комментариях, либо в личку. За одно и проверим активность хабрасообщества :)

    Официальная страница проекта: numerical.codeplex.com

    Спасибо за внимание!
    Поделиться публикацией
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 33

      +3
      потом ее можно будет использовать и университете

      Точно, показал такую преподу и екзамен автоматом :))
        0
        Если препод поймет. У нас, например, кроме Pascal он ничего не знает.
        –1
        За проект спасибо. Я его откопал на codeplex пару недель назад. У самого была идея написать что-то подобное год назад, но как-то не сложилось из-за нехватки времени.
          0
          О-па, вычматы! :))
          Вот за внятные исходники посылаю лучи добра и благодарности!
            0
            Только немного не понял, пока свои функции задавать нельзя?
            И да, у меня появилось желание cсделать GUI и алгоритмы на Python :)
              0
              Все методы уже есть реализованные. А вот насчет гуи это идея верная, я сейчас как раз похожим занимаюсь… +)
            0
            Действительно классный проект. А вообще, почему бы не пойти дальше? Например, создать интернет сервис, где пользователи смогут размещать реализации алгоритмов численных методов на разных языках программирования. Эти реализации могут конкурировать по скорости работы, размеру используемой памяти и понятности исходников. Постепенно можно прийти к эталонным реализациям, которые невозможно улучшить (хотя, это невозможно;)
              0
              Я даже знаю какой язык там будет рулить! И что-то мне подсказывает, что не C# :)))
              • НЛО прилетело и опубликовало эту надпись здесь
                  +1
                  Я думаю, что в численных вычислениях будет рулить фортран, ну или C. Ещё несколько столетий :)
                    0
                    Holywar detected =)
                      0
                      Никакого холивора :) Просто для того чтобы переписать те тонны софта, которые уже есть на новую платформу нужны веские основания, типа там прирост производительности в 10 раз.
                        0
                        Не обязательно. Переписывают же движки типа OpenGL для iPhone — значит кому-то это стало нужно. Так и здесь.
                          0
                          Ну это новая платформа, причём просто так не перенесёшь, вот и переписывают.
                        • НЛО прилетело и опубликовало эту надпись здесь
                            0
                            Народ, профессионально занимающийся вычматами как правило и есть фортранщики :)
                    +1
                    Я тоже. C++, OpenMP, Intel MKL.
                  0
                  Где ж вы были год назад )
                  Сколько лаб пришлось в Scilab реализовывать. Хотя всё на пользу пошло.
                  За исходники спасибо. По возможности постараюсь подключиться, дело интересно и нужное.
                    0
                    Посмотрите классический труд Numerical Recipes Online. Там, кстати, сейчас уже третье издание книги (на с++). Предыдущие были на фортране и c.
                      0
                      Хотел «для лучшего понимания» реализовать несколько методов оптимизации (например, на флеше)… А тут все за меня сделали, ну что ж такое =) Спасибо )
                        +7
                        а цель-то в чем?
                        написать лабу?
                        предложить свой алгоритм?
                        вести научную работу?
                        на мой взгляд ни под одну из этих задач оно не подходит.
                        лабу лучше все-же писать самому. а откуда списать и так мест хватает.
                        если есть свои идеи — пиши статью. благо это нынчк легко, а отклика будет больше чем от патча в мелкий опенсоурсный проект.
                        научно-инженерные работы все давно ведутся в matlab — mathcad.
                        если хочется выглядить честным, можно поглядеть на:
                        www.wareprise.com/2008/12/13/list-of-matlab-open-source-alternatives/

                        т.е. сама по себе идея неплоха. но все-ж надо придумать зачем она нужна. тогда возможно она станет востребована
                          0
                          Полностью согласен! Если нужно что-то для реальных расчётов, то проще взять написанные ещё в затёртых годах на фортране библиотеки (типа LAPACK, QUADPACK, и т.д.) или на худой конец gsl c бустом. Эти алгоритмы уже вылизаны за много лет практически до совершенства. Зачем их переписывать, да ещё и под заведомо более ресурсоёмкую платформу, я не совсем понимаю.
                            0
                            в коде LAPACK и QUADPACK я не копался, а вот gsl далеко не совершенен, там нет многих интересных спецфункций, а те что есть часто считаются с большой ошибкой
                              0
                              Ага, октав, который построен на gsl в моём случае численно интегрирует гораздо дольше, чем плюсовый порт квадпака.
                          +2
                          Можно еще порекомендовать посмотреть что сделал сам Microsoft в этом направлении
                          code.msdn.microsoft.com/solverfoundation
                          www.solverfoundation.com/About.aspx
                          Ну чтобы не изобретать велосипеды…
                            0
                            Хы, спасибо! Как раз по диссертации дифуры надо решать. Обязательно посмотрю что вы там наваяли. И студентам своим уже ссылочку кинул. :-)
                              +1
                              казалось бы, причем тут c#
                                –3
                                Автор молодец, а у нас всё на паскале в универе пишут. Буду использовать программу для проверки своих решений.
                                  +1
                                  по мне так численные методы надо изучать в матлабе, среда к этому располагает
                                    0
                                    А перенести на Silverlight и дать возможность поиграться в сети не собираетесь?
                                      0
                                      Ну вопрос как бы в том, кто этим будет заниматься. У меня проектов подобного плана достаточно много, доразвить каждый до определенного уровня времени нет, вот и выкладываю проекты в опенсорс в надежде, что кто-то откликнется и не даст хорошей идеи пропасть.
                                      0
                                      Почему-то валится при вызове пункта меню «About».
                                        0
                                        Добавили на страницу проекта инсталятор.

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

                                        Самое читаемое