Get the world’s most intuitive and advanced numerical linear algebra software and interact with numbers and matrices in a completely unique way — by touch!
Touch Matrix Algebra Professional Version not only comes with all of the in-app features of Touch Matrix Algebra unlocked — unlimited matrix sizes, 3D graphing — it adds, in addition to all the basic linear algebra operations, the most important advanced algorithms from advanced numerical linear algebra: orthogonal transforms, reductions and iterative matrix decompositions like QR factorization (declared the most important algorithm of the 20th century), symmetric eigensystem determination and singular value decomposition.
Unique features carried over from 'Touch Matrix Algebra’ include the ability to:
• drag and drop colour coded matrices to perform binary operations (e.g. matrix multiplication);
• work with either arbitrary precision matrix elements as rational numbers (rational matrices) for basic rational algorithms, or conventional fixed-precision, floating point numbers (decimal matrices) for all algorithms. Convert the former into the latter;
• see the detailed, step-by-step calculation of the Gaussian algorithm that brings a matrix to row-echelon or reduced row-echelon form, and calculates a matrix inverse, rank or determinant (for rational matrices)...
• or better yet... in editing mode, highlight rows and instruct the app to carry out the elementary row operations yourself! Learn the essence of the Gaussian algorithm without the hassle of carrying out the arithmetic details.
• factorize a matrix into Lower and Upper triangular matrices (up to a Permutation matrix): PLU decomposition.
• compute fundamental subspaces of a matrix (kernel and image)
• solve linear systems, including over and under-determined ones, via drag and drop!
The additional advanced features of Touch Matrix Algebra PRO include:
• 3D Graphing: turns Touch Matrix Algebra into a beautiful, inexpensive 3D graphing calculator that you can manipulate by panning and pinching; 3D graph analytic expressions, or visualize your large matrices' data content.
• orthogonal transforms: Householder reflections, Givens and Jacobi rotations: perfect for learning how the reductions and advanced decompositions are carried out numerically — no other software package explicitly includes these;
• matrix reductions: to bidiagonal, and tridiagonal or upper Hessenberg form (including the orthogonal matrices that carry out the reductions) — again unique to Touch Matrix Algebra Pro;
• non-iterative factorizations: QR/LQ (Modified-Gram Schmidt), QR (Householder)
• iterative decompositions: diagonalization/eigensystem determination for symmetric matrices (via explicit or implicit QR, cyclic Jacobi or a novel O(n) for large n classic Jacobi algorithm), real Schur decomposition/eigenvalue determination for non symmetric matrices, and the all-powerful singular value decomposition (via either QR or Jacobi).
• sub matrix editing, elementary column operations (in addition to the existing row operations), drag-and-drop scalar multiplication (e.g. for verifying eigenvalue-eigenvector pairs), and a Frobenius norm computation to check the results of decompositions or compare matrices.
All of the advanced algorithms have been coded lovingly by hand from scratch, are ‘duplicated’ by alternate algorithms when possible (e.g. Jacobi vs QR) and supply the transformations all of which allow you to verify the results directly. The O(n^3) algorithms have been threaded so that you can carry on several computations at once, or merely watch the iterative convergence of large matrix decompositions. Some parallelizable algorithms have themselves been multithreaded.
The Pro version now supports data import and export for communication with spreadsheets, and other numerical analysis software.
Designed by an educator, mathematician and physicist.
Coded in Swift, Objective-C, and C++.
Major new update...
• Finally! Touch Matrix Algebra works and plays nicely with others: Import/Export and Copy/Paste of rational or decimal matrices to and from Touch Matrix Algebra as simple comma or tab delimited text files. Tested with 'Numbers' and 'Excel', e-mail, iMessage, and Notes.
• New linear algebra features:
- compute the null space/kernel and column space/image of a matrix (apply these ops to the transpose to get the other two fundamental subspaces)
- new general linear system solver as a binary matrix operation: simply drop matrix 'A' onto column(s) 'b' to solve Ax = b. Works with underdetermined or overdetermined linear systems in which respectively the kernel/homogeneous solution + particular/inhomogeneous solution, or the least squares approximate solution are presented. Also detects inconsistent systems for the square matrix case.
• New convenience features:
- by popular request: rename matrices (including assigning subscripts)
- re-color a matrix, or delete all matrices of a given color (i.e. derived from an originator matrix)
- delete all matrices by double-tapping an empty space
- 3D graphing now uses 'arc ball' coordinates for rotation instead of spherical coordinates for smoother singularity free rotation
- set the maximum value to use when generating random matrices
• Massive under the hood changes:
- the arbitrary precision engine for rational arithmetic has been re-written to use base one billion (instead of base 10) and the arithmetic (especially division) algorithms optimized; the exact (rational number) matrix algorithms now run typically 300% faster on all (64-bit) iOS hardware. (One billion is the largest power of 10 base that can be used with 64 bit integer arithmetic without overflow on multiplication.)
- updated for Swift 3.0/4.0 compatibility (thanks Swift creators for getting rid of C-style for loops...sarcasm intended), while maintaining full support for older iOS devices (back to iOS 8.1 and the venerable iPad 2)
• Bugfixes. As always, please e-mail me with bug reports or concerns.
With Family Sharing set up, up to six family members can use this app.