{'fraction_non_alphanumeric': 0.017438833940655908, 'fraction_numerical': 0.004945340968245705, 'mean_word_length': 5.1, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
A parallel implicit Runge-Kutta method for solving ordinary differential equations

Within the past few years, great advances have been made in computer technology, with a major emphasis being in the area of the large-scale integration of digital circuits. As prices continue to decrease and quality continues to increase, manufacturers have increased the speed of hardware components almost to the limit. The present challenge is to find new approaches to increased computational speed. Parallel architecture promises to provide such an increase, but this promise depends critically upon the development of numerical methods that can take advantage of the parallel structure. An obvious approach is to structure new algorithms in such a way that several independent computations can be carried out simultaneously.Most of the existing methods for solving ordinary differential equations are serial in nature. There has been some recent work in the area of modifying and extending serial methods for use on parallel or vector computers. Implicit single-step methods have been studied by Stoller and Morrison, Ceschino and Kuntzman, Butcher and others for implementation on serial computers. The standard techniques for solving the nonlinear implicit equations during each step are not parallel in nature. Miranker and Liniger, who give a general set of parallel linear multistep methods for any even number of arithmetic processors, also give an explicit Runge-Kutta formula which can be used in parallel. Rosser suggested obtaining a block of new values simultaneously, in which step information could be interchanged within the block. Fewer function evaluations per step are needed which makes the implicit methods more competitive. Rosser discusses a procedure for calculating four new values at each stage or function evaluation. Clippinger and Dimsdale have suggested a similar procedure, but with two new values at each stage. Worland has given modifications to sequential procedures which allow them to be executed in parallel. He also shows how these can capitalize effectively on the use of parallel or vector computers available today. Shampine and Watts have made studies on evenly-spaced block implicit single-step methods which are actually more suitable for parallel computation. They suggested that unequal spacing based upon a Lobatto quadrature formula might be used as effectively as equal spacing. This allows a higher-order result to be attained.The purpose of this paper is to present a method for solving ordinary differential equations using an implicit Runge-Kutta single-step formula with uneven spacing.Our primary concern will be the development of a Gauss-based implicit formula for the parallel solution of differential equations that could be used on vector computers (i.e., CDC STAR 100). Other similar techniques could be based on Lobatto or Radau quadrature.We focus on the Gauss forms (where no end points are involved) mainly because they have advantages when the computations are to be carried out on a truely parallel computer.An algorithm is developed which will produce simultaneous approximations for several steps at the same time, or basically in parallel. The algorithm is presented to solve ordinary differential equations using either of 2 Gauss implicit forms: the 3 point or the 9 point. All computations are carried out in double precision (17 digits) on a PDP 11/55. The algorithm's main purpose is to show a means of parallelism within a block. Since the PDP 11/55 is a serial computer, this is actually done serially; nevertheless, the algorithm is completely parallel. Vector computers such as the CDC STAR 100 could perform these parallel computations using vector instructions.Three test cases will be presented to show the quality of this method as opposed to now existing serial methods.