Next I found a paper on solving the schrodinger equation using program synthesis. https://aip.scitation.org/doi/pdf/10.1063/5.0062497 Here's its discussion on program synthesis: Sec. I. Introduction ... Against the backdrop of AI/ML, a fundamentally different approach to computational science is _program_synthesis_ (PS).[38-45] Here, the central idea is to use enumeration, AI, or other optimization strategies to generate complete computer programs that achieve a user-defined task subject to performance critera; in other words, the focus in PS is on the generation of a computer code, rather than the more common tasks of regression or classification encountered in applying AI/ML in computational chemical sciences. The purpose of this article is to explore the application of PS tools to derive novel algorithms to solve a benchmark problem in quantum chemistry, namely, determination of solutions to the time-independent vibrational Schrodinger equation. In the context of quantum chemistry, it is worth highlighting that previous automatic formula derivation methods and PS strategies have found success in the domain of _ab_initio_ electronic structure theory.[46-48] For example, Hirata's Tensor Contraction Engine (TCE)[46,47] takes as input an electronic wavefunction ansatz, such as that given in coupled-cluster schemes, and subsequently generates appropriate tensor contractions and associated instruction sets to enable highly efficient computational implementation of the underlying theory. Here, working in the second quantization formalism, TCE operates by applying well-defined contraction rules to generate efficient formulas for evaluating relevant operator matrix elements and implements the resulting code for these contractions. This scheme provides an impressive demonstration of the power of PS in tackling numerically daunting tasks but differs from the generalized inductive optimization strategy employed in this article, where the focus is not on deployment of rigorous contraction rules to optimize equation implementation but is, instead, aimed at exploring novel algorithms that can solve target problems in previously unknown ways using previously unknown methods. In this article, we consider the application of inductive PS to the problem of generating the code and algorithms that can solve the time-independent vibrational Schrodinger equation. Within this inductive programming paradigm, we assume that we have a set of examples of expected outputs required from our code when executed on a corresponding set of inputs; these correct input/output examples are assumed to be provided by an _oracle_ code that can exactly produce the desired output for any input. Within this inductive paradigm, the problem of PS can be cast as a challenge in optimization; one seeks the set of computer instructions that form a code to produce the expected output given each example input. In this sense, this inductive PS can be viewed as somewhat comparable to the usual training of an artificial neural network (ANN), where one optimizes network weights using a set of input/output examples; the key difference in PS is that the output is not a series of ANN weights but is, instead, a complete computer program to perform the required processing. As such, by focusing on algorithm generation, this approach has the potential to automatically discover novel theories or functional patterns that might not have been otherwise anticipated; investigating whether this strategy can be ported into the realm of computation chemistrty is an important goal of this article. Here, we are interested not in function approximation or fast implementation of defined tensor contractions but in generating complete _codes_ that suggest general routes to solving the time-independent Schrodinger equation (TISE). With the challenge of PS framed as an optimization problem, a range of different approaches are commonly applied to auto-generate a code that satisfies the target program performance. In this context, genetic programming (GP) has been used extensively.[43-45,49,50] Here, a code is typically represented as a tree structure constructed from a set of pre-defined primitive functions (such as *,:,+,-) and constants; arranging this set of functions and constants in a variable tree structure acting on a set of inputs creates a computer program that gives a specific output for each input that is presented. In GP applied to PS, a population of tree codes is evolved under the action of evolutionary operations; the fitness of each population member is given by an appropriate metric, indicating how accurately the tree code yields the expected target outputs, and the principles of Darwinian evolution is used to drive optimization of the population toward better-performing codes. As we describe below, we use a simpler simulated annealing (SA) protocol to perform PS here, in combination with a code representation that is comparable to that employed in Cartesian GP (CGP).[44,51] Our interest here is in exploring challenges and possibilities for PS in the domain of quantum chemistry, and we leave the further development of targeted optimization strategies and code representations to future work. In this article, we investigate the use of a linear PS system to generate solutions of the TISE. In this initial proof-of-concept study, we primarily investigate the extent to which PS enables solution of the one-dimensional (1D) vibrational Schrodinger equation for bound polynomial PESs. While being simple, such systems serve as a useful starting point for which numerically exact solutions can be readily generated to enable the evaluation of PS-generated algorithms. In contrast to schemes used in electronic structure theory (such as TCE[46,47]) or previous GP-based schemes,[50] our strategy does not optimize implementation of a specific target wavefunction ansatz but, instead, uses a search in a space defined by possible instruction sequences, guided by an optimization function assessing code performance. The remainder of this article is organized as follows. First, in Sec. II, we discuss our own implementation of a linear PS system, combined with a SA optimization protocol. In Sec. III, we then show how our PS strategy can readily generate novel algorithms (codes) that solve the Schrodinger equation for arbitrary bound polynomial PESs; for example, by optimizing code structures for a set of just ten input/output examples, we find that the resulting code give accurate ground-state wavefunctions for a further 10^3 random PES examples. We also investigate some aspects of our own PS setup in an attempt to better understand the impact of algorithm parameters on predictive performance. In Sec. V, we discuss current limitations of our PS approach and offer some further discussion as to how the PS strategy might be extended to enable the prediction of properties for far more complex, many-dimensional systems. Finally, Sec. VI summarizes this contribution.