# Understanding The Terms Of Trigonometry Information Technology Essay

What is Trigonometry. According to the online dictionary definition, it is actually a branch of mathematics calculation that is deals with triangles, circle, oscillations, and waves [1]. It is most commonly applied on the triangles, especially for those plane triangles in which one angle has 90 degree [4]. There are plenty of trigonometric functions which have their own responsibility to deal with the calculation between the sides and the angles of triangles, for instance [4].

Trigonometry is actually created by Greeks to aid in the study of astronomy [5]. Greeks mathematicians made use of chord [4] and the radius of circle. Given a circle and an arc on the circle, the chord is the line that subtends the arc [4]. They form a table of chord. The creation of chord table brought to the introduction to basic trigonometry functions which is the Sine and Cosine.

Sine is the ratio of the vertical side to the hypotenuse of a right angled triangle [1]. Cosine is referring to the ratio of the horizontal side to the hypotenuse of a right angled triangle as well [1]. Tangent can be defined as the ratio of the opposite and adjacent sides of a right angled triangle [1]. The formation of tangent can be defined as the ratio of sine to cosine.

The 3 basic trigonometry functions have their own laws. The law of sine, law of cosine and law of tangent are shown as follow [4].

## Law of Sine

where a, b, c referring to the sides of the triangle and the sine A, sine B and sine C referring to the internal angles of the sides respectively. R is the radius of circumcircle of the triangle.

## Law of Cosine

where a, b, c referring to the sides of the triangle and the cosine C referred to the angle between the line of a and b.

## Law of Tangent

where a and b referring to the 2 sides of the triangle.

2. Problem Statement, Objective and Scope

The problem statement in this project is to compute the basic trigonometry functions using Message Passing of parallel computers system. Message Passing is a kind of internal arrangement of parallel computers that need to implement with the Message Passing Interface (MPI) in order to be functional.

The trigonometry functions can be calculated using the formulas respectively. Taylor expansion series is used to expand the respected formula into n terms and then total up all the term to get a valid result. The number of n term can be very huge and it may be an issue to the researcher if the program is designed to run in a single computer platform, in term of the time consumption.

The time consumption is always an issue for computing or solving a huge mathematical calculation in computer system. Parallel computers are designed to solve large and complicated calculation or simulation in shortest time. The program developed in this project was using the Message Passing kind of parallel computers. The Message Passing multicomputer using distributed memory among the computers whereby each of the computers has its own address space. The interconnection network existed among the computers allow the processors to send messages to others processors. There is a master computer will divide the computation into tasks then assign each task to the available slave computers to solve it simultaneously. Lastly, all the results will be collected by the master computer to print out the result.

The objective of the project is to calculate the Tangent (x) value. In order to get the result for Tangent (x), we need to obtain the values for Sine (x) and Cosine (x) using algebraic way. The scope of the program is to compute basic trigonometry function.

3. Literature Review

The invention of parallel computers has been brought a great contribution on solving engineering problems. Such problems often need huge repetitive calculations on large amounts of data to produce a valid result [8]. Hence, the computational speed is always to be concerned as the computations must be completed within reasonable time periods so that it can save some resources of certain research project.

In those manufacturing realm, engineering calculations and simulations must be achieved within minutes or even seconds [8]. A simulation program which needs to take up few weeks to reach the result is usually unacceptable. The capability of parallel computers is that it is able to divide a huge problem into portions and scatter all the portions of a problem to the available parallel computer which is known as slave computer, so that every slave computer could do their own tasks respectively. Later, when every slave computer has done their job, they will send the result to the master computer to combine and finalise the result.

The computing platform, parallel computer could be a specially designed computer that containing multiple processors, or several independent computers that interconnected in some way. The parallel computers are categorised into few type based on the internal arrangement of the parallel computer [7].

Shared memory Multiprocessor System

Message-Passing Multicomputer

Distributed Shared Memory

Multiple Instructions Stream-Multiple Data Stream (MIMD) and Single Instruction Stream-Multiple Data Stream (SIMD) Classification.

