Java Computer Animation for Effective Learning of the Cholesky Algorithm with Transportation Engineering Applications

In this paper, the well-known Cholesky Algorithm (for solving simultaneous linear equations, or SLE) is re-visited, with the ultimate goal of developing a simple, userfriendly, attractive, and useful Java Visualization and Animation Graphical User Interface (GUI) software as an additional teaching tool for students to learn the Cholesky factorization in a step-by-step fashion with computer voice and animation. A demo video of the Cholesky Decomposition (or factorization) animation and result can be viewed online from the website: http://www.lions.odu.edu/~imako001/cholesky/demo/index.html. The software tool developed from this work can be used for both students and their instructors not only to master this technical subject, but also to provide a dynamic/valuable tool for obtaining the solutions for homework assignments, class examinations, self-assessment studies, and other coursework related activities. Various transportation engineering applications of SLE are cited. Engineering educators who have adopted “flipped class-room instruction” can also utilize this Java Visualization and Animation software for students to “self-learning” these algorithms at their own time (and at their preferable locations), and use valuable class-meeting time for more challenging (real-life) problems’ discussions. Statistical data for comparisons of students’ performance with and without using the developed Java computer animation are also included.


Introduction
The Cholesky Decomposition (Factorization) Algorithm was presented by Andre Louis Cholesky in an unknown and unpublished 8-page manuscript on December 2, 1910 entitled: On the numerical solutions of systems of linear equations.The method was unknown outside the French circle of topographers until another French officer published a paper explaining the method in 1924.It wasn't until 1950 when the Cholesky Decomposition Method was widely known after John Todd's lectures, several colleagues and students of him undertook the study of the Cholesky method.Today, the Cholesky Decomposition Method is widely known [1] [2] and is used to solve systems of Symmetric Positive Definite (SPD) simultaneous linear equations (SLE).
Engineering and science applications of SLE have been extensively documented in the literatures [3]- [6].Cholesky method for solving SLE has been installed in all major commercialized Finite Element Analysis (FEA) software for the analysis and optimal design of Civil/Structural, Mechanical, Aerospace, Electrical engineering systems.Cholesky algorithm has also been considered as a major building block in the revised (matrix) SIMPLEX algorithm for solving Linear Programming (LP) problems [3].The wellknown shortest path (SP) problems [7] in transportation engineering communities can also be formulated/solved as a LP problem, although more efficient algorithms such as the Dijkstra, Label Correction, A*, Shortest Distance Decomposition Algorithms (SDDA) [8] have often be employed to solve such SP problems.
Least square regression models, and SLE has been discussed in Himes-Donnell's published work in "Speed Prediction Models for Multilane Highways: Simultaneous Equations Approach" [9].Adu and his colleagues have considered "Applications of SLE to Traffic Flow for a Network of Four One-Way Streets in Kumasi, Ghana" [10].SLE has also been applied in Li's research work in [11].Intelligent transportation system (ITS) has often collected real-time (big) data from various sources.Thus, data compression, data recovery techniques (where SLE plays a central role) are critically important for ITS applications [12].
The best way to understand the Cholesky method is to see it working in practice by performing and solving small examples by hand and working through the algebra [13].
Various teaching philosophies have been proposed, tested and documented by the educational research communities, such as video lectures (YouTube), "flipped" class lectures (where students are encouraged to read the lecture materials at their own time at homes, and problem solving and/or questions/answers sessions are conducted in the usual classroom environments), US Science Technology Engineering Mathematics (STEM) summer camps, game-based-learning (GBL) [14]- [16], virtual laboratories [17] and concept inventory [18].
With the steady decline in US STEM interests and enrollments, the National Science Foundation (NSF) and the White House have developed national strategies and provided the significant budget to STEM education research [15] [16] in the past years, with the ultimate goals to improve both the quality and number of highly trained US educators, student workforce in STEM topics, in today highly competitive global mar-  kets.With the explosions of internet's capability and availability, it is even more critical to effectively train this future USA-STEM work-force and/or to develop effective STEM related teaching tools to reach a maximum possible number of "distance learners/audiences".
The final product from this work provides experimental results that show that this developed software/tool helps both the students and their instructor to not only master this technical subject, but also provide a valuable tool for obtaining the solutions for homework assignments, class examinations, self-assessment tools, etc.The developed "educational version" of a Java Visualization and Animation software tool provides several desirable features, such as:  A detailed, precise and clear step-by-step algorithm will be displayed in text and human voice during the animation of the algorithm. Options to hear animated voice in 2 major languages (English and Spanish).
 Options to input/output terminal container yard layouts (CVS file), or manually edit the layouts using an editor, or "randomly generating" layouts. Output of the "final" results can be exported to text, so that the users/learners can check/verify their "hand-calculated" results, which is an important part of the learning process.
