Mirror Matrix on the Wall: coding and vector notation as tools for introspection
It improves programming tools for mathematicians, scientists, and engineers, but is incremental as it builds on existing notation concepts.
This work explores how GNU Octave's vector notation aligns with mathematical notation to enhance code efficiency and serve as a thinking tool for problem-solving, making it more effective for mathematicians, scientists, and engineers.
The vector notation adopted by GNU Octave plays a significant role as a tool for introspection, aligning itself with the vision of Kenneth E. Iverson. He believed that, just like mathematics, a programming language should be an effective thinking tool for representing and reasoning about problems we wish to address. This work aims to explore the use of vector notation in GNU Octave through the analysis of operators and functions, providing a closer alignment with mathematical notation and enhancing code efficiency. We will delve into fundamental concepts such as indexing, broadcasting, and function handles, and present case studies for a deeper understanding of these concepts. By adopting vector notation, GNU Octave becomes a powerful tool for mathematicians, scientists and engineers, enabling them to express and solve complex problems more effectively and intuitively.