Abstract
We present the development of a software system for Newton-type methods via the identification and application of software design patterns. We measured the quality of our developed system and found that it is flexible, easy to use and extend due to the application of design patterns. Our newly developed system is flexible enough to be used by the numerical analyst interested in the creation of new Newton-type methods, or the engineer that applies different Newton–type strategies in his software solutions.
Access provided by CONRICYT-eBooks. Download to read the full chapter text
Chapter PDF
Similar content being viewed by others
References
L.T. Watson, S.C. Billups and A.P. Morgan, Algorithm 652: hom-pack: a suite of codes for globally convergent homotopy algorithm, ACM Trans. Math. Soft., vol. 13, no. 3, pp. 281-310 (1987).
A. Bouaricha and R.B. Shnabel, Algorithm 768: tensolve: a software package for solving systems of nonlinear equations and nonlinear least-square problems using tensor methods, ACM Trans. Math. Soft., vol. 23, no. 2, pp. 174-195 (1997).
M. Pernice and H. F. Walker, Nitsol: a Newton iterative solver for nonlinear systems, SIAM J. Sci. Comp., vol. 19, no. 1, p. 302 (1998).
J. Meza, R. Oliva, P. Hough and P. Williams, Opt++: an object-oriented toolkit for nonlinear optimization, ACM Trans. Math. Soft., vol. 33, no. 2, pp. 12-27 (2007).
L. Deng, W. Gouveia and J. Scales, The cwp object-oriented optimization library, Center for Wave Phenomena, Technical report (1994).
S. Balay, W. Gropp, L. McInnes and B. Smith, Petsc 2.0 users manual, Argonne National Laboratory, Technical report (1995).
A. Shalloway and J. Trott, Design Patterns Explained: A New Perspective on Object-Oriented Design (2Nd Edition) (Software Patterns Series). Addison-Wesley (2002).
C. Blilie, Patterns in scientific software: an introduction, Compt. Sci. Eng., vol. 4. no. 3, pp. 48-53, 2002.
G. Rodríguez-Gómez, J. Muños-Arteaga and B. Fernández, Scientific software design through scientific computing patterns, in Fourth IASTED International Conference, Hawai, USA, 2004.
T. Cickovski, T. Matthey and J. Izaguirre, Design patterns for generic object-oriented scientific software, Department of Computer Science and Engineering, University of Notre Dame, Technical report, TR05-12 (2005).
V. K. Decyk and H. J. Gardner, Object-oriented design patterns in Fortran 90/95, Comput. Phys. Commun., vol. 178, no. 8, pp. 611-620 (2008).
J. Pérez-Sansalvador, G. Rodríguez-Gómez and S. Pomares-Hernández, Pattern object-oriented architecture for multirate integration methods. In CONIELECOMP, Puebla, Mexico, 2011, pp., 158-163.
D. Rouson, J. Xia and X. Xu, Scientific Software Design, 1st. New York, USA: Cambridge University Press, 2011.
R. Martin, Agile software development: principles, patterns, and practices. NJ, USA: Prentice Hall (2003).
C. Kelley, Iterative methods for optimization, Philadelphia, USA: SIAM (1999).
J. Coplien, D. Hoffman and D. Weiss, Commonality and variability in software engineering, IEEE Software, vol. 15, no. 6, pp. 37-45 (1998).
E. Gamma, R. Helm, R. Johnson and J. Vlissides, Design patterns: elements of reusable object-oriented software. Massachusetts, USA: Addison-Wesley, Massachusetts (1995).
J. Dennis and R. Schnabel, Numerical methods for unconstrained optimization and nonlinear equations, Philadelphia, USA: SIAM (1996).
J. Nocedal and S. Wright, Numerical optimization, 2nd. Springer-Verlag (2006).
R. S. Barrera, Arquitectura de Software Flexible y Genérica para Métodos del tipo Newton, Master’s thesis, Instituto Nacional de Astrofísica, Óptica y Electrónica, Mexico (2011).
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2017 Springer International Publishing AG
About this paper
Cite this paper
Barrera, R.S., Gómez, G.R., Hernández, S.E.P., Sansalvador, J.C.P., Pulido, L.F. (2017). Using Design Patterns to Solve Newton--type Methods. In: Mejia, J., Muñoz, M., Rocha, Á., San Feliu, T., Peña, A. (eds) Trends and Applications in Software Engineering. CIMPS 2016. Advances in Intelligent Systems and Computing, vol 537. Springer, Cham. https://doi.org/10.1007/978-3-319-48523-2_10
Download citation
DOI: https://doi.org/10.1007/978-3-319-48523-2_10
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-48522-5
Online ISBN: 978-3-319-48523-2
eBook Packages: EngineeringEngineering (R0)