sadET VS FastAD

Compare sadET vs FastAD and see what are their differences.

sadET

Simple Automatic Differentiation (using) Expression Templates (by dkaramit)

FastAD

FastAD is a C++ implementation of automatic differentiation both forward and reverse mode. (by JamesYang007)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
sadET FastAD
1 1
1 91
- -
6.6 2.5
about 1 month ago 7 months ago
C++ C++
MIT License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

sadET

Posts with mentions or reviews of sadET. We have used some of these posts to build our list of alternatives and similar projects.
  • Assign expression-template to variable in C++
    1 project | /r/cpp_questions | 24 Jun 2021
    Then, each expression should carry enough information that you can call different member functions, such as derivative for their derivative, or conjugate to take its complex conjugate, etc. Now, the conjugate (and derivative) member function should somehow inherit its behaviour from the sub expressionss. You only need to define what conjugate means for the Number class, and then all other expressions, just apply this function to its sub expressions, until a Number is reached. I am not sure if this is detailed enough, but I apply this logic here. In this piece of code, I am using ETs to that define expressions, and then use these expressions to take their derivatives. This is an autodiff library (without dual numbers), which works well, but it suffers from the the problem; can't find a way to assign and reassign variables to expressions.

FastAD

Posts with mentions or reviews of FastAD. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-01-22.
  • WG21 January 2021 Mailing
    3 projects | /r/cpp | 22 Jan 2021
    What stage is the differentiation proposal in? It seems odd they talked about reverse mode AD but made no mention of memory management for it. They also don't mention anything about FastAD or Stan Math which I think do some pretty innovative things in this space.

What are some alternatives?

When comparing sadET and FastAD you can also consider the following projects:

Zygote.jl - 21st century AD

autodiff - automatic differentiation made easier for C++

papers - ISO/IEC JTC1 SC22 WG21 paper scheduling and management

geodesic_raytracing

TemporalSetInversion - Reference implementation for "Temporal Set Inversion for Animated Implicits" (SIGGRAPH 2023)

giada - Your Hardcore Loop Machine.

filesystem - An implementation of C++17 std::filesystem for C++11 /C++14/C++17/C++20 on Windows, macOS, Linux and FreeBSD.

Mission : Impossible (AutoDiff) - A concise C++17 implementation of automatic differentiation (operator overloading)

papers