An open API service indexing awesome lists of open source software.

https://github.com/harshcasper/matrix-calculator

📱❤️ Matrix Calculator is an Android Application devoted to bringing Matrix Operation Functionality straight to the Android supporting various Matrix Operations.
https://github.com/harshcasper/matrix-calculator

Last synced: 4 months ago
JSON representation

📱❤️ Matrix Calculator is an Android Application devoted to bringing Matrix Operation Functionality straight to the Android supporting various Matrix Operations.

Awesome Lists containing this project

README

          

# Matrix Calculator

[![forthebadge](https://forthebadge.com/images/badges/built-by-developers.svg)](https://forthebadge.com)
[![forthebadge](https://forthebadge.com/images/badges/built-for-android.svg)](https://forthebadge.com)
[![forthebadge](https://forthebadge.com/images/badges/built-with-love.svg)](https://forthebadge.com)
[![forthebadge](https://forthebadge.com/images/badges/check-it-out.svg)](https://forthebadge.com)
[![forthebadge](https://forthebadge.com/images/badges/made-with-c-plus-plus.svg)](https://forthebadge.com)
[![forthebadge](https://forthebadge.com/images/badges/made-with-java.svg)](https://forthebadge.com)
[![forthebadge](https://forthebadge.com/images/badges/you-didnt-ask-for-this.svg)](https://forthebadge.com)

📱❤️ Matrix Calculator is an Android Application devoted to bringing Matrix Operation Functionality straight to the Android supporting various Matrix Operations. It supports various Matrix Operations such as Addition of Matrices, Subtraction of Matrices, Determinant Calculation, Adjoint, Inverse of a Matrix, its transpose and more.

## Technology Stack

1. Android: Android is an open source Linux-based operating system designed by Google for Mobile and Tablet devices . The Android Software Development Kit (Android SDK) is an open source project, which is freely available on the internet from the android website and can be freely customised by companies and developers. As a result of being open source a large online community has since developed, where support is provided to help in the development of applications for this operating system.

2. Java: Java is the main language used to develop android applications, and the language I have chosen to develop my project. Java is an Object Oriented language and is one of the most popular programming language in the world and is primarily used to develop client and server applications. The introduction of MIDlets, applications that use the Mobile Information Device Profile (MIDP) which are executed on a Java Virtual machine (JVM) allows the abstraction of hardware on the on the smartphone and allows developers to build applications that run on devices that support Java runtime. As a result of this Java has become the most popular programming language for developing android applications.

3. Android Studio: official IDE for android development , which is freely available under the Apache License 2.0 and is the IDE used for the development of this project. The IDE is based on the JertBrains IntelliJ IDEA software and is specifically designed for android development and can run on Windows, Mac OS X and Linux. Eclipse Android Development tools were replaced by Android studio as Google's primary IDE for native Android application development. Android studio includes many useful features designed to make your experience developing as productive and enjoyable as possible. These features include:

- Gradle -based build support – Gradle is a build automation system to support multi-project builds and support incremental builds.
Android-specific refactoring and quick fixes
- Lint tools – which are used to catch performance, usability, version compatibility and other problems.
- ProGuard integration and app signing capabilities- ProGuard is a tool that shrinks, optimizes and obfuscates Java code.
- Temple-based wizards – To create common Android designs and components.
- A rich Layout editor – This allows users to drag and drop UI components while previewing the results on multiple screen configurations.
- Support for building android wear applications
- Support for Google Cloud platform – This built in support allows integration with Google Cloud messaging and App Engine.

4. C++: C++ is a statically-typed, free-form, (usually) compiled, multi-paradigm, intermediate-level general-purpose middle-level programming language.

## Matrix Operations

The various Matrix Operations that are supported in this Android Application are:

- Trace: In linear algebra, the trace (often abbreviated to tr) of a square matrix A is defined to be the sum of elements on the main diagonal (from the upper left to the lower right) of A. The trace of a matrix is the sum of its (complex) eigenvalues, and it is invariant with respect to a change of basis.

- Minor: A "minor" is the determinant of the square matrix formed by deleting one row and one column from some larger square matrix. Since there are lots of rows and columns in the original matrix, you can make lots of minors from it.

- Adjoint: The adjoint of a matrix A is the transpose of the cofactor matrix of A .

- Determinant: In linear algebra, the determinant is a scalar value that can be computed from the elements of a square matrix and encodes certain properties of the linear transformation described by the matrix. The determinant of a matrix A is denoted det(A), det A, or |A|.

- Inverse: The Inverse of a Matrix is the reciprocal of a Matrix.

- Transpose: In linear algebra, the transpose of a matrix is an operator which flips a matrix over its diagonal, that is it switches the row and column indices of the matrix by producing another matrix.

- Addition, Subtraction and Multiplication