When comes to examine the performance, parallel computer always shows greater than a single computer. The performance of the parallel computers that able to solve a problem in a faster manner has often been examined.

In order to achieve an improvement in speed through the use of parallelism, it is necessary to divide computation into tasks that can be executed simultaneously. Granularity is referring to the size of a tasks or process. Generally, the granularity have to increase as to reduce the costs of process creation, but this will likely reduce the number of concurrent processes and the amount of parallelism [7].

Speedup Factor is a measure of relative performance between a multiprocessor system and a single processor system. It can be referred as the ratio of the time taken to solve a problem on a single processor to the time required to solve the same problem on a parallel computer with n identical processors. Therefore, it has an equation of S (n) = ts/tp. In parallel system, there is always a fraction of computation that cannot be divided into concurrent tasks will need to spend a time of fts, whereas the time needs to spend for another fraction that can be divided is (1-f)ts. The S (n) = ts/fts+(1-f)ts/n is formed and later the S (n) can be derived as S (n) = n/1+(n-1)f which is the Amdahl’s law [7].

Speedup against number of processors

Others factor such as the cost for the parallel computation, scalability and etc. The cost-optimal parallel algorithm is the one in which the cost to solve a problem on a multiprocessor is proportional to the cost on a single processor system. Scalability could be indicated as architecture or hardware scalability where the system is allowed to be increased in size to obtain increased performance [7]. The algorithm scalability could used to indicate that a parallel algorithm can accommodate increased in data items and computation steps [7].

4. Methodology

In the computation part, the Taylor Expansion Series is implemented. The Taylor expansion series is a kind of mathematical way which is able to find an approximation value of a particular mathematical function such as Sine (x) and Cosine (x). At fist, the Taylor expansion series will derive an n number of terms based on a particular function or formula and then sum up all the terms to get an approximation value [7].

In this report, the Taylor Expansion Series will be applied to the algebraic formula of computing Sine and Cosine [3]. The x value in the Sine and Cosine must be in radian. The below are showing the formula to calculate Sine and Cosine, and the Taylor expansion series of Sine and Cosine [6].

## Sine Formula

## Sine’s Taylor Expansion Series

## Cosine Formula

## Cosine’s Taylor Expansion Series

The Tangent (x) value could be easy find out when the value for Sine (x) and Cosine (x) are obtained. The division of Sine (x) with Cosine (x) will produce the result for Tangent (x). The positive sign and negative sign of the trigonometry functions in differ angles are put in concern as well. For example the result for Sine (x), Cosine (x) and Tangent (x) in every angle smaller than pi radian will produce a positive value.

In the parallel programming part, VI editor which provided in The Sun Solaris parallel computers has been used to code the program. The programming language used was C language. Certainly, the message passing interface (MPI) which is a library specification for message passing has been implemented. Basically there are 6 MPI basic functions are in used in the program, which are the MPI_Init(), MPI_Comm_rank(), MPI_Comm_size(), MPI_Bcast(), MPI_Reduce(), and MPI_Finalize()[8].

5. Design and implementation

Flowchart is a diagram to show how a program flows from the beginning to the end. It can be considered as the first step used to develop a program.

The computation of trigonometry function program has been implemented in The Sun Microsystems. The model of this server system is called Sun Fire V1280 which is an end-of-life product that is no longer orderable [9] [10].

The Sun Fire V1280 server has 4, 8, or 12 1.2GHz Ultra SPARC III Cu Processors. It has 8GB to 96 GB main memory and two 73GB disks Ultra3 SCSI internal disks [10]. The server has an IP of 172.16.28.4 with DNS name of inspem1.upm.edu.my is using the Solaris 9 operating system [9]. C, C++, Java, Pascal, Fortran are those languages that can be used in this server [10]. The machine works in an optimal environment of 5° C to 35° C at 10% to 80% humidity and non-condensing [10]. The uname -a command which means UNIX name can be used in the inspem1 server to display all basic information currently available in the server [11]. The psrinfo command can be used to check the status of every available processor in the server.

