@string{SIREV="SIAM Rev."}
@string{SISC="SIAM J. Sci. Comput."}
@string{NLAA="Numer. Linear Algebra Appl."}
@string{COMPUTING="Computing"}
@string{COMPVIS="Comput. Vis. Sci."}
%@string{TOMS="ACM Transactions on Mathematical Software"}
@string{TOMS="ACM Trans. Math. Softw."}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% http://trilinos.sandia.gov/citing.html

@TechReport{Sand98-0730,
  author=       {Tamara K. Locke},
  title=        {Guide to Preparing {SAND} Reports},
  institution=  {Sandia National Laboratories},
  year=         {1998},
  month=	may,
  type=         {Technical report},
  number=       {SAND98-0730},
  address=	{Albuquerque, New Mexico 87185 and Livermore, California 94550},
}

@techreport{Trilinos-Overview,
title = "{An Overview of {T}rilinos}",
author = "Michael Heroux and Roscoe Bartlett and Vicki Howle Robert Hoekstra and Jonathan Hu and Tamara Kolda and Richard Lehoucq and Kevin Long and Roger Pawlowski and Eric Phipps and Andrew Salinger and Heidi Thornquist and Ray Tuminaro and James Willenbring and Alan Williams ",
institution = "Sandia National Laboratories",
number = "SAND2003-2927",
year = 2003}

@techreport{Trilinos-Dev-Guide,
title = "{Trilinos Developers Guide}",
author = "Michael A. Heroux and James M. Willenbring and Robert Heaphy", institution = "Sandia National Laboratories",
number = "SAND2003-1898",
year = 2003}

 @techreport{Trilinos-Dev-Guide-II,
title = "{Trilinos Developers Guide Part II: ASCI Software Quality Engineering Practices Version 1.0}",
author = "Michael A. Heroux and James M. Willenbring and Robert Heaphy",
institution = "Sandia National Laboratories",
number = "SAND2003-1899",
year = 2003}

@techreport{Trilinos-Users-Guide,
title = "{Trilinos Users Guide}",
author = "Michael A. Heroux and James M. Willenbring",
institution = "Sandia National Laboratories",
number = "SAND2003-2952",
year = 2003}

