Information Visualization

At different stages various kinds of tools will be needed.

Following are some relevant wikipedia pages:



This looks interesting:


comparable to:

listed with others here:

But not here:

Graphical Models

Graphic Concept Organizers


Organic chemistry reactions:


Butterflies and Snakes

An important aspect of Linear Algebra, needed in practical applications, is based on the wider “Structure theorem for finitely generated modules over a principal ideal domain”.

This in turn can be generalized to “Goursat Categories” (or varieties), which include Maltsev varieties. I don’t really understand what this means, but prefer to understand the most general version as presumably closer to the “essence”.

Apparently this includes both the “Butterly Lemma” and the “Snake Lemma” (often referenced in category theory). Again, I don’t really understand what this is about yet, but curiously first came across something rather like both during transition from secondary school to early undergraduate mathematics or perhaps during first year. I still have a hardcopy of this book:

author={Papy, G.},

also available at:


Chapter 10 describes “Groups with operators” which generalize vector spaces, modules and ideals. Operators are simply endomorphisms but not necessarily with a ring morphism or even a group morphism to endomorphism ring of the group. It includes proof of a structure theorem for “admissible” normal subgroups (compatible with the operators), based on “ladders” (suggestive of a snake diagram) from Schreier, with a “four sets lemma” from Zassenhaus (suggestive of a butterfly diagram).

I also have hardcopy of Brian Davey on Lattice Theory (3edn) which explains that “Fundamental Theorem of Arithmetic” is really a result concerning existence and uniqueness of join irredundant decomposition in distributive ACC lattices.

My impression is that the essence of what is needed can be stated in terms of ACC modular lattices and is applicable to a much wider range of structures than modules over a principal ideal domain – including the arithmoi and division rings as “lineal” spaces.

Collection of references below are for studying this.

title={Galois Connections and Applications},
author={Denecke, K. and Ern{\’e}, M. and Wismath, S.L.},
series={Mathematics and Its Applications},
publisher={Springer Netherlands}

(Google search for “Goursat variety” found reference in above on p160)

Below has a college teacher’s account of exercises leading to Goursat’s lemma recommended for junior undergraduate courses. This may be a good place to start.

doi = {10.2307/25653685},
title = {Goursat’s Other Theorem},
author = {Joseph Petrillo},
publisher = {Mathematical Association of America},
journal = {College Mathematics Journal},
issnp = {0746-8342},
issne = {1931-1346},
year = {2009},
month = {03},
volume = {40},
issue = {2},
page = {119–124},
url = {},



Other Platforms

Want Texmacs, not mentioned above. Might also work within GnuRoot on Android?

Fully programmable and also works as front end for Sage and more. Slow screen updates but nice keyboard entry of many symbols instead of relying on point and click. That should help with rough drafts in plain text files and use with mathjax etc.

Consider also TexStudio and Lyx. Perhaps others?

Meanwhile Cocalc more than adequate and can just rough out in text files when offline.

For offline focus on superset/supplement to Cocalc facilities.

Would be good to have enough skills to just use raw mathjax with keyboard shortcut macros in simple text editor so don’t rely on WYSIYG completely – be aware of \LaTeX codes.

Also investigate any facilities involving MathML etc that could carry semantics with Agda, Coq, Sage etc.

Leanpub Markua includes with {$$} and {\$$} markers.

WordPress similar?

Try to figure out a way to switch between standard prefix notation like f(g(h)) to more natural right hand suffix notation as in cats.

Haskell and Agda should be able to do this? So should Guile underlying Texmacs?


Need to know macro collections, emacs etc snippets, Maths classification codes. Standard terminologies, main journals and publishers and their style guides etc. Peer review mechanisms with etc.

eg Pick notations for cats, Geometric Algebra etc. Vocabulary from Proofwiki, Wikipedia and Walter Noll?


These may be too focussed on numerical. Checkout Pandas, Stats, Quantlib etc.

(Texts in Computational Science and Engineering 6) Hans Petter Langtangen (auth.)-A Primer on Scientific Programming with Python-Springer-Verlag Berlin Heidelberg (2016).pdf

The book serves as a first introduction to computer programming of scientific applications, using the high-level Python language. The exposition is example and problem-oriented, where the applications are taken from mathematics, numerical calculus, statistics, physics, biology and finance. The book teaches “Matlab-style” and procedural programming as well as object-oriented programming. High school mathematics is a required background and it is advantageous to study classical and numerical one-variable calculus in parallel with reading this book. Besides learning how to program computers, the reader will also learn how to solve mathematical problems, arising in various branches of science and engineering, with the aid of numerical methods and programming. By blending programming, mathematics and scientific applications, the book lays a solid foundation for practicing computational science.
From the reviews: Langtangen … does an excellent job of introducing programming as a set of skills in problem solving. He guides the reader into thinking properly about producing program logic and data structures for modeling real-world problems using objects and functions and embracing the object-oriented paradigm. … Summing Up: Highly recommended.
F. H. Wild III, Choice, Vol. 47 (8), April 2010
Those of us who have learned scientific programming in Python ‘on the streets’ could be a little jealous of students who have the opportunity to take a course out of Langtangen’s Primer.”
John D. Cook, The Mathematical Association of America, September 2011
This book goes through Python in particular, and programming in general, via tasks that scientists will likely perform. It contains valuable information for students new to scientific computing and would be the perfect bridge between an introduction to programming and an advanced course on numerical methods or computational science.
Alex Small, IEEE, CiSE Vol. 14 (2), March /April 2012
“This fourth edition is a wonderful, inclusive textbook that covers pretty much everything one needs to know to go from zero to fairly sophisticated scientific programming in Python…”
Joan Horvath, Computing Reviews, March 2015

