This page content is from two migrations, most recently https://sites.google.com/site/physicsderivationgraph/goals
I don't know the original date of this post
Objectives
Create a framework capable of describing all mathematics needed for physics derivations. I use Latex as the syntax in the framework because Latex is how I think of equations. However, Latex is insufficient for processing by computer algebra systems. Status: proof of concept exists
Create machine-readable databases which use the above framework to capture the mathematical derivations in physics. To hold the content of the databases I'm using custom XML. Status: proof of concept exists
Create graphical representation of relations content in the databases. I'm using GraphViz to render the visualization. Status: proof of concept works
Use a computer algebra system to verify the relations in the databases. I'm using SymPy as the CAS (see also a list of candidates). Status: proof of concept works.
Create a web browser-based viewing of the generated graph. HTML5 seems capable. Status: investigated, not started
Create a web browser-based graph input tool. Status: not started
The above workflow applies to both CLI and web-based GUI. Implementing a web-based GUI is its own learning curve, so separate the above workflow diagram into two sets of tasks. The following applies to both web-based GUI and CLI.
Tasks
user adds content to internal data structure (user --> IDS)
write content to external database from internal data structure (IDS --> DB)
read content from external database into internal data structure (IDS <-- DB)
render internal data structure as visual graph (IDS --> graph)
check internal data structure content using CAS (IDS --> CAS)
Currently (20140527) what I'm actually doing is (user --> DB) and (DB --> graph)
Rant 1: historical progress
How we do math and physics has undergone some historical transitions in how the process is carried out.
Initially research was done by individuals by paper and pen, then communicated via letters and later journals. <claim>Mechanical computers were initially used for computation of known capability, rather than enabling novel research. </claim>
In the past 50 years, electronic computers have enabled numeric and symbolic computation. High performance computers at large scale allow for research at unprecedented pace. Results in article form are still communicated via printed journals, and more recently, electronically. Sharing data and algorithms in electronic format is the current revolution.
The tools we use have expanded from paper and pen to Computer Algebra Systems, databases, and programming languages.
No comments:
Post a Comment