6. Result and Discussion

Based on the output shown above, the time spent to calculate the value of tangent x has became lesser when more processors are in used. The total time spent is obviously decreased when the number of processors has been doubled up. In order to obtain the optimum result, the number of tasks that assigned to the slave has to be large enough.

In order to obtain a good speedup graph, the task assigned to every slave processor should be independent of each others, which means every slave processor can actually compute their own result without depending on any input or result from other processors. The size of every task assigned to all the processors should be in a fair condition, or most likely to be known as balanced situation. This can greatly affect the performance of the parallel computing because when the task assigned to the processors are imbalance, those processors which have finished their task will still need to wait for others to accomplish other parts of the job. If this situation happened, the performance of the parallel computing will be greatly reduced.

The speedup against number of processors graph is shown as below. Yet, it is almost a straight line or a linear graph I have obtained.

The trigonometry calculation parallel program in this project is mainly to test on how great the performance of every processor is in the parallel machine. Since the performance can be measure through the time taken for each processor to accomplish the task, the start time was recorded before the broadcast of all the important information to the processors and the end time was measured once all the value is collected and combined in 1 single value. The time taken is calculated by subtracting the end time with the start time. Later, all the times taken for every processor are accumulated and divided by total number of processors used to get an average of time spent.

The bellowing shows the efficiency graph against the number of processors.

7. Conclusion and Future Works

The parallel computers are capable of computing and solving huge problems. The parallel programming environment is really great enough to help us to solve our mathematical problem. It is capable of computing high complexity equation in a very fast manner. Hence it can help to reduce the cost and the time of computation.

Regarding to the program in this project, the future works can be considered as the enhancement of the program that needs to be implemented in the future to overcome the limitation where the program having now. In this trigonometry calculation program, the limitation is that the program is only capable of computing the basic trigonometry function. There are lots of more advance trigonometry functions such as, secant, cosecant, cotangent that can be implemented in this program to make it more advances.

Other limitation found in this program is the value of x degree which is only available for the user to enter in the range from 0 to 360. The program should add in the feature to check for the number of x degree so that even the x degree is more then 360, the parallel machine still able to compute the correct result.

8. Bibliography

Fergus Ray Murray, http://oolong.co.uk/trig.htm, accessed on 6th October 2009, referring to Mannall, G. and Kenwood, M. (1995) ‘Heinemann Modular Mathematics for London AS and A-Level (P2)’. Oxford, Heinemann Educational Publishers; Stephenson, G. (1995) ‘Mathematical Methods for Science Students’. Harlow, Longman Scientific & Technical

Houghton Mifflin Company, The American Heritage® Dictionary of the English Language, Fourth Edition, http://education.yahoo.com/reference/dictionary/entry/trigonometry

Doctor Ken, The Math Forum of Drexel University, Geometry Forum http://mathforum.org/library/drmath/view/53964.html

Boyer, Carl B. (1991). A History of Mathematics (Second Edition), John Wiley & Sons, Inc, http://en.wikipedia.org/wiki/Trigonometry

http://library.thinkquest.org/C0110248/trigonometry/history1.htm, Trigonometry, accessed on 6th October 2009

Thomas, George B. Jr.; Finney, Ross L. (1996). Calculus and Analytic Geometry (9th edition.). Addison Wesley, http://schools-wikipedia.org/wp/t/Taylor_series.htm

Barry Wilkinson, Michael Allen, Parallel Programming, Prentice Hall PTR Upper Saddle River, New Jersey

Assoc. Prof. Dr. Mohamed Othman, WEB HPC Institut Penyelidikan Matematik, http://www.inform.upm.edu.my/INSPEM/index.jsp

http://www.sun.com/servers/midrange/sunfirev1280/specs.xml#anchor1, accessed on 8th October 2009

http://docs.sun.com/app/docs/doc/816-5165/uname-1?a=view, accessed on 8th October 2009

Order Now