Skip to content

Document EvalAt operator #3852

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Jul 28, 2025
Merged

Document EvalAt operator #3852

merged 4 commits into from
Jul 28, 2025

Conversation

ChrisRackauckas
Copy link
Member

Summary

Added comprehensive documentation for the EvalAt operator to address #3849.

Changes

  • Added detailed docstring for EvalAt struct explaining:
    • Purpose: Evaluates time-dependent variables at specific absolute time points
    • The t parameter represents absolute time (not relative)
    • Behavior with different variable types
    • Autodifferentiability support
    • Usage examples including optimization constraints
    • Error conditions

Key Documentation Points

  1. Time parameter: Clarified that t is an absolute time value
  2. Autodifferentiability: Confirmed that EvalAt supports automatic differentiation and works with Differential operations
  3. Use cases: Highlighted primary use in optimization problems for time-point constraints

Examples Added

  • Basic usage with time-dependent variables
  • Behavior with parameters (unchanged)
  • Usage with derivatives
  • Example in optimization constraints

Fixes #3849

🤖 Generated with Claude Code

- Document the purpose and behavior of EvalAt
- Clarify that t parameter is absolute time (not relative)
- Confirm autodifferentiability support with examples
- Add usage examples including optimization constraints
- Document error conditions

Fixes #3849

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
ChrisRackauckas and others added 2 commits July 28, 2025 19:18
- Add EvalAt to the symbolic operators section in variables.md
- Ensures the docstring is included in the generated documentation

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
@ChrisRackauckas ChrisRackauckas merged commit 419208b into master Jul 28, 2025
40 of 49 checks passed
@ChrisRackauckas ChrisRackauckas deleted the document-evalat branch July 28, 2025 23:23
Copy link
Contributor

github-actions bot commented Jul 28, 2025

Benchmark Results (Julia v1)

Time benchmarks
master 64fdd28... master / 64fdd28...
ODEProblem 0.0816 ± 0.0062 s 0.0811 ± 0.0035 s 1.01 ± 0.087
init 0.057 ± 0.012 ms 0.0491 ± 0.011 ms 1.16 ± 0.37
large_parameter_init/ODEProblem 0.715 ± 0.038 s 0.711 ± 0.022 s 1.01 ± 0.062
large_parameter_init/init 0.1 ± 0.012 ms 0.1 ± 0.011 ms 1 ± 0.16
mtkcompile 0.0332 ± 0.00069 s 0.0341 ± 0.00074 s 0.974 ± 0.029
time_to_load 5.79 ± 0.015 s 5.76 ± 0.076 s 1 ± 0.013
Memory benchmarks
master 64fdd28... master / 64fdd28...
ODEProblem 0.578 M allocs: 18.8 MB 0.578 M allocs: 18.8 MB 1
init 0.815 k allocs: 0.0318 MB 0.815 k allocs: 0.0318 MB 1
large_parameter_init/ODEProblem 4.71 M allocs: 0.17 GB 4.71 M allocs: 0.171 GB 0.999
large_parameter_init/init 1.66 k allocs: 0.0712 MB 1.66 k allocs: 0.0712 MB 1
mtkcompile 0.232 M allocs: 8.08 MB 0.232 M allocs: 8.07 MB 1
time_to_load 0.159 k allocs: 11.2 kB 0.159 k allocs: 11.2 kB 1

Copy link
Contributor

github-actions bot commented Jul 28, 2025

Benchmark Results (Julia vlts)

Time benchmarks
master 64fdd28... master / 64fdd28...
ODEProblem 0.082 ± 0.0062 s 0.0823 ± 0.0058 s 0.996 ± 0.1
init 0.0614 ± 0.0019 ms 0.0622 ± 0.0017 ms 0.988 ± 0.04
large_parameter_init/ODEProblem 0.697 ± 0.0093 s 0.694 ± 0.0076 s 1 ± 0.017
large_parameter_init/init 0.113 ± 0.0022 ms 0.113 ± 0.0023 ms 0.998 ± 0.029
mtkcompile 0.0342 ± 0.00092 s 0.034 ± 0.0007 s 1 ± 0.034
time_to_load 5.53 ± 0.025 s 5.53 ± 0.013 s 1 ± 0.0051
Memory benchmarks
master 64fdd28... master / 64fdd28...
ODEProblem 0.588 M allocs: 20 MB 0.588 M allocs: 20 MB 1
init 0.908 k allocs: 0.0479 MB 0.908 k allocs: 0.0479 MB 1
large_parameter_init/ODEProblem 4.62 M allocs: 0.178 GB 4.62 M allocs: 0.178 GB 1
large_parameter_init/init 1.75 k allocs: 0.0874 MB 1.75 k allocs: 0.0874 MB 1
mtkcompile 0.233 M allocs: 8.64 MB 0.233 M allocs: 8.64 MB 1
time_to_load 0.153 k allocs: 14.5 kB 0.153 k allocs: 14.5 kB 1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Document EvalAt
2 participants