title = {A Primer on Scientific Programming with Python},
author = {Hans Petter Langtangen (auth.)},
publisher = {Springer-Verlag Berlin Heidelberg},
isbn = {978-3-662-49886-6,978-3-662-49887-3},
year = {2016},
series = {Texts in Computational Science and Engineering 6},
edition = {5},
volume = {},
url = {}

(Texts in Computational Science and Engineering 15) Svein Linge, Hans Petter Langtangen (auth.)-Programming for Computations – Python_ A Gentle Introduction to Numerical Simulations with Python-Spring.pdf

This book presents computer programming as a key method for solving mathematical problems. There are two versions of the book, one for MATLAB and one for Python. The book was inspired by the Springer book TCSE 6: A Primer on Scientific Programming with Python (by Langtangen), but the style is more accessible and concise, in keeping with the needs of engineering students.
The book outlines the shortest possible path from no previous experience with programming to a set of skills that allows the students to write simple programs for solving common mathematical problems with numerical methods in engineering and science courses. The emphasis is on generic algorithms, clean design of programs, use of functions, and automatic tests for verification.

Table of contents :
Front Matter….Pages i-xvi
The First Few Steps….Pages 1-28
Basic Constructions….Pages 29-53
Computing Integrals….Pages 55-93
Solving Ordinary Differential Equations….Pages 95-160
Solving Partial Differential Equations….Pages 161-183
Solving Nonlinear Algebraic Equations….Pages 185-208
Back Matter….Pages 209-232

title = {Programming for Computations – Python: A Gentle Introduction to Numerical Simulations with Python},
author = {Svein Linge, Hans Petter Langtangen (auth.)},
publisher = {Springer International Publishing},
isbn = {978-3-319-32427-2,978-3-319-32428-9},
year = {2016},
series = {Texts in Computational Science and Engineering 15},
edition = {1},
volume = {},
url = {}

(Lecture Notes in Computational Science and Engineering 110) Hans Petter Langtangen (auth.)-Finite Difference Computing with Exponential Decay Models-Springer International Publishing (2016).pdf

This text provides a very simple, initial introduction to the complete scientific computing pipeline: models, discretization, algorithms, programming, verification, and visualization. The pedagogical strategy is to use one case study – an ordinary differential equation describing exponential decay processes – to illustrate fundamental concepts in mathematics and computer science. The book is easy to read and only requires a command of one-variable calculus and some very basic knowledge about computer programming. Contrary to similar texts on numerical methods and programming, this text has a much stronger focus on implementation and teaches testing and software engineering in particular.

title = {Finite Difference Computing with Exponential Decay Models},
author = {Hans Petter Langtangen (auth.)},
publisher = {Springer International Publishing},
isbn = {978-3-319-29438-4, 978-3-319-29439-1},
year = {2016},
series = {Lecture Notes in Computational Science and Engineering 110},
edition = {1},
volume = {},
url = {}

Linear Algebra

(Undergraduate Texts in Mathematics) Axler, Sheldon Jay-Linear Algebra Done Right-Springer (2015).pdf

This best-selling textbook for a second course in linear algebra is aimed at undergrad math majors and graduate students. The novel approach taken here banishes determinants to the end of the book. The text focuses on the central goal of linear algebra: understanding the structure of linear operators on finite-dimensional vector spaces. The author has taken unusual care to motivate concepts and to simplify proofs. A variety of interesting exercises in each chapter helps students understand and manipulate the objects of linear algebra.
The third edition contains major improvements and revisions throughout the book. More than 300 new exercises have been added since the previous edition. Many new examples have been added to illustrate the key ideas of linear algebra. New topics covered in the book include product spaces, quotient spaces, and dual spaces. Beautiful new formatting creates pages with an unusually pleasant appearance in both print and electronic versions.
No prerequisites are assumed other than the usual demand for suitable mathematical maturity. Thus the text starts by discussing vector spaces, linear independence, span, basis, and dimension. The book then deals with linear maps, eigenvalues, and eigenvectors. Inner-product spaces are introduced, leading to the finite-dimensional spectral theorem and its consequences. Generalized eigenvectors are then used to provide insight into the structure of a linear operator.

title = {Linear Algebra Done Right},
author = {Axler, Sheldon Jay},

publisher = {Springer},
isbn = {3319110799,978-3-319-11079-0,978-3-319-11080-6,3319110802},
year = {2015},
series = {Undergraduate Texts in Mathematics},
edition = {3ed.},
volume = {},
url = {}