Symes, William W.2018-12-032018-12-032008Enriquez, Marco U.. "A C++ class supporting adjoint-state methods." (2008) Master’s Thesis, Rice University. <a href="https://hdl.handle.net/1911/103546">https://hdl.handle.net/1911/103546</a>.https://hdl.handle.net/1911/103546The adjoint-state method is widely used for computing gradients in simulation-driven optimization problems. The adjoint-state evolution equation requires access to the entire history of the system states. There are instances, however, where the required state for the adjoint-state evolution is not readily accessible; consider large-scale problems, for example, where the entire simulation history is not saved to conserve memory. This thesis introduces a C++ state-access class, StateHistory , to support a myriad of solutions to this problem. Derived StateHistory classes implement a (simulation) time-altering function and data-access functions, which can be used in tandem to access the entire state history. This thesis also presents a derived StateHistory class, GriewankStateHistory , which uses Griewank's optimal checkpointing scheme. While only storing a small fraction of simulation states, GriewankStateHistory objects can reconstitute unsaved states for a small computational cost. These ideas were implemented in the context of TSOpt, a time-stepping library for simulation-driven optimization algorithms.94 ppengCopyright is held by the author, unless otherwise indicated. Permission to reuse, publish, or reproduce the work beyond the bounds of fair use or other exemptions to copyright law must be obtained from the copyright holder.MathematicsComputer scienceApplied sciencesPure sciencesA C++ class supporting adjoint-state methodsThesis304508153THESIS MATH. 2008 ENRIQUEZ