Computer Software in Science and Mathematics.

Scientific laws give algorithms, or procedures, for determining how systems behave. The computer program is a medium in which the algo­ rithms can be expressed and applied. Physical objects and mathematical structures can be represented as num­ bers and symbols in a computer, and a program can be written to manipulate them according to the algorithms. When the computer program is executed, it causes the numbers and symbols to be modified in the way specified by the sci­ entific laws. It thereby allows the conse­ quences of the laws to be deduced. Executing a computer program is much like performing an experiment. Unlike the physical objects in a conven­ tional experiment, however, the objects in a computer experiment are not bound by the laws of nature. Instead they fol­ low the laws embodied in the computer program, which can be of any consistent form. Computation thus extends the realm of experimental science: it allows experiments to be performeq in a hypo­ thetical universe. Computation also ex­ tends theoretical science. Scientific laws have conventionally been constructed in terms of a particular set of mathemati­ cal functions and constructs, and they have often been developed as much for their mathematical simplicity as for their capacity to model the salient fea­ tures of a phenomenon. A scientific law specified by an algorithm, however, can have any consistent form. The study of many complex systems, which have re­ sisted analysis by traditional mathemat­ ical methods, is consequently being made possible through computer exper­ iments and computer models. Compu­ tation is emerging as a major new ap­ proach to science, supplementing the long-standing methodologies of theory and experiment. There are many scientific calcula­ tions, of course, that can be done by con­ ventional mathematical means, without the aid of the computer. For example,