# Step-by-Step Computer Algebra Calculators for Math Site

Budget $750-1500 USD

Your job will be to develop a basic computer algebra system (CAS) in C# that shows the intermediary steps of calculation. The CAS will need to perform derivation, integration and the solving of equations for a specified variable. It has to be compatible with the [url removed, login to view] class structure, as it will primarily run online. Complex solutions do not need to be implemented. Results should be in simplified form and the process of simplification itself should also be shown step-by-step. The input will be entered as a string and the intermediate solutions will be outputted as non-ambiguous strings. Syntax errors or malformed input should be recognized and an appropriate error thrown.

The system is geared towards college level students, so it should be able to solve all standard problems of this level of difficulty.

// The software should work similar to the following example code

Solver s = new Solver("4x^2+2=18", "x");

while([url removed, login to view]) {

[url removed, login to view]([url removed, login to view]);

[url removed, login to view]([url removed, login to view]);

[url removed, login to view]();

[url removed, login to view]();

}

As a point of reference, you can visit [url removed, login to view] or [url removed, login to view] and enter “derivative x*cos(x^2)”, “solve x*cos(x^2)=0” and “integrate x*cos(x^2)” then press “show steps”, the result is similar to what your CAS will be expected to produce (also have a look at the attached images). Moreover, your source code will need to be well commented.

Derivatives:

chain rule

quotient rule

product rule

partial derivatives

elementary power rule

Solving equations:

Solving by substitution

long polynomial division

Uses symbolic algorithms. For example solving for x in a*x²+b*x+c=0 will produce x = (-b±sqrt(b²-4ac))/(2a)

Identify infinite solutions of trigonometric functions based on their periodicity

Symbolically manipulation of equations and polynomials is shown step-by-step

Can solve for a system of equations that are concatenated by logical operators.

Example: new Solver("x+y=5 and x*y=6", "[x,y]");

Integration:

Integration by substitution (u-substitution)

Integration by parts

Trigonometric substitution

Integration by using trigonometric identities (see link below)

Integration as covered in the Wikipedia page and its sub pages ([url removed, login to view]); the internal table of antiderivatives should be easy to extend.

Following functions have to be generally implemented in the core:

Basic mathematical operations: addition +, subtraction -, division /, multiplication *, exponents ^

sin() & arcsin()

cos() & arccos()

tan() & arctan()

hyperbolic functions

abs()

ln() and log10()

sqrt()

e (Euler's constant) and π (pi)

Factorial: n!

Implied multiplication: 5xy = 5*x*y

expand() & factor() functions

Recognize ² and ³ as ^2 and ^3, respectively

Output is to be formatted according to standard mathematical conventions, i.e. terms are ordered in descending order by exponent and variables in ascending order by variable ASCII value

Output is simplified. This includes radicals and trigonometric functions

The CAS should have the ability to show real solutions exact and as a rounded float. For example:

The roots of 2*x^2+2=8 are sqrt(3) and -sqrt(3). As a float this would be [url removed, login to view] and [url removed, login to view], calculated to an accuracy of 5 decimal digits.

Your software will need to be able to identify the situations where the different mathematical rules (chain rule, power rule, substitution, ...) apply and apply them accordingly, in the same manner a human would.

Please be sure to include a portfolio of your work together with your qualifications. If you have done any work similar to this project, please be sure to mention that as well. The only accepted method of payment is the [url removed, login to view] escrow service.

## 23 freelancers are bidding on average $1576 for this job

Hands on experience with various database driven customized managed applications. Experience with various technology domains. Can assure you of quality results. Experience with Asp.Net, MVC, Ajax, Jquery & Razor design More

Hi, I`m an expert in C# and I`ve studied calculus 3 semesters in the university so it is going to be challenging and interesting project. Contact me if you`re interested.

Hi, I'm a professional developer in C, C++, c#, vb, java, asm, python. I have extensive experience.

Dear Sir, I am strong at C, C#, VB, etc. Besides, I have experiences teaching Math University level. Thank you very much. Best Regards, Sayed Mulkhan F