DifferentialLab Logo

Documentation

  • Getting Started
    • Requirements
    • Installation
      • Quick Install (Recommended)
      • Manual Setup (existing clone)
    • Running the Application
    • Dependencies
    • Building the Documentation
    • Troubleshooting
  • User Guide
    • Launching the Application
    • Solving an Equation
      • Step 1: Choose an Equation
        • Predefined Tab
        • Custom Tab
      • Step 2: Configure Parameters
      • Step 3: View Results
    • Complex Problems (experimental)
      • Coupled Harmonic Oscillators
    • Function Transforms
    • Output Files
    • Editing Configuration
  • Configuration Reference
    • UI Theme
    • UI Tooltips
    • Plot Style
    • Plot Markers
    • Plot Phase-Space
    • Plot Fonts
    • Plot 3D / Contour
    • Plot Animation
    • Solver Defaults
      • Solver Methods
    • Logging & Update
  • Architecture
    • Project Layout
    • Module Responsibilities
      • config
      • solver
      • plotting
      • transforms
      • complex_problems (experimental)
      • frontend
      • utils
      • pipeline
    • Data Flow
    • Import Strategy
    • Configuration Lifecycle
    • Design Patterns
  • API Reference
    • main_program – Application Entry Point
      • main()
    • config – Configuration
      • get_default_solver_method()
      • get_current_env_values()
      • get_env()
      • get_env_from_schema()
      • initialize_and_validate_config()
      • write_env_file()
      • generate_output_basename()
      • get_csv_path()
      • get_env_path()
      • get_output_dir()
      • get_project_root()
      • config.constants
        • get_default_solver_method()
      • config.env
        • get_env()
        • get_env_from_schema()
        • get_current_env_values()
        • write_env_file()
        • initialize_and_validate_config()
      • config.paths
        • get_project_root()
        • get_output_dir()
        • generate_output_basename()
        • get_csv_path()
        • get_json_path()
        • get_env_path()
      • config.equations
        • harmonic_oscillator()
        • damped_oscillator()
        • exponential_growth()
        • logistic_equation()
        • van_der_pol()
        • simple_pendulum()
        • rc_circuit()
        • free_fall_drag()
        • schrodinger_equation()
        • lorentz_system()
        • duffing_oscillator()
        • lotka_volterra()
        • rigid_body_euler()
        • rlc_circuit()
        • gompertz_growth()
        • newton_cooling()
        • linear_decay_source()
        • airy_equation()
        • hermite_ode()
        • laguerre_ode()
        • bessel_ode()
        • stationary_schrodinger_ho()
        • stationary_schrodinger_well()
        • kummer_ode()
        • rabi_oscillations()
        • bloch_equations()
        • rossler_attractor()
        • sir_epidemic()
        • fitzhugh_nagumo()
        • chen_system()
        • brusselator()
        • michaelis_menten()
        • riccati_ode()
        • rayleigh_oscillator()
        • forced_harmonic_oscillator()
        • allee_effect()
        • langmuir_adsorption()
        • thomas_attractor()
        • hindmarsh_rose()
        • rabinovich_fabrikant()
        • chua_circuit()
        • selkov_glycolysis()
        • competitive_lotka_volterra_3()
        • lu_chen()
        • aizawa_attractor()
        • cubic_decay()
        • sqrt_growth()
        • bistable()
        • landau()
        • cubic_oscillator()
        • bernoulli_decay()
        • holling_type2()
        • soft_spring()
        • quadratic_decay()
        • cubic_landau()
        • smooth_decay()
        • gompertz_harvesting()
        • damped_pendulum()
        • lienard()
        • matthew_equation()
        • legendre_ode()
        • blasius_type()
        • emden_fowler()
        • fisher_kpp()
        • malthus_harvesting()
        • relu_activation()
        • tanh_decay()
        • halvorsen_attractor()
        • dadras_attractor()
        • sprott_s()
        • sprott_a()
        • three_species_food_chain()
        • sirs_epidemic()
        • seir_epidemic()
        • oregonator()
        • morris_lecar()
        • wilson_cowan()
        • goodwin_oscillator()
        • t_system()
        • finance_chaos()
        • arneodo()
        • bouali_attractor()
        • nose_hoover()
        • dee_attractor()
        • four_wing()
        • genesi_attractor()
        • qi_chaos()
        • wang_sun_chaos()
        • predator_prey_ratio()
        • leslie_gower()
        • holling_tanner()
        • rossler_hyperchaos()
        • hyperchaos_lorenz()
      • config.difference_equations
        • geometric_growth()
        • logistic_map()
        • fibonacci()
        • linear_recurrence_2()
        • cobweb_model()
        • ricker_model()
        • beverton_holt()
        • tent_map()
        • third_order_recurrence()
        • gauss_map()
    • solver – ODE, Difference, and PDE Solving Engine
      • solve_difference()
      • get_difference_function()
      • get_ode_function()
      • get_vector_ode_function()
      • parse_pde_rhs_expression()
      • compute_ode_residual_error()
      • FNotation
        • FNotation.kind
        • FNotation.n_components
        • FNotation.order
        • FNotation.n_independent_vars
        • FNotation.component_orders
        • FNotation.state_size()
      • generate_derivative_labels()
      • rewrite_f_expression()
      • ODESolution
        • ODESolution.x
        • ODESolution.y
        • ODESolution.success
        • ODESolution.message
        • ODESolution.method_used
        • ODESolution.n_eval
        • ODESolution.raw
      • solve_multipoint()
      • solve_ode()
      • solve_pde_2d()
      • is_multivariate()
      • load_predefined_equations()
      • compute_statistics()
      • compute_statistics_2d()
      • validate_all_inputs()
      • solver.equation_parser
        • get_ode_function()
        • get_difference_function()
        • parse_pde_rhs_expression()
        • get_vector_ode_function()
        • validate_expression()
      • solver.ode_solver
        • ODESolution
        • solve_ode()
        • solve_multipoint()
      • solver.difference_solver
        • DifferenceSolution
        • solve_difference()
      • solver.pde_solver
        • PDESolution
        • solve_pde_2d()
      • solver.error_metrics
        • compute_ode_residual_error()
      • solver.predefined
        • PredefinedEquation
        • load_predefined_equations()
        • is_multivariate()
      • solver.notation
        • FNotation
        • preprocess_prime_notation()
        • rewrite_f_expression()
        • flat_index_to_label()
        • generate_derivative_labels()
        • generate_phase_space_options()
      • solver.statistics
        • compute_statistics()
        • compute_statistics_2d()
      • solver.validators
        • validate_all_inputs()
    • plotting – Visualization
      • create_contour_plot()
      • create_energy_evolution_plot()
      • create_energy_per_mode_plot()
      • create_phase_3d_plot()
      • create_phase_plot()
      • create_solution_plot()
      • create_surface_plot()
      • create_vector_animation_3d()
      • create_vector_animation_plot()
      • export_animation_to_mp4()
      • plotting.plot_utils
        • create_solution_plot()
        • create_energy_evolution_plot()
        • create_energy_per_mode_plot()
        • create_phase_plot()
        • create_phase_3d_plot()
        • create_surface_plot()
        • create_contour_plot()
        • create_vector_animation_plot()
        • create_vector_animation_3d()
        • export_animation_to_mp4()
    • pipeline – Solver Pipeline
      • SolverResult
        • SolverResult.x
        • SolverResult.y
        • SolverResult.statistics
        • SolverResult.metadata
        • SolverResult.equation_type
        • SolverResult.y_grid
        • SolverResult.is_vector
        • SolverResult.vector_components
        • SolverResult.vector_order
        • SolverResult.notation
      • run_solver_pipeline()
    • transforms – Function Transforms
      • parse_scalar_function()
      • DisplayMode
        • DisplayMode.CURVE
        • DisplayMode.COEFFICIENTS
      • TransformKind
        • TransformKind.ORIGINAL
        • TransformKind.FOURIER
        • TransformKind.LAPLACE
        • TransformKind.TAYLOR
        • TransformKind.HILBERT
        • TransformKind.Z_TRANSFORM
      • apply_transform()
      • compute_function_samples()
      • get_transform_coefficients()
      • transforms.function_parser
        • parse_scalar_function()
      • transforms.transform_engine
        • TransformKind
        • DisplayMode
        • compute_function_samples()
        • apply_transform()
        • get_transform_coefficients()
    • complex_problems – Special Problems with Custom UIs (Experimental)
      • complex_problems.problem_registry
        • ProblemDescriptor
      • complex_problems.complex_problems_dialog
        • ComplexProblemsDialog
      • complex_problems.coupled_oscillators
        • build_ode_function()
        • solve_coupled_oscillators()
        • complex_problems.coupled_oscillators.model
        • complex_problems.coupled_oscillators.solver
        • complex_problems.coupled_oscillators.ui
        • complex_problems.coupled_oscillators.result_dialog
    • frontend – GUI
      • MainMenu
      • frontend.theme
        • get_contrast_foreground()
        • get_select_colors()
        • get_font()
        • configure_ttk_styles()
      • frontend.window_utils
        • center_window()
        • fit_and_center()
        • make_modal()
        • bind_wraplength()
      • frontend.plot_embed
        • embed_animation_plot_in_tk()
        • embed_plot_in_tk()
      • frontend.ui_main_menu
        • MainMenu
      • frontend.ui_dialogs
        • setup_arrow_enter_navigation()
        • ToolTip
        • frontend.ui_dialogs.equation_dialog
        • frontend.ui_dialogs.parameters_dialog
        • frontend.ui_dialogs.result_dialog
        • frontend.ui_dialogs.config_dialog
        • frontend.ui_dialogs.loading_dialog
        • frontend.ui_dialogs.help_dialog
        • frontend.ui_dialogs.scrollable_frame
        • frontend.ui_dialogs.collapsible_section
        • frontend.ui_dialogs.tooltip
        • frontend.ui_dialogs.keyboard_nav
        • frontend.ui_dialogs.transform_dialog
    • utils – Utilities
      • DifferentialLabError
      • EquationParseError
      • SolverFailedError
      • ValidationError
      • build_eval_namespace()
      • export_csv_to_path()
      • export_json_to_path()
      • get_logger()
      • normalize_params()
      • normalize_unicode_escapes()
      • safe_eval()
      • validate_exclusive_args()
      • validate_expression_ast()
      • is_update_available()
      • perform_git_pull()
      • record_check_done()
      • should_run_check()
      • utils.exceptions
        • DifferentialLabError
        • ValidationError
        • EquationParseError
        • SolverFailedError
      • utils.expression_parser_shared
        • normalize_unicode_escapes()
        • normalize_params()
        • build_eval_namespace()
        • safe_eval()
        • validate_exclusive_args()
        • validate_expression_ast()
      • utils.export
        • export_csv_to_path()
        • export_json_to_path()
        • export_all_results()
      • utils.logger
        • get_logger()
      • utils.update_checker
        • should_run_check()
        • record_check_done()
        • is_update_available()
        • perform_git_pull()
  • Changelog
    • [0.3.2] - 2026-03-05
      • Added
DifferentialLab
  • Search


© Copyright 2026, Alejandro Mata Ali.

Built with Sphinx using a theme provided by Read the Docs.