@article{1089021,
author = {Michael A. Heroux and Roscoe A. Bartlett and Vicki E. Howle and Robert J. Hoekstra and Jonathan J. Hu and Tamara G. Kolda and Richard B. Lehoucq and Kevin R. Long and Roger P. Pawlowski and Eric T. Phipps and Andrew G. Salinger and Heidi K. Thornquist and Ray S. Tuminaro and James M. Willenbring and Alan Williams and Kendall S. Stanley},
title = {An overview of the {T}rilinos project},
journal = TOMS,
volume = {31},
number = {3},
year = {2005},
issn = {0098-3500},
pages = {397--423},
doi = {http://doi.acm.org/10.1145/1089014.1089021},
publisher = {ACM Press},
address = {New York, NY, USA},
abstract = "The Trilinos Project is an effort to facilitate the design, development, integration and ongoing support of mathematical software libraries within an object-oriented framework for the solution of large-scale, complex multi-physics engineering and scienti c problems. Trilinos addresses two fundamental issues of developing software for these problems: (i) Providing a streamlined process and set of tools for development of new algorithmic implementations and (ii) promoting interoperability of independently developed software.
\par Trilinos uses a two-level software structure designed around collections of packages. A Trilinos package is an integral unit usually developed by a small team of experts in a particular algorithms area such as algebraic preconditioners, nonlinear solvers, etc. Packages exist underneath the Trilinos top level, which provides a common look-and-feel, including configuration, documentation, licensing, and bug-tracking.
\par Here we present the overall Trilinos design, describing our use of abstract interfaces and default concrete implementations. We discuss the services that Trilinos provides to a prospective package and how these services are used by various packages. We also illustrate how packages can be combined to rapidly develop new algorithms. Finally, we discuss how Trilinos facilitates highquality software engineering practices that are increasingly required from simulation software."}

@techreport{Trilinos-Tutorial,
title = "{Trilinos Tutorial}",
author = "Marzio Sala and Michael A. Heroux and David M. Day",
institution = "Sandia National Laboratories",
number = "SAND2004-2189",
year = 2004}

% more Trilinos REF:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% replaced by 1089021 in http://trilinos.sandia.gov/citing.html
% article{TrilinosOverview,
%  author = {Michael A. Heroux and Roscoe A. Bartlett and Vicki E. Howle and Robert J. Hoekstra and Jonathan J. Hu
%  and Tamara G. Kolda and Richard B. Lehoucq and Kevin R. Long and Roger P. Pawlowski and Eric T. Phipps and Andrew
%  G. Salinger and Heidi K. Thornquist and Ray S. Tuminaro and James M. Willenbring and Alan Williams and Kendall S.
%  Stanley},
%  title = {An overview of the {T}rilinos project},
%  journal = TOMS,
%  volume = {31},
%  number = {3},
%  year = {2005},
%  issn = {0098-3500},
%  pages = {397--423},
%  note = {\url{http://dx.doi.org/10.1145/1089014.1089021}},
%  publisher = {ACM Press},
%  address = {New York, NY, USA},
% }

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Teuchos

@techreport{Ba2007,
  author = {Roscoe Bartlett},
  title = {{T}euchos::{RCP} Beginner's Guide (An Introduction to the {T}rilinos Smart Reference-Counted Pointer Class for
(Almost) Automatic Dynamic Memory Management in {C}++)},
  number = {2004-3268},
  institution = {Sandia National Laboratories},
  year = {2007},
  note = {\url{http://trilinos.sandia.gov/RefCountPtrBeginnersGuideSAND.pdf}},
}

@techreport{Ba2010,
  author = {Roscoe Bartlett},
  title = {Teuchos {C}++ Memory Management Classes, Idioms, and Related Topics: The Complete Reference},
  month = {June},
  year = {2010},
  number = {2010-2234},
  institution= {Sandia National Laboratories},
  note = {\url{http://www.cs.sandia.gov/~rabartl/TeuchosMemoryManagementSAND.pdf}},
}

% TODO: Add Kurtis
@Unpublished{TeuchosHomePage,
   author = {Heroux, M. A. and Baker, C. G. and Bartlett, R. A. and Kampschoff, K. and Long, K. R. and Sexton, P. M. and Thornquist, H. K.},
   title = {Teuchos: The {T}rilinos tools library},
   note = {\url{http://trilinos.sandia.gov/trilinos/packages/teuchos/}},
}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% C++ / Design

@misc{Cl2010,
  author = {Marshall Cline},
  title = {C++ {FAQ} -- Frequently Asked Questions},
  howpublished= {\url{http://www.parashift.com/c++-faq-lite}},
  year = {2010},
}

@misc{doxygen,
    title={Doxygen project},
    author={Dimitri van Heesch},
    note={\url{http://www.stack.nl/~dimitri/doxygen}},
}

%%% Meyers, N. C. 1995. Traits: A new and useful template technique. C++ Rep. 7, 32--35. 
@inbook{Myers:1996:NUT:260627.260747,
 author = {Myers, Nathan},
 title = {A new and useful template technique: "traits"},
 book = {C++ gems},
 year = {1996},
 isbn = {1-884842-37-2},
 pages = {451--457},
 numpages = {7},
 url = {http://portal.acm.org/citation.cfm?id=260627.260747},
 acmid = {260747},
 publisher = {SIGS Publications, Inc.},
 address = {New York, NY, USA},
} 


@book{gamma1995design,
title={Design patterns: elements of reusable object-oriented software},
author={Gamma, E. and Helm, R. and Johnson, R. and Vlissides, J.},
volume={206},
year={1995},
publisher={Addison-wesley Reading, MA}
}

See Shalloway02-DPExplained,
% book{group:312:Shalloway02-DPExplained,
%    author = {Shalloway, Alan and Trott, James R.},
%    publisher = {Addison-Wesley Professional},
%    title = {{Design Patterns Explained: A New Perspective on Object-Oriented Design}},
%    year = {2001}
%}

@BOOK{Shalloway02-DPExplained,
  author = {Alan Shalloway and James R. Trott},
  month = {Septembre},
  year = 2001,
  title = {Design Patterns Explained: A New Perspective on Object-Oriented
          Design},
  edition = {1$^{st}$},
  publisher = {Addison-Wesley Professional},
  kind = {LEDL},
  isbn = {0-201-71594-5},
  abstract = {Design Patterns Explained: A New Perspective on Object-Oriented
             Design draws together the principles of object-oriented
             programming with the power of design patterns to create an
             environment for robust and reliable software development. Packed
             with practical and applicable examples, this book teaches you to
             solve common programming problems with patterns--and explains the
             advantages of patterns for modern software design. Beginning with
             a complete overview of the fundamentals of patterns, Design
             Patterns Explained stresses the importance of analysis and
             design. The authors clearly demonstrate how patterns can
             facilitate the overall development process. Throughout the book,
             key object-oriented design principles are explained, along with
             the concepts and benefits behind specific patterns. With
             illustrative examples in C++ and Java, the book demystifies the
             ``whys," ``why nots," and ``hows" of patterns and explains
             pattern implementation.},
  relevance = 100,
  relevantfor = {Beauty},
  url = {
        www.awprofessional.com/isapi/product\_id$\sim$\%7B43B2E15C-6B43-4914- 96DC-1564616E6B6F\%7D/catalog/product.asp}
}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% ML

@TechReport{ml-guide,
  author      =  {M.W. Gee and C.M. Siefert and J.J. Hu and R.S. Tuminaro and M.G. Sala},
  title       =  {{ML} 5.0 Smoothed Aggregation User's Guide},
  institution =  {Sandia National Laboratories},
  year        =  {2006},
  number      =  {SAND2006-2649},
}


@article{Sala:2006:OFD:1163641.1163643,
 author = {Sala, Marzio},
 title = {An object-oriented framework for the development of scalable parallel multilevel preconditioners},
 journal = TOMS,
 volume = {32},
 issue = {3},
 month = {September},
 year = {2006},
 issn = {0098-3500},
 pages = {396--416},
 numpages = {21},
 url = {http://doi.acm.org/10.1145/1163641.1163643},
 doi = {http://doi.acm.org/10.1145/1163641.1163643},
 acmid = {1163643},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {Multilevel preconditioners, object-oriented},
} 

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Amesos

@article{amesos,
  title={On the design of interfaces to sparse direct solvers},
  author={Sala, M. and Stanley, K.S. and Heroux, M.A.},
  journal=TOMS,
  volume={34},
  number={2},
  pages={9},
  year={2008},
  publisher={ACM}
}

@inproceedings{amesos:para06,
  title = "Amesos: A Set of General Interfaces to Sparse Direct Solver Libraries",
  author = "M. Sala and K. Stanley and M. Heroux",
  booktitle = "Proceedings of PARA'06 Conference, Umea, Sweden",
  year = 2006
}

%TODO: Amesos homepage
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Anasazi

@article{Baker:2009:ASN:1527286.1527287,
 author = {Baker, C. G. and Hetmaniuk, U. L. and Lehoucq, R. B. and Thornquist, H. K.},
 title = {Anasazi software for the numerical solution of large-scale eigenvalue problems},
 journal = TOMS,
 volume = {36},
 issue = {3},
 month = {July},
 year = {2009},
 issn = {0098-3500},
 pages = {13:1--13:23},
 articleno = {13},
 numpages = {23},
 url = {http://doi.acm.org/10.1145/1527286.1527287},
 doi = {http://doi.acm.org/10.1145/1527286.1527287},
 acmid = {1527287},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {Eigenvalue problems, generic programming, large-scale scientific computing, numerical algorithms, object-oriented programming},
} 

@Unpublished{AnasaziHomePage,
   author = {Baker, C. G. and Hetmaniuk, U. L. and Lehoucq, R. B. and Thornquist, H. K.},
   title = {{Anasazi} Block eigensolver package documentation},
   note = {\url{http://trilinos.sandia.gov/trilinos/packages/anasazi/}},
}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Zoltan

@Article{ZoltanOverviewArticle,
   author = {Karen Devine and Erik Boman and Robert Heaphy and Bruce Hendrickson and Courtenay Vaughan},
   title = {{Zoltan} Data Management Services for Parallel Dynamic Applications},
   journal = {Computing in Science and Engineering},
   year = {2002},
   volume = {4},
   number = {2},
   pages = {90--97}
}

@Unpublished{ZoltanHomePage,
   author = {Erik Boman and Karen Devine and Lee Ann Fisk and Robert Heaphy and Bruce Hendrickson and Vitus Leung and Courtenay Vaughan and Umit Catalyurek and Doruk Bozdag and William Mitchell},
   title = {{Zoltan} home page},
   note = {\url{http://www.cs.sandia.gov/Zoltan}},
   year = {1999}}
}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Epetra

@Unpublished{EpetraHomePage,
   author = {Heroux, M. and Hoekstra, R. and Sexton, P. and Spotz, B. and Willenbring, J. and Williams, A.},
   title = {Epetra: Linear algebra services package},
   note = {\url{http://trilinos.sandia.gov/trilinos/packages/epetra/}},
   year = {1999}}
}

@Unpublished{EpetraExtHomePage,
   author = {Heroux, M.},
   title = {{E}petra{E}xt: Linear algebra services package},
   note = {\url{http://trilinos.sandia.gov/trilinos/packages/epetraext/}},
   year = {2001}}
}

@Unpublished{TpetraHomePage,
   author = {Heroux, M. and Baker, C. and Williams, A.},
   title = {Tpetra: Next-generation Templated {P}etra},
   note = {\url{http://trilinos.sandia.gov/trilinos/packages/tpetra}},
}

@Unpublished{KokkosHomePage,
   author = {Heroux, M. and Baker, C.},
   title = {Kokkos: Core Kernels Package},
   note = {\url{http://trilinos.sandia.gov/trilinos/packages/kokkos}},
}


