Coder Social home page Coder Social logo

dynsolver's People

Watchers

 avatar  avatar

dynsolver's Issues

Реализация графического интерфейса моделирования

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

При возможности (если не займет больше часа-двух) добавить показ графиков.

Рефакторинг UI

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

Реализация метода КД

Реализовать полунеявный метод КД.
На интерфейсе показывать два графика (явный Эйлер и КД).

Реализация инфраструктуры и примитивных методов поиска минимума

Реализовать инфраструктуру системы минимизации функций и реализовать примитивные методы.
Заложить в архитектуру возможность построения цепочек методов, контролировать количество шагов. Подумать про контроль промежуточных результатов: не логгирование, а наблюдение в рантайме. Push-модель (желательно Rx) или events (нежелательно).

  • Методы Свенна
  • Простые методы одномерного поиска
  • Методы многомерного поиска
  • Построение цепочек методов
  • Контроль исполнения

Оптимизатор выражений

Реализовать оптимизатор выражений.
В рамках данной задачи - только тривиальные оптимизации: предподсчет констант, удаление незначимых членов выражения.

Выбор решателя

Добавить возможность выбирать решатель в интерфейсе. Как для решения системы, так и бэйзлайн для оценки погрешности.

Доработать интерфейс

Разделить список методов и настройки экстраполяции.
Уменьшить вертикальный размер панели настроек, оставить больше места для графиков.

Пропадает график КД

Пропадают линии на графике КД. Причина неясна, видимо, какая-то проблема именно в части рендера.
Необходимо исследование проблемы, и, возможно, замена фреймворка для работы с графиками на новый.

Реализация примитивов линейной алгебры

Реализовать следующие примитивы:

  • точка
  • вектор
  • матрица

Обеспечить следующую функциональность:

  • математические операторы над векторами и матрицами
  • матричные операции: поиск обратной матрицы
  • нормализация векторов

Построение семантической модели

Модуль построения семантической модели. Валидация переменных, формирование метаинформации о входных и выходных данных, валидация всей модели.

Интерфейс для решения разными методами одновременно

Интерфейс для системы, реализованной в #5

Возможности:

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

Разработку желательно начинать после создания шаблона в Visio

Интерпретатор выражений

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

Поддержать следующие функции:

  • sin
  • cos
  • tg
  • ctg
  • lg
  • ln
  • exp

Реализация ядра системы моделирования

Реализовать ядро системы моделирования.

  • Интерфейсы
  • Формат входных данных
  • Проработать архитектуру в отношении расширяемости
  • Реализовать простой метод моделирования для проверки корректности работы системы

Улучшения работы с графиками

Переработать построение графиков, выделить некоторую модель графиков результата и отдельный контрол для их вывода.

Решение задачи разными методами одновременно

Реализовать вычисление минимума разными методами одновременно, с отображением результатов каждого метода и сравнением результатов разных методов.

На данном этапе предполагается хардкод методов и их настроек, но желательно заложить возможности для добавления методов в набор используемых методов, поддерживать разные наборы и т.п.

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.