Version 7, last updated by Shaktal at October 26, 2011 08:39 UTC
An open-source Android Calculator app written using Java and C++, designed to address the shortcomings with a lot of the other free calculators on the Android market to date.
As of yet this calculator is unnamed, that's a process for later in development (or if I can find some willing Graphic Designers for branding and web design etc.).
I will be extremely grateful is anyone feels that their talents would lend themselves to this project (I'm currently looking for graphic designers, web designers, Java/C++ developers (especially those with experience with the Android SDK), and I'm sure there are many other skills which would be beneficial to aiding development that I have not considered).
Why not just use Wolfram|Alpha?
Whilst it is true that you can find all of these features (and more besides) on Wolfram|Alpha, it lacks an intuitive interface (even the version built specifically for Android, which has an associated cost), and is not open-source (i.e. people interested in the maths/programming behind it cannot see what it does).
Moreover, all of the other calculators for Android seem to be lacking features or built clumisily. Here we aim to unify various features into a pleasant-to-use, customizable calculator for Android (and potentially for other platforms as well, the maths engine should be ported over reasonably simply to PC, or Apple/Windows devices).
Features
This is a list of the currently planned features for the Android Calculator:
- Full Matrix Compatibility:
- Complex Matrices (all functions apply equally to real/complex matrices, unless otherwise specified).
- LU Decomposition of matrices
- Matrix Inversion
- Matrix transposition
- Conjugate Transpose
- Elementary Row Operations:
- Row swapping
- Row Addition/Subtraction
- Row multiplication
- Determinant
- Matrix-matrix multiplication (also overloaded for vector-matrix multiplication)
- Scalar multiplication/division
- Vector functionality:
- Complex vectors
- n-th tuple vectors (obviously cross product will only exist for 3- (and possibly 7-) dimensional vectors.
- Vector addition/subtraction
- Matrix-vector multiplication
- Scalar multiplication
- Scalar/Dot product
- Cross Product (only defined for 3- and (possibly 7-) dimensions)
- Real-number calculator:
- Double precision computations
- Addition/Subtraction
- Division/Multiplication
- Trigonometric Functions (with support for Radians, Degrees and Gradians):
- Sine, Cosine, Tangent
- Arcsine, Arccosine, Arctangent (alongside generic inverse functions)
- Reciprocal functions and inverses (Cosecant etc.)
- Hyperbolic Sine, cosine and tangent functions.
- Inverse hyperbolic functions
- Transcendental Functions:
- Exponential functions
- Logarithms (defined for any base)
- Powers
- Roots
- Large operator functions:
- Summation
- Product
- Gamma Function
- Fractional representation
- Conversions (Metric-Imperial etc.)
- Standard Form (or engineering mode).
- Complex number calculations:
- Complex conjugate
- Addition/Subtraction (with real or complex rhs)
- Multiplication/Division (with real or complex rhs)
- Polar-Cartesian & Cartesian-Polar conversion (also Complex-Matrix(2x2))
- Complex argument
- Complex modulus (absolute value)
- Trigonometric Functions (same as defined above for the reals)
- Transcendental Functions (same as defined above for the reals)
- Large operator functions (same as defined above for the reals (where applicable)
- Calculus:
- Numerical differentiation (Central-difference method)
- Numerical integration (Gauss-Kronrod method most likely)
- Vector calculus (divergence, curl etc.)
- Function builder and parser
- Computer Science:
- Base-N conversion
- Two's complement
- Binary functions:
- and
- or
- xnor
- xor
- not
- nor
- Statistics:
- Table layout to store results
- Arithmetical mean
- Geometric mean
- Mode
- Median
- Cumulative frequency
- Variance
- Standard Deviation
- Error function
- Random-number generator
- Binomial Co-efficients
- Set Combination Generator
- Set Permutation Generator
- Set-oriented engine:
- Union of sets
- Intersection of sets
- Cardinality
- Complements
- Cartesian Products
- Graphing:
- Support for 3D and 2D-graphing (utilising OpenGL-ES library)
- Properties of a point (i.e. derivative at specified point, co-ordinates)
- Cartesian and Polar(spherical/cylindrical for 3D) plots
- Intercept co-ordinates
- Scientific & Mathematical constants:
- Built-in common mathematical/scientific constants (Permittivity of free space, pi, e, golden ratio constant, etc.)
- User database for custom constants
- Intuitive and fun to use interface:
- Build and customise your own GUI, or choose from one of the pre-made GUIs
- Bright and clean visual style, appealing to use.
Potential Features
There are some features which may be implemented depending on whether the dev team is sizeable enough (and if the combined experience allows it).
- Programmability:
- BASIC (or other language) parser, allows users to program their own functions in for their own purposes, and save it to USB storage, to allow for greater customizability.
- Algebraic System:
- Symbolic Differentiation
- Symbolic Integration
- Function simplifier.