I want to know how to normalize the data and use these diagrams to identify the rock name based on the IUGS specification. I then am tasked to write a program that will do this automatically meaning that I have to come up with some semi-mathematically-based process to identify these rocks. Any ideas?
The QAPF and related diagrams are intended for classification of rocks in the field, or preliminary classification with modal proportions as seen in the optical microscope. They are not designed with the chemical composition of the rocks in the mind. Furthermore, these diagrams are merely descriptive and not genetic. They do not take into account many factors affecting the various characteristics of the rocks. While doing something like this may be interesting for homework exercise, it is not something I would expect to see in a recent research article.
If you want to do it anyway
Your solution should consist of two steps.
Finding what is the norm of the rock. A norm is an estimation of the ideal mineralogy of an igneous rock, based on the chemical composition of the rock. The most common norm calculation method is the CIPW norm, but there are other methods as well. For starters you should do fine with the norm. Instructions on how to calculate the CIPW norm are available in your favourite petrology textbook, here, or here. I've also seen some algorithms that do it for you, but their success varies on the silica undersaturated side of the rock spectrum.
Now that you have the norm, add together anorthite and albite to count how much plagioclase you have. You are also given the rest of the minerals. Now all you need to do is use the normalised relative proportions of each triplet of minerals to place them on the diagram. Here's a refresher on that.