In this paper, a simple Cholesky decomposition example is thoroughly explained along with the derived formulas.The focuses are then shifted toward a Java Visualization and Animation software tool that provides step-by-step instructions for learning/teaching the Cholesky decomposition method.This Java Visualization and Animation software tool was used in an Old Dominion University (ODU) 300-Level Civil and Environmental Engineering (CEE) Computation course (CEE 305) in the Fall' 2014 semester.Lecture materials on how to solve system of SPD SLEs along with the Javabased software was handed out, and briefly discussed to the students as a self-study take-home assignment.Students were given an in-class exam on the Cholesky method.
The goal was to determine if the Java-based (self-learning) software would improve or worsen the student's exam performance compared to the traditional face-to-face instructor's classroom lecture.The experiment results from this case-study are captured and explained in details in Section 4.

Summary of Cholesky's Decomposition Method
Solving large (and sparse) system of simultaneous linear equations (SLE) has been (and continue to be) a major challenging problem for many real-world engineering/science applications [5] [6].In matrix notation, the SLE can be represented as: where [A] = known coefficient matrix, with dimension N × N {b} = known right-hand-side (RHS) N × 1 vector {x} = unknown N × 1 vector.
where [U] is a N × N upper triangular matrix.
The following simple example will illustrate how to find the matrix [U].
Various terms of the factorized matrix [U] can be computed/derived as following (see Equation ( 2)): Multiplying 2 matrices on the right-hand-side (RHS) of Equation ( 3 ; ; In general, for a N × N matrix, the diagonal and off-diagonal terms of the factorized matrix [ ] U can be computed from the following formulas: ( ) As a quick example, one computes: Thus, for computing ( ) , one only needs to use the (already factorized) data in columns # i(=5), and # j(=7) of [U], respectively.
Then, Equation (9) becomes: Since [ ] T U is a lower triangular matrix, Equation ( 11) can be efficiently solved for the intermediate unknown vector { } y , according to the order , hence the name "forward solution".
As a quick example, one has: In general, one has Step 3: Backward Solution phase Since [ ] U is an upper triangular matrix, Equation (10) can be efficiently solved for the original unknown vector { } x , according to the order , hence the name "backward solution".
As a quick example, one has: In general, one has: Note: Amongst the above 3-step Cholesky algorithms, factorization phase in step 1 consumes about 95% of the total SLE solution time.

Java Computer Animated Software Tool for Teaching the Cholesky Algorithm
The developed software is written in Java

Experimental Results
Civil and Environmental Engineering (CEE) Computation course (CEE 305) has been offered in every Fall semester.In the Fall-2013 semester, the Cholesky method was explained in the traditional (face-to-face) class-room instruction format.However, in the Fall-2014 semester, lecture materials on how to solve system of SPD SLEs along with the Java-based software was handed out to the students (with minimum instructor's lecture time) as a "self-study" take-home assignment.In both semesters (Fall' 2013, and Fall' 2014) students were given an in-class exam on the Cholesky method.
The goal was to determine if the Java-based software would improve or worsen the students' exam performance as compared to the traditional (face-to-face) instructor's classroom lecture.The resulting data was collected by the same professor that taught the same course using the normal (face-to-face) class-room instruction and using this new Java software tool.The results are explained below.

Conclusions
In this paper, the Cholesky Method is once again revisited to show a new and different approach for teaching/learning the Cholesky decomposition algorithm, for solving the Simultaneous Linear Equations (SLE).Various transportation engineering applications of SLE have also been highlighted. .minimum instructor's lecture time], using the developed JAVA animated teaching tool) were 70.58% and 81.53%, respectively.Thus, an improvement of more than 10% has been observed!The software tool is developed in Java language and integrated with open-source libraries.It provides a means to be platform independent and can be run on several operation systems.It provides desirable teaching/learning features for the Cholesky algorithm, such as:  Software tool with a user friendly GUI.
 2D Graphical visualization and animation for displaying data update.A demo video of the Cholesky Decomposition Method's animation and result can be viewed online from any web browser using the website provided in Reference [1].

.
[19]-[21] and is meant to create 2D animations and provide voice step-by-step explanations for the Cholesky Algorithm.The software is developed from scratch using several open-source software.The software uses various third-party libraries, such as Java Swing library for the animations, the text-to-speech library (Google API Translate) for voice, and the matrix library (Efficient Java Matrix) for data storage.Applying open-source libraries to this software allowed lots of Graphical User Interface (GUI) functionality and features to be developed.The software GUI is developed with JFC/Swing which is included within the Java Development Kit (JDK).The Main GUI consists of seven main components as shown in Figure1.
The developed Java computer animated software has shown that it can be used as an additional/effective tool for teaching and learning the Cholesky method.The students' average scores from in-class exams in the Fall'2013 (traditional face-to-face class lecture instruction mode, without using the developed JAVA animated teaching tool), and in the Fall'2014 (students' self-learning mode [with Student Percentage Scores (Fall 2013: without using the developed JAVA teaching tool; students' exam average score= 70Student Percentage Scores (Fall 2014: using the developed JAVA teaching tool; students' exam average score= 81.53%) .Scientific Research Publishi ng


2D Graphical visualization to edit input data. Ability to allow the user/learner to open/save the data for later use. Ability to allow the user/learner to output/save the step-by-step results. Provide a clearly and attractive computer animated voice that provides step-by-step instructions of the algorithms. Animated voice can be configurable to translate text-to-speech into another language, such as English, Spanish and Chinese. Provide the final and intermediate results of the Cholesky solution process.