This was our first foray into scientific computing and it was an enlightening experience, at least from a programming point.
We learnt about the limitations of using computers for doing our numerical dirty work, which was that they're not particularly good at doing accurate numerical calculations. (precison V accuracy)
->The square root function, for example, was a particularly imprecise function. We tried to use it in task A1 to simplify some equations (Precisely, the number of equations. Solving one equation, instead of two, should give us better answers right? Wrong.) but the loss in precision was too vast to be acceptable.
->The floating point inaccuracy was also quite prevalent, especially when we used { det(A)*inv(A) } to find the adjoint of A.
The value of ((2/7)*7) evaluated to 1.99999...
->The solution to the equations varied vastly depending on the starting values of the functions in the 'fsolve' method.
So, given these problems which we encountered in our assignment, we feel that scientific computing does help us solve difficult equations easily. Due to the inherent lack of rationality in computers, we can't blindly use computers to replace the tried and tested method of solving equations by hand just yet.
Numerical computing helps in improving the precision of some estimate of the final answer, but not always a reasonable answer. That is to say, the value obtained might be mathematically correct and precise, but wont make any sense.
We pledge on our honour that we have not received any unauthorised assistance on this assignment or any previous task.