The authors Guido Buzzi-Ferraris and Flavio Manenti, both at the Politecnico di Milano, Italy, talk to ChemViews about their new book.
Your book Interpolation and Regression Models for the Chemical Engineer: Solving Numerical Problems was published this spring. What inspired you to write the book?
There are two main reasons that inspired us:
- First, the need, in our opinion, of a new kind of book; a book that does not explain only the theoretical contents, but that also combines them with many examples, specific algorithms, programming code, and teaching slides. We think this is not only useful to undergraduate students studying these topics, but also to people that work on them every day and want to improve and extend their competences in an easy way.
- Second, the need to fix certain concepts that are either new or not well discussed in the current literature; from this perspective, the book gave us the opportunity to explain our point of view and to demonstrate it by means of many concrete examples.
Why is this topic so important?
This topic lies at the very foundations of all technological fields and scientific areas that involve experimentation and measurements. Anyone capable of properly correlating and interpreting data has the power to validate or reject a theory, a model or a law on the basis of opportune hypotheses and to decide what is really happening within his/her experimentations. Thus, this topic has assumed more and more relevance in economics, engineering, physics, medicine, environmental science … and everywhere there is a measurement.
It is not only relevant for practical applications, but also for the theoretical and philosophical aspects behind these contents. In fact, this topic is quite important to answer the questions on the true meaning of statistical tests and confidence limits. Estimation, the ability to assign a probability either to a model or to a theory, and whether these are true or false; these topics tends to face the philosophical problem (with practical effects) of the limits of our scientific knowledge.
The methods and examples in the book are taken from a wide range of scientific and engineering fields, including chemical and electrical engineering, physics, medicine, and environmental science. Where do you get your examples/ideas from?
Sources of the examples we mentioned are very different; we got some of them from the literature, some from our previous work, from research and industrial cooperations, but also from newspapers, television … We sometimes generate our own data sets, without saying a priori how and with what instrumentation, just for a challenge.
Do you have industry collaborations?
Our group is particularly active in applied research and industries often ask for certain algorithms belonging to BzzMath library. They need to solve specific problems and we have the opportunity to validate the general algorithms in the industrial field.
Mr. Buzzi-Ferraris, you are the inventor and the developer of the BzzMath library. How would you describe your libraries to someone who has no experience in this field?
Think of a car. If you have a car and you know how to drive it, you can move faster than without it. Moreover, it is not necessary to assemble the car whenever you need it. The same is true for a library of numerical methods: you can use the methods already implemented in the library and solve your specific problem faster. Moreover, you don’t need to implement these methods each time.
However, there is the problem of knowing how to use the car or the library.
In the case of car, it is usually not necessary to know every feature of the engine, tires, brakes … all very interesting things, but useless if you just want to go for a drive.
One of the main reasons that the BzzMath library is written in C++ (object-oriented programming) rather than in FORTRAN or C (procedural programming) is related to learning to use the library. Writing a program ex novo in C++ is more demanding than in FORTRAN or C. Conversely, if the user can exploit other programs written by expert people, such as a library, the corresponding efforts are inverted: C++ is quite easier and safer than FORTRAN or C. In C++, the library user could know nothing about what is implemented within the library. This is not possible in procedural programming which requires a continuous information exchange between the program written by the user and the library in use.
As it is fundamental, this difference is explained in the first book Fundamentals and linear algebra for the chemical engineer: Solving numerical problems.
What are the broad areas of applications of your libraries?
We are writing several books just to answer this question … Briefly, the BzzMath library covers several aspects of numerical analysis: integer algebra, linear algebra, linear systems, nonlinear systems, linear and nonlinear regressions, optimal design of experiments, interpolation, robust optimization, efficient optimization, linear programming, differential systems, differential-algebraic systems, and large systems. Since the algorithms are general, their application leaves out of consideration the area one is working in and the library could be seen as an interdisciplinary tool.
For example, it is not important who is looking for correlating a set of data, an economist, a breeder, an engineer, a baker, or a physicist since everyone has the same problem looking from the numerical library point of view: specifically in this case, the need to correlate a set of data. The library offers a family of algorithms to solve the general problem and there are no differences if the data comes from a bakery, a kiln, or a furnace to complete the example.
How did you become co-authors? How do you decide who writes what?
To be co-authors of a paper is easy. To be co-authors of a book and especially to be satisfied with the collaboration is, on a very reduced scale, similar to a successful marriage. The ingredients are very similar: it is necessary to have a high reciprocal respect for each other, to have a synergistic effect, and to be complementary. When there are these premises, decisions and choices are spontaneous.
What is the best part of writing a book?
Writing a book requires a strong effort in synthesis and analysis. The reward is, with respect to a paper, that the author of a book is free to explain all his/her knowledge on the specific topic.
Which part of the research for your book was the most interesting to you personally?
The real meaning of statistical tests and confidential limits of parameters.
You are both professors at the university, Politecnico di Milano. Is it hard to teach students numerical methods?
No, the contrary is true on the condition that the teacher involves the students in the topic. Every subject is interesting if the teacher is interested in the subject.
What excites you most about your field of research?
The fact that computers, programming languages, editing programs, and compilers continuously evolve at an incredible pace, forcing us to keep ourselves updated.
What does the International Year of Chemistry 2011 mean to you?
International Year of Chemistry? Mmm, this is the first time we’ve heard about it. Tell us more!
The International Year of Chemistry 2011 (IYC 2011) is a worldwide celebration of the achievements of chemistry and its contributions to the well-being of humankind under the unifying theme: Chemistry—our life, our future.
You may find all information collected at: ChemistryViews.org/IYC
Thank you for the interview.
Guido Buzzi-Ferraris is a full professor of process systems engineering at Politecnico di Milano, Italy, where he gives two courses: “Methods and Numerical Applications in Chemical Engineering” and “Regression Models and Statistics”. He works on numerical analysis, statistics, differential systems, and optimization. He has authored books of international relevance on numerical analysis, such as “Scientific C++” edited by Addison-Wesley, and over 200 papers in international journals. He is the inventor and the developer of BzzMath library, which is currently adopted by academies, R&D groups, and industries. He has been a permanent member of the “EFCE Working Party – Computer Aided Process Engineering” since 1969 and on the editorial advisory board of “Computers & Chemical Engineering” since 1987.
Flavio Manenti is an assistant professor of process systems engineering at Politecnico di Milano, Italy. He obtained his academic degree and PhD at Politecnico di Milano, where he currently collaborates with Professor Buzzi-Ferraris. He holds courses on “Process Dynamics and Control of Industrial Processes” and “Supply Chain Optimization” and he works on numerical analysis, process control and optimization. He has also received international scientific awards, such as Memorial Burianec (Prague, CZ) and Excellence in Simulation (Lake Forest, CA, USA), for his research activities and scientific publications.
Guido Buzzi-Ferraris, Flavio Manenti
Guido Buzzi-Ferraris, Flavio Manenti