Scientific Software

Science to Solution

Integral to much of today’s research is the development of mathematically complex models and algorithms in software. The development of efficient scientific software is the art of expressing mathematical constructs or algorithms in software optimized for the architecture and topology of the target hardware.

The development of scientific software typically involves recasting an algorithm, optimizing the implementation, and validating the resulting software. As with any well-developed application, good software design and development skills and effective configuration management (CM) processes are essential. Producing efficient, accurate, and maintainable scientific software however requires other unique skills and experience in mathematics and physics, numerical processing and software optimization. Cardinal engineers have been developing and transitioning scientific software into operational use for decades. From signal and image processing to structural modeling and survivability, some of their solutions remain operational today. Over that time, we have continued to refine our approach, development process and tools.