{"id":105,"date":"2023-04-13T14:23:22","date_gmt":"2023-04-13T14:23:22","guid":{"rendered":"https:\/\/nag.com\/?page_id=105"},"modified":"2024-11-15T11:32:35","modified_gmt":"2024-11-15T11:32:35","slug":"nag-library","status":"publish","type":"page","link":"https:\/\/nag.com\/nag-library\/","title":{"rendered":"<span class=\"nag-n-override\" style=\"margin-left: 0 !important;\"><i>n<\/i><\/span>AG Library"},"content":{"rendered":"\n<div class=\"gbc-banner--gradient df align-items--center-lg align-items--end\" style='background-color: #00253D; '>\n\n    <img loading=\"lazy\" decoding=\"async\" width=\"1485\" height=\"760\" src=\"https:\/\/nag.com\/wp-content\/uploads\/2023\/11\/Nag-Library-Header.jpg\" class=\"bg-media half half-right\" alt=\"\" autoplay=\"1\" muted=\"1\" playsinline=\"1\" loop=\"1\" style=\"object-position: % %;\" \/>\n    <div class=\"fake-gradient vertical dn db-lg\" style=\"background: linear-gradient(90deg, #00253D, transparent);\"><\/div>\n\n    <div class=\"fake-gradient horizontal db dn-lg\" style=\"background: linear-gradient(0deg,  #00253D, transparent);\"><\/div>\n\n\n\n    <div class=\"container pb-2 pb-lg-0\">\n        <div class=\"row\">\n            <div class=\"col-12 col-lg-6\" style=\"color: #fff;\">\n                <div class=\"mb-2\"><h1><span style=\"color: #b7d0eb;\"><span class=\"nag-n-override\" style=\"margin-left: 0 !important;\"><i>n<\/i><\/span>AG Library<\/span><\/h1>\n<\/div>\n                <div class=\"mb-3\"><p class=\"para-lg\">Helping to solve the most complex numerical challenges across industries.<\/p>\n<\/div>\n\n                <a href='https:\/\/nag.com\/contact-us\/' style='background-color: #00000000; border: 2px solid #B7D0EB; border-radius: 30px; font-weight: 600; ' class='btn mr-1 outline ' >Contact our experts <i class='fas fa-angle-right'><\/i><\/a>\n            <\/div>\n            <div class=\"col-12 col-lg-6\">\n\n                            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n\n<div class=\"gbc-title-banner tac ta-lg ta-xl\" style='border-radius: 0px; '>\n    <div class=\"container\" style='border-radius: 0px; '>\n        <div class=\"row justify-content--center\" >\n            <div class=\"col-12\"  >\n                <div class=\"wrap pv-4 \" style=\"0pxbackground-color: \">\n                                <div class=\"col-12 col-md-10 col-lg-9 col-xl-6  banner-content\"  >\n    \n                                             <h2><span style=\"color: #92a6bc;\">World Renowned, Expertly Supported<\/span><\/h2>\n                    \n                    <div class=\"mt-1 mb-1 content\"><p class=\"p1\">The world\u2019s biggest commercially available library of robust, documented, and tested numerical and statistical algorithms. The <span class=\"nag-n-override\" style=\"margin-left: 0 !important;\"><i>n<\/i><\/span>AG Library is backed by world-class technical support and is continuously updated and maintained.<\/p>\n<p class=\"p1\"><span class=\"nag-n-override\" style=\"margin-left: 0 !important;\"><i>n<\/i><\/span>AG Library is inherently flexible with all routines in one place. It delivers maximum productivity by allowing for easy transitions between languages, simple transfer from prototypes to production, and much more.<\/p>\n<\/div>\n\n                    \n                    <a href='https:\/\/nag.com\/buy-now\/' style='background-color: #ffffffff; border: 2px solid #92a6bcff; border-radius: 30px; font-weight: 600; ' class='btn mr-1 outline ' >Buy now <i class='fas fa-angle-right'><\/i><\/a><a href='https:\/\/support.nag.com\/numeric\/nl\/' style='background-color: #ffffffff; font-weight: 600; ' class='btn mr-1  ' >Documentation <i class='fas fa-angle-right'><\/i><\/a>                <\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n\n\n<div class=\"content-image-split pv-4  ph-1 \" style=\"background-color: ;\" >\n    <div class=\"container\">\n        <div class=\"row ph-1\">\n            <div class=\"col-12  card-rounded\" >\n\n                <div class=\"row fdir-cr fdir-r-lg \">\n                    <div class=\"content-side df pv-3 ph-1 ph-lg-5 ph-xl-8 c-primary--white col-12 col-lg-6\" style=\"\n                    background-color: ;\n                    color: #000000;\n                    align-items: center; \">\n\n                        <div>\n                                                        <p class=\"para-lg\"><span style=\"color: #92a6bc;\"><span class=\"nag-n-override\" style=\"margin-left: 0 !important;\"><i>n<\/i><\/span>AG Library<\/span><\/p>\n<h2><span style=\"color: #082d48;\">Rigorously Tested, Inherently Flexible<\/span><\/h2>\n<p>\u00a0<\/p>\n<p class=\"p1\"><span class=\"nag-n-override\" style=\"margin-left: 0 !important;\"><i>n<\/i><\/span>AG Library is a collection of 1600+ numerical and statistical algorithms callable from many computer programming languages and environments. It is component based to provide the building blocks to solve thousands of complex numerical problems.<\/p>\n<p>\u00a0<\/p>\n<p class=\"p1\">Available for multiple languages and environments including C and C++, Python, Java, .NET, and Fortran.<\/p>\n<p>\u00a0<\/p>\n<p class=\"p1\"><span class=\"nag-n-override\" style=\"margin-left: 0 !important;\"><i>n<\/i><\/span>AG Library algorithms cover:\u202f<\/p>\n<ul>\n<li>Mathematical Optimization\u00a0<\/li>\n<li>Statistics and Machine Learning\u00a0<\/li>\n<li>Special Functions\u00a0\u00a0<\/li>\n<li>Linear Algebra\u00a0<\/li>\n<li>PDEs\u00a0<\/li>\n<li>Interpolation\u00a0<\/li>\n<li>Curve &amp; Surface Fitting\u00a0<\/li>\n<li>Numerical Integration\u00a0\u00a0<\/li>\n<\/ul>\n                                                    <\/div>\n\n                    <\/div>\n                    <div class=\"img-side small-image-holder col-12 col-lg-6 ph-0 df\" style=\"align-items: center; background-color: ;  color: #000000; \">\n                        <img loading=\"lazy\" decoding=\"async\" width=\"1110\" height=\"1220\" src=\"https:\/\/nag.com\/wp-content\/uploads\/2023\/04\/iStock-1147065676.jpg\" class=\"card-rounded bg-media contain-lg\" alt=\"\" style=\"object-position: % %;\" \/>\n                        <div class=\"wrap \">\n                                                    <\/div>\n\n                    <\/div>\n                <\/div>\n\n\n            <\/div>\n\n        <\/div>\n    <\/div>\n<\/div>\n\n\n<div class=\"content-image-split  pv-2\" >\n    <div class=\"container\">\n\n        <div class=\"row mh-0 card-rounded\" style=\"background-color: ; background: linear-gradient(45deg, #00253dff, #82b0e1ff);\">\n        <img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"195\" src=\"https:\/\/nag.com\/wp-content\/uploads\/2023\/04\/Group-21477-1024x195.png\" class=\"bg-media\" alt=\"\" \/>\n                <div class=\"col-12 col-xl-6 order-2 order-xl-1  bg-secondary content-secondary para content-area-default\" >\n            \n            <div class=\"wrap pv-2 ph-1 ph-lg-4\">\n                <h2><span style=\"color: #ffffff;\">Talk to an Algorithm Expert <br \/><\/span><\/h2>\n                                <div class=\"mt-half\"><\/div><a href='https:\/\/nag.com\/contact-us\/' style='background-color: #B7D0EB; color: #000000; border-radius: 30px; font-weight: 600; ' class='btn mr-1  ' >Talk to us <i class='fas fa-angle-right'><\/i><\/a>            <\/div>\n\n\n        <\/div>\n\n             \n        <\/div>\n    <\/div>\n<\/div>\n\n\n\n<!-- Spacer -->\n<div class=\"pt-4 pt-lg-6 pt-xl-6\" ><\/div>\n\n\n<div class=\"gbc-title-banner ta ta-lg ta-xl\" style='border-radius: 0px; '>\n    <div class=\"container\" style='border-radius: 0px; '>\n        <div class=\"row justify-content--center\" >\n            <div class=\"col-12\"  >\n                <div class=\"wrap pv-0 \" style=\"0pxbackground-color: \">\n                                <div class=\"col-12 col-md-12 col-lg-12 col-xl-12  banner-content\"  >\n    \n                                             <p class=\"para-lg\"><span style=\"color: #92a6bc;\"><span class=\"nag-n-override\" style=\"margin-left: 0 !important;\"><i>n<\/i><\/span>AG Library<\/span><\/p>\n<h2><span style=\"color: #000000;\">Why Choose the <span class=\"nag-n-override\" style=\"margin-left: 0 !important;\"><i>n<\/i><\/span>AG Library?<\/span><\/h2>\n                    \n                    <div class=\"mt-1 mb-1 content\"><\/div>\n\n                    \n                                    <\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n\n\n\n<div class=\"content-split-three pv-4 \" >\n    <div class=\"container\">\n        <div class=\"row justify-content--center content-area-default\">\n            \n \n                <div class=\"col-12                            col-lg-3 \n                            col-xl-3                             ta ta-lg ta-xl                            content-split-three__wrap\n                            order-1 order-lg-1                            mb-2                            \">\n                    <div class=\"content-split-three__col\">\n                        <h4><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2751 size-full\" src=\"https:\/\/nag.com\/wp-content\/uploads\/2023\/07\/Comprehensive.png\" alt=\"\" width=\"40\" height=\"41\" \/><\/h4>\n<h4><span style=\"color: #000000;\">Comprehensive<\/span><\/h4>\n<p>Reduce project costs and remove the complications of using multiple libraries and licences. The <span class=\"nag-n-override\" style=\"margin-left: 0 !important;\"><i>n<\/i><\/span>AG Library covers a wide range of mathematical and statistical computing techniques and models.<\/p>\n                    <\/div>\n                <\/div>\n\n            \n \n                <div class=\"col-12                            col-lg-3 \n                            col-xl-3                             ta ta-lg ta-xl                            content-split-three__wrap\n                            order-2 order-lg-2                            mb-2                            \">\n                    <div class=\"content-split-three__col\">\n                        <h4><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2752 size-full\" src=\"https:\/\/nag.com\/wp-content\/uploads\/2023\/07\/Robust.png\" alt=\"\" width=\"51\" height=\"42\" \/><\/h4>\n<h4><span style=\"color: #000000;\">Robust<\/span><\/h4>\n<p>The <span class=\"nag-n-override\" style=\"margin-left: 0 !important;\"><i>n<\/i><\/span>AG Library undergoes strict testing, meticulous documentation, and regular maintenance, making it an extremely robust solution.<\/p>\n                    <\/div>\n                <\/div>\n\n            \n \n                <div class=\"col-12                            col-lg-3 \n                            col-xl-3                             ta ta-lg ta-xl                            content-split-three__wrap\n                            order-3 order-lg-3                            mb-2                            \">\n                    <div class=\"content-split-three__col\">\n                        <h4><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-115\" src=\"https:\/\/nag.com\/wp-content\/uploads\/2023\/04\/Group-22007.png\" alt=\"\" width=\"55\" height=\"41\" \/><\/h4>\n<h4><span style=\"color: #000000;\">Flexible<\/span><\/h4>\n<p><span class=\"nag-n-override\" style=\"margin-left: 0 !important;\"><i>n<\/i><\/span>AG Library algorithms are accessible across various languages and environments, facilitating seamless transition from prototype to production. Interactive documentation allows for easy language switching.<\/p>\n                    <\/div>\n                <\/div>\n\n            \n \n                <div class=\"col-12                            col-lg-3 \n                            col-xl-3                             ta ta-lg ta-xl                            content-split-three__wrap\n                            order-4 order-lg-4                            mb-2                            \">\n                    <div class=\"content-split-three__col\">\n                        <h4><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2753 size-full\" src=\"https:\/\/nag.com\/wp-content\/uploads\/2023\/07\/Supported.png\" alt=\"\" width=\"55\" height=\"41\" \/><\/h4>\n<h4><span style=\"color: #000000;\">Supported<\/span><\/h4>\n<p>From day one, <span class=\"nag-n-override\" style=\"margin-left: 0 !important;\"><i>n<\/i><\/span>AG Technical Support strives to maximize the benefits of <span class=\"nag-n-override\" style=\"margin-left: 0 !important;\"><i>n<\/i><\/span>AG Library software for users. The Technical Support team has earned a\u202freputation for expert, trusted, and timely problem resolution.<\/p>\n                    <\/div>\n                <\/div>\n\n            \n            \n        <\/div>\n    <\/div>\n<\/div>\n\n\n<div class=\"gbc-title-banner ta ta-lg ta-xl\" style='border-radius: 0px; '>\n    <div class=\"container\" style='border-radius: 0px; '>\n        <div class=\"row justify-content--center\" >\n            <div class=\"col-12\"  >\n                <div class=\"wrap pv-1 \" style=\"0px\">\n                                <div class=\"col-12 col-md-12 col-lg-12 col-xl-12  banner-content\"  >\n    \n                                             <p class=\"para-lg\"><span style=\"color: #92a6bc;\"><span class=\"nag-n-override\" style=\"margin-left: 0 !important;\"><i>n<\/i><\/span>AG Library<\/span><\/p>\n<h2 id=\"KeyContent\"><span style=\"color: #002e4a;\">Key Content<\/span><\/h2>\n                    \n                    <div class=\"mt-1 mb-1 content\"><\/div>\n\n                    \n                                    <\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n\n\n\n<div class=\"tabs-bento\">\n    <div class=\"container\">\n\n        <div class=\"pv-2 card-rounded ph-1\" style='background-color: #f1f6fbff; '>\n            <div class=\"row\">\n                <div class=\"col-12 offset-lg-1\">\n                                    <button class=\"tabs-bento__btn btn mb-1 mb-lg-0 card-rounded--half active\">\n                        Latest Content                    <\/button>\n                                        <button class=\"tabs-bento__btn btn mb-1 mb-lg-0 card-rounded--half \">\n                        Statistics &#038; Machine Learning                    <\/button>\n                                    <\/div>\n            \n            <\/div>\n            <div class=\"row\">\n                <div class=\"offset-lg-1 col-12 col-lg-10\">\n                <div class=\"underline dn db-lg mt-1\">\n                    <div class=\"underline__line\"><\/div>\n                <\/div>\n                <\/div>\n            <\/div>\n            <div class=\"row pt-2\">\n                                        <div class=\"tabs-bento__tab mb-2 mb-lg-0 col-12 col-lg-10  active offset-lg-1\">\n                            <p>Mixed Integer Linear Programming (MILP): <a href=\"https:\/\/nag.com\/mixed-integer-linear-programming\/\"><strong>Mini Article<\/strong><\/a><\/p>\n<p>Active-set Method for Nonlinear Optimization: <a href=\"https:\/\/nag.com\/active-set-method-for-nonlinear-optimization\/\" target=\"_blank\" rel=\"noopener\"><strong>Mini Article<\/strong><\/a><\/p>\n<p>General Nonlinear Data Fitting: <strong><a href=\"https:\/\/nag.com\/general-nonlinear-data-fitting\/\" target=\"_blank\" rel=\"noopener\">Mini Article<\/a>, <a href=\"https:\/\/github.com\/numericalalgorithmsgroup\/NAGPythonExamples\/blob\/master\/local_optimization\/NLDF\/data_fitting_robustness.ipynb\" target=\"_blank\" rel=\"noopener\">Python Examples<\/a>, <a href=\"https:\/\/numericalalgorithmsgroup.github.io\/NAGJavaExamples\/NLDF\/\" target=\"_blank\" rel=\"noopener\">Java Examples<\/a><\/strong><\/p>\n<p>Faster Data Fitting (Calibration): <strong><a href=\"https:\/\/nag.com\/faster-data-fitting-solver\/\" target=\"_blank\" rel=\"noopener\">Mini Article<\/a>, <a href=\"https:\/\/github.com\/numericalalgorithmsgroup\/NAGPythonExamples\/tree\/master\/local_optimization\/BXNL\" target=\"_blank\" rel=\"noopener\">Python Examples<\/a>, <a href=\"https:\/\/numericalalgorithmsgroup.github.io\/NAGJavaExamples\/BXNL\/\" target=\"_blank\" rel=\"noopener\">Java Examples<\/a><\/strong><\/p>\n<p>Fast Implied Volatilities: <strong><a href=\"https:\/\/nag.com\/fast-implied-volatilities-in-the-nag-library\/\" target=\"_blank\" rel=\"noopener\">Mini Article<\/a>, <a href=\"https:\/\/github.com\/numericalalgorithmsgroup\/NAGPythonExamples\/tree\/master\/special_functions\/opt_imp_vol\" target=\"_blank\" rel=\"noopener\">Python Examples<\/a>, <a href=\"https:\/\/numericalalgorithmsgroup.github.io\/NAGJavaExamples\/opt_imp_vol\/\" target=\"_blank\" rel=\"noopener\">Java Examples<\/a><\/strong><\/p>\n<p>Solving Convex and Non-convex Quadratically Constrained Quadratic Programming (QCQP) Problems:<strong><a href=\"https:\/\/nag.com\/solving-quadratically-constrained-quadratic-programming-qcqp-problems\/\" target=\"_blank\" rel=\"noopener\"> Mini Article<\/a>, <a href=\"https:\/\/github.com\/numericalalgorithmsgroup\/NAGPythonExamples\/blob\/master\/local_optimization\/SOCP\/portfolio_optimization_qcqp.ipynb\" target=\"_blank\" rel=\"noopener\">Python Examples<\/a>, <a href=\"https:\/\/numericalalgorithmsgroup.github.io\/NAGJavaExamples\/QCQP\/\" target=\"_blank\" rel=\"noopener\">Java Examples<\/a><\/strong><\/p>\n<p>Solving Convex Problems with Second-order Cone Programming (SOCP): <strong><a href=\"https:\/\/nag.com\/solving-convex-problems-with-second-order-cone-programming-socp\/\" target=\"_blank\" rel=\"noopener\">Mini Article<\/a>, <a href=\"https:\/\/nag.com\/wp-content\/uploads\/2023\/06\/socp.pdf\" target=\"_blank\" rel=\"noopener\">Technical Poster<\/a> &amp; <a href=\"https:\/\/github.com\/numericalalgorithmsgroup\/NAGPythonExamples\/tree\/master\/local_optimization\/SOCP\" target=\"_blank\" rel=\"noopener\">Python Examples<\/a><\/strong><\/p>\n<p>Derivative-free Optimization Solver for Calibration Problems: <strong><a href=\"https:\/\/nag.com\/technical-posters\/derivative-free-optimization-solver-for-calibration-problems\/\" target=\"_blank\" rel=\"noopener\">Technical Poster<\/a> &amp; <a href=\"https:\/\/nag.com\/derivative-free-optimization-dfo\/\" target=\"_blank\" rel=\"noopener\">Mini Article<\/a><\/strong><\/p>\n<p>Flexible Modelling with the <span class=\"nag-n-override\" style=\"margin-left: 0 !important;\"><i>n<\/i><\/span>AG Optimization Modelling Suite: <strong><a href=\"https:\/\/nag.com\/mathematical-optimization\/\" target=\"_blank\" rel=\"noopener\">Product Page<\/a><\/strong><\/p>\n<p>First-order Active-set Method for Nonlinear Programming: <strong><a href=\"https:\/\/nag.com\/limited-memory-nonlinear-conjugate-gradient-solver\/\" target=\"_blank\" rel=\"noopener\">Mini Article<\/a>, <a href=\"https:\/\/github.com\/numericalalgorithmsgroup\/NAGPythonExamples\/tree\/master\/local_optimization\/FOAS\" target=\"_blank\" rel=\"noopener\">Python Examples<\/a><\/strong><\/p>\n<p>Nearest Correlation Matrix: <strong><a href=\"https:\/\/nag.com\/technical-posters\/nearest-correlation-algorithms-in-the-nag-library\/\" target=\"_blank\" rel=\"noopener\">Technical Poster<\/a>, <a href=\"https:\/\/github.com\/numericalalgorithmsgroup\/NAGPythonExamples\/blob\/master\/nearest_correlation_matrices\/Readme.md\" target=\"_blank\" rel=\"noopener\">Python Examples<\/a>, <a href=\"https:\/\/numericalalgorithmsgroup.github.io\/NAGJavaExamples\/nearest_correlation_matrices\/\" target=\"_blank\" rel=\"noopener\">Java Examples<\/a> &amp; <a href=\"https:\/\/nag.com\/nearest-correlation-matrix\/\" target=\"_blank\" rel=\"noopener\">Mini Article<\/a><\/strong><\/p>\n<p>Randomized Numerical Linear Algebra (RNLA) Algorithms: <a href=\"https:\/\/nag.com\/technical-posters\/using-random-projections-to-accelerate-numerical-linear-algebra\/\" target=\"_blank\" rel=\"noopener\"><strong>Technical Poster<\/strong><\/a><\/p>\n<p>Non-negative Matrix Factorization for Analysing High-dimensional Dataset: <a href=\"https:\/\/github.com\/numericalalgorithmsgroup\/NAGPythonExamples\/blob\/master\/dimension_reduction\/web_site_classification_using_nnmf.ipynb\" target=\"_blank\" rel=\"noopener\"><strong>Python Examples<\/strong><\/a><\/p>\n<p>Polynomial Root-finding: <a href=\"https:\/\/nag.com\/insights\/quick-and-accurate-polynomial-root-finding-with-new-nag-library-solvers\/\" target=\"_blank\" rel=\"noopener\"><strong>Blog <\/strong><\/a><\/p>\n                            <div class=\"mv-1\"><\/div>\n                                                    <\/div>\n                                                                    <div class=\"tabs-bento__tab mb-2 mb-lg-0 col-12 col-lg-10  dn offset-lg-1\">\n                            <p>Correlation &amp; Regression Analysis &#8211; <a href=\"https:\/\/support.nag.com\/numeric\/nl\/nagdoc_latest\/clhtml\/g02\/g02intro.html\" target=\"_blank\" rel=\"noopener\"><strong>Learn more<\/strong><\/a><\/p>\n<p>Random Number Generators &#8211; <a href=\"https:\/\/support.nag.com\/numeric\/nl\/nagdoc_latest\/clhtml\/g05\/g05intro.html\" target=\"_blank\" rel=\"noopener\"><strong>Learn more<\/strong><\/a><\/p>\n<p>Multivariate Methods &#8211; <a href=\"https:\/\/support.nag.com\/numeric\/nl\/nagdoc_latest\/clhtml\/g03\/g03intro.html\" target=\"_blank\" rel=\"noopener\"><strong>Learn more<\/strong><\/a><\/p>\n<p>Univariate Methods &#8211; <a href=\"https:\/\/support.nag.com\/numeric\/nl\/nagdoc_latest\/clhtml\/g03\/g03intro.html\" target=\"_blank\" rel=\"noopener\"><strong>Learn more<\/strong><\/a><\/p>\n<p>Nonparametric Statistics &#8211; <a href=\"https:\/\/support.nag.com\/numeric\/nl\/nagdoc_latest\/clhtml\/g03\/g03intro.html\" target=\"_blank\" rel=\"noopener\"><strong>Learn more<\/strong><\/a><\/p>\n<p>Smoothing in Statistics &#8211; <a href=\"https:\/\/support.nag.com\/numeric\/nl\/nagdoc_latest\/clhtml\/g10\/g10intro.html\" target=\"_blank\" rel=\"noopener\"><strong>Learn more<\/strong><\/a><\/p>\n<p>Survival Analysis &#8211; <a href=\"https:\/\/support.nag.com\/numeric\/nl\/nagdoc_latest\/clhtml\/g12\/g12intro.html\" target=\"_blank\" rel=\"noopener\"><strong>Learn more<\/strong><\/a><\/p>\n<p>Time Series Analysis &#8211; <a href=\"https:\/\/support.nag.com\/numeric\/nl\/nagdoc_latest\/clhtml\/g13\/g13intro.html\" target=\"_blank\" rel=\"noopener\"><strong>Learn more<\/strong><\/a><\/p>\n<p>Linear Model Specification &#8211; <a href=\"https:\/\/support.nag.com\/numeric\/nl\/nagdoc_latest\/clhtml\/g22\/g22intro.html\" target=\"_blank\" rel=\"noopener\"><strong>Learn more<\/strong><\/a><\/p>\n<p>Mathematical Optimization Software &#8211; <a href=\"https:\/\/nag.com\/mathematical-optimization\/\" target=\"_blank\" rel=\"noopener\"><strong>Learn more<\/strong><\/a><\/p>\n<p>Interpolation &#8211; <a href=\"https:\/\/support.nag.com\/numeric\/nl\/nagdoc_latest\/clhtml\/e01\/e01intro.html\" target=\"_blank\" rel=\"noopener\"><strong>Learn more<\/strong><\/a><\/p>\n<p>Curve &amp; Surface Fitting &#8211; <a href=\"https:\/\/support.nag.com\/numeric\/nl\/nagdoc_latest\/clhtml\/e02\/e02intro.html\" target=\"_blank\" rel=\"noopener\"><strong>Learn more<\/strong><\/a><\/p>\n                            <div class=\"mv-1\"><\/div>\n                                                    <\/div>\n                                                        <\/div>\n        <\/div>\n\n    <\/div>\n<\/div>\n\n<script>\n\n    \/\/ doc ready\ndocument.addEventListener(\"DOMContentLoaded\", function(event) {\n\n    var tabsBentoContainers = document.querySelectorAll('.tabs-bento');\n\n    for (let index = 0; index < tabsBentoContainers.length; index++) {\n        const tabBento = tabsBentoContainers[index];\n\n\n        \/\/ get the width of the first .tabs-bento__btn and make .underline__line the same width\n        var firstTabBentoBtn = tabBento.querySelector('.tabs-bento__btn');\n        var underlineLine = tabBento.querySelector('.underline__line');\n        underlineLine.style.width = firstTabBentoBtn.offsetWidth + 'px';\n\n\n        tabBento.querySelectorAll('.tabs-bento__btn').forEach(tabBentoTab => {\n            tabBentoTab.addEventListener('click', function(){\n\n                tabBento.querySelectorAll('.tabs-bento__btn').forEach(tabBentoTab => {\n                    if (tabBentoTab.classList.contains('active')) {\n                        tabBentoTab.classList.remove('active');\n                    }\n                });\n                tabBentoTab.classList.add('active');\n\n                \/\/ get index of clicked element\n                var index = Array.prototype.indexOf.call(tabBentoTab.parentNode.children, tabBentoTab);\n\n\n                \/\/ Add .active class to .tabs-bento__tab\n                tabBento.querySelectorAll('.tabs-bento__tab').forEach(tabBentoTab => {\n                    if (tabBentoTab.classList.contains('active')) {\n                        tabBentoTab.classList.remove('active');\n                        \n                        if (tabBentoTab.nextElementSibling && tabBentoTab.nextElementSibling.classList.contains('tabs-bento__image')) {\n                            tabBentoTab.nextElementSibling.classList.remove('active');\n                        }\n                    }\n                });\n\n                tabBento.querySelectorAll('.tabs-bento__tab')[index].classList.add('active');\n\n                console.log(tabBentoTab.nextElementSibling)\n\n\n                if (tabBento.querySelectorAll('.tabs-bento__tab')[index].nextElementSibling && tabBento.querySelectorAll('.tabs-bento__tab')[index].nextElementSibling.classList.contains('tabs-bento__image')) {\n                    tabBento.querySelectorAll('.tabs-bento__tab')[index].nextElementSibling.classList.add('active');\n                }\n\n                \/\/ set the width of .underline__line to the clicked element including padding\n                var underlineLine = tabBento.querySelector('.underline__line');\n                underlineLine.style.width = tabBentoTab.offsetWidth + 'px';\n                underlineLine.style.left = (tabBentoTab.offsetLeft - 15) + 'px';\n        \n            });\n        }); \n        \n    }\n});\n<\/script>\n\n\n\n\n<!-- Spacer -->\n<div class=\"pt-2 pt-lg-4 pt-xl-6\" ><\/div>\n\n\n<div class=\"gbc-title-banner ta ta-lg ta-xl\" style='border-radius: 0px; '>\n    <div class=\"container\" style='border-radius: 0px; '>\n        <div class=\"row justify-content--center\" >\n            <div class=\"col-12\"  >\n                <div class=\"wrap pv-0 \" style=\"0px\">\n                                <div class=\"col-12 col-md-12 col-lg-12 col-xl-12  banner-content\"  >\n    \n                                             <p class=\"para-lg\"><span style=\"color: #92a6bc;\"><span class=\"nag-n-override\" style=\"margin-left: 0 !important;\"><i>n<\/i><\/span>AG Library<\/span><\/p>\n<h2><span style=\"color: #000000;\">Case Studies<\/span><\/h2>\n                    \n                    <div class=\"mt-1 mb-1 content\"><\/div>\n\n                    \n                                    <\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n\n \n<div class=\"slider slider-general oh pv-2\" >\n    <div class=\"container\">\n        <div class=\"row\">\n            <div class=\"col-12\">\n                <!-- Slider main container -->\n                <div class=\"swiper\" style=\"overflow: visible;\"  data-swiper='{\"slidesPerView\": 1.5, \"centeredSlides\": false, \"speed\": 1000, \"spaceBetween\": 30,   \"navigation\": { \"nextEl\": \".swiper-button-next\", \"prevEl\": \".swiper-button-prev\" },\n   \"pagination\": {\"el\": \".swiper-pagination\", \"clickable\": true},  \"breakpoints\": {\n    \"576\": {\n      \"slidesPerView\": 1.5    },\n    \"850\": {\n        \"slidesPerView\": 2.5    },\n    \"1140\": {\n      \"slidesPerView\": 4.5    }\n  } }'>\n\n    \n                <div class=\"swiper-wrapper\">\n                                                <div class=\"swiper-slide card-rounded--half\" >\n                                                                    <a href=\"https:\/\/nag.com\/case-studies\/nag-improves-speed-of-banking-analysis-and-pricing-services-application\/\">\n                                    \n                                <div class=\"small-image-holder aspect\">\n                                                                            <img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"427\" src=\"https:\/\/nag.com\/wp-content\/uploads\/2023\/06\/finance-1024x427.jpeg\" class=\"bg-media\" alt=\"\" \/>                                    \n                                <\/div>\n\n                                <div class=\"swiper-slide__content ph-1 pv-1 slider-bg\">\n                                                                            <div class=\"mb-1\"><h4><span style=\"color: #272723;\"><span class=\"nag-n-override\" style=\"margin-left: 0 !important;\"><i>n<\/i><\/span>AG Improves Speed of Banking Analysis<\/span><\/h4>\n<\/div>\n                                    \n                                                                            <div class=\"mt-1\"><p>When an analysis and pricing firm, in the banking sector, needed help improving the speed of its applications, <span class=\"nag-n-override\" style=\"margin-left: 0 !important;\"><i>n<\/i><\/span>AG consulting services were able to provide a speed-up of more than 10 times.<\/p>\n<\/div>\n                                    \n\n\n                                <\/div>\n\n    \n                                                                    <\/a>\n                                                            <\/div>\n                                                    <div class=\"swiper-slide card-rounded--half\" >\n                                                                    <a href=\"https:\/\/nag.com\/case-studies\/global-asset-management-company-enhances-portfolio-construction-tool-with-nag-optimization-solvers\/\">\n                                    \n                                <div class=\"small-image-holder aspect\">\n                                                                            <img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"683\" src=\"https:\/\/nag.com\/wp-content\/uploads\/2023\/06\/finance-three-1024x683.jpeg\" class=\"bg-media\" alt=\"\" \/>                                    \n                                <\/div>\n\n                                <div class=\"swiper-slide__content ph-1 pv-1 slider-bg\">\n                                                                            <div class=\"mb-1\"><h4><span style=\"color: #082d48;\">Schroders turn to <span class=\"nag-n-override\" style=\"margin-left: 0 !important;\"><i>n<\/i><\/span>AG for numerical routin\u2026<\/span><\/h4>\n<\/div>\n                                    \n                                                                            <div class=\"mt-1\"><p>Essential to SMART\u2019s portfolio construction capabilities are various numerical algorithms\u2026<\/p>\n<\/div>\n                                    \n\n\n                                <\/div>\n\n    \n                                                                    <\/a>\n                                                            <\/div>\n                                                    <div class=\"swiper-slide card-rounded--half\" >\n                                                                    <a href=\"https:\/\/nag.com\/case-studies\/nag-library-algorithms-provide-numerics-for-helicopter-design-analysis\/\">\n                                    \n                                <div class=\"small-image-holder aspect\">\n                                                                            <img loading=\"lazy\" decoding=\"async\" width=\"566\" height=\"402\" src=\"https:\/\/nag.com\/wp-content\/uploads\/2023\/07\/helicopteraw101.jpg\" class=\"bg-media\" alt=\"\" style=\"object-position: % %;\" \/>                                    \n                                <\/div>\n\n                                <div class=\"swiper-slide__content ph-1 pv-1 slider-bg\">\n                                                                            <div class=\"mb-1\"><h4><span style=\"color: #082d48;\">True Confidence From <span class=\"nag-n-override\" style=\"margin-left: 0 !important;\"><i>n<\/i><\/span>AG Library<\/span><\/h4>\n<\/div>\n                                    \n                                                                            <div class=\"mt-1\"><p>Leonardo SpA, formerly known as Finmeccanica is an Italian multinational company\u2026<\/p>\n<\/div>\n                                    \n\n\n                                <\/div>\n\n    \n                                                                    <\/a>\n                                                            <\/div>\n                                                    <div class=\"swiper-slide card-rounded--half\" >\n                                                                    <a href=\"https:\/\/nag.com\/case-studies\/zs-associates-use-the-nag-library-for-data-analysis-when-guiding-millions-of-dollars-of-marketing-expenditure\/\">\n                                    \n                                <div class=\"small-image-holder aspect\">\n                                                                            <img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/nag.com\/wp-content\/uploads\/2023\/07\/ZS_Associates-1024x576.jpg\" class=\"bg-media\" alt=\"\" \/>                                    \n                                <\/div>\n\n                                <div class=\"swiper-slide__content ph-1 pv-1 slider-bg\">\n                                                                            <div class=\"mb-1\"><h4><span style=\"color: #082d48;\">ZS Associates use NAGs robust stat\u2026<\/span><\/h4>\n<\/div>\n                                    \n                                                                            <div class=\"mt-1\"><p>Knowing that <span class=\"nag-n-override\" style=\"margin-left: 0 !important;\"><i>n<\/i><\/span>AG have been the world experts at mathematical and statistical algorithm\u2026<\/p>\n<\/div>\n                                    \n\n\n                                <\/div>\n\n    \n                                                                    <\/a>\n                                                            <\/div>\n                                                    <div class=\"swiper-slide card-rounded--half\" >\n                                                                    <a href=\"https:\/\/nag.com\/case-studies\/swedish-national-income-pension-buffer-fund-uses-nag-solvers-in-portfolio-analysis\/\">\n                                    \n                                <div class=\"small-image-holder aspect\">\n                                                                            <img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"639\" src=\"https:\/\/nag.com\/wp-content\/uploads\/2023\/06\/portfolio-optimization-1024x639.jpeg\" class=\"bg-media\" alt=\"\" \/>                                    \n                                <\/div>\n\n                                <div class=\"swiper-slide__content ph-1 pv-1 slider-bg\">\n                                                                            <div class=\"mb-1\"><h4><span style=\"color: #082d48;\">Swedish National Pension Fund uses<\/span><\/h4>\n<\/div>\n                                    \n                                                                            <div class=\"mt-1\"><p>F\u00f6rsta AP-fonden is one of five buffer funds in the Swedish national income pension system\u2026.<\/p>\n<\/div>\n                                    \n\n\n                                <\/div>\n\n    \n                                                                    <\/a>\n                                                            <\/div>\n                            \n    \n                <\/div>\n    \n    \n                  <!-- If we need navigation buttons -->\n                  <div class=\"swiper-button-prev\">\n                    <i class=\"fa-solid fa-angle-left\" style=\"font-size: 30px;color: #d3d3d3;\"><\/i>\n                  <\/div>\n                  <div class=\"swiper-button-next\">\n                        <i class=\"fa-solid fa-angle-right\" style=\"font-size: 30px;color: #d3d3d3;\"><\/i>\n                  <\/div>\n    \n\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<script>\n\n\nvar sliderSelector = '.swiper',\n        defaultOptions = {\n          breakpointsInverse: true,\n          observer: true\n        };\n\n\n    var nSlider = document.querySelectorAll(sliderSelector);\n\n    [].forEach.call(nSlider, function( slider, index, arr )\n\t{\n\t\tvar data = slider.getAttribute('data-swiper') || {};\n\n\t\tif (data)\n\t\t{\n\t\t\tvar dataOptions = JSON.parse(data);\n\t\t}\n\n        console.log(dataOptions)\n\n\t\tslider.options = Object.assign({}, defaultOptions, dataOptions);\n\n\t\tvar swiper = new Swiper(slider, slider.options);\n\n\t\tconsole.log(slider.options.autoplay)\n\n\t\t\/* stop on hover *\/\n\t\tif ( typeof slider.options.autoplay !== 'undefined' && slider.options.autoplay !== false )\n\t\t{\n\t\t\tslider.addEventListener('mouseenter', function(e) {\n\t\t\t\tswiper.autoplay.stop();\n\t\t\t\tconsole.log('stop')\n\t\t\t});\n\n\t\t\tslider.addEventListener('mouseleave', function(e) {\n\t\t\t\tswiper.autoplay.start();\n\t\t\t\tconsole.log('start')\n\t\t\t});\n\t\t}\n\t});\n\n\n<\/script>\n\n<!-- Spacer -->\n<div class=\"pt-2 pt-lg-4 pt-xl-6\" ><\/div>\n\n\n<div class=\"gbc-title-banner ta ta-lg ta-xl\" style='border-radius: 0px; '>\n    <div class=\"container\" style='border-radius: 0px; '>\n        <div class=\"row justify-content--center\" >\n            <div class=\"col-12\"  >\n                <div class=\"wrap pv-1 \" style=\"0px\">\n                                <div class=\"col-12 col-md-12 col-lg-12 col-xl-12  banner-content\"  >\n    \n                                             <p class=\"para-lg\"><span style=\"color: #92a6bc;\"><span class=\"nag-n-override\" style=\"margin-left: 0 !important;\"><i>n<\/i><\/span>AG Library<\/span><\/p>\n<h2 id=\"LangAndEnv\"><span style=\"color: #002e4a;\">Languages &amp; Environments<\/span><\/h2>\n                    \n                    <div class=\"mt-1 mb-1 content\"><\/div>\n\n                    \n                                    <\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n\n\n\n<div class=\"tabs-bento\">\n    <div class=\"container\">\n\n        <div class=\"pv-2 card-rounded ph-1\" style='background-color: #f1f6fbff; '>\n            <div class=\"row\">\n                <div class=\"col-12 offset-lg-1\">\n                                    <button class=\"tabs-bento__btn btn mb-1 mb-lg-0 card-rounded--half active\">\n                        C | C++ | Fortran | AD                    <\/button>\n                                        <button class=\"tabs-bento__btn btn mb-1 mb-lg-0 card-rounded--half \">\n                        .NET &#038; C#                    <\/button>\n                                        <button class=\"tabs-bento__btn btn mb-1 mb-lg-0 card-rounded--half \">\n                        Python                    <\/button>\n                                        <button class=\"tabs-bento__btn btn mb-1 mb-lg-0 card-rounded--half \">\n                        MATLAB                    <\/button>\n                                        <button class=\"tabs-bento__btn btn mb-1 mb-lg-0 card-rounded--half \">\n                        Java                    <\/button>\n                                    <\/div>\n            \n            <\/div>\n            <div class=\"row\">\n                <div class=\"offset-lg-1 col-12 col-lg-10\">\n                <div class=\"underline dn db-lg mt-1\">\n                    <div class=\"underline__line\"><\/div>\n                <\/div>\n                <\/div>\n            <\/div>\n            <div class=\"row pt-2\">\n                                        <div class=\"tabs-bento__tab mb-2 mb-lg-0 col-12 col-lg-4  active offset-lg-1\">\n                            <h3><span style=\"color: #082d48;\"><span class=\"nag-n-override\" style=\"margin-left: 0 !important;\"><i>n<\/i><\/span>AG Library for C, C++,<br \/>\nFortran, AD<\/span><\/h3>\n<p>&nbsp;<\/p>\n<p>Using <span class=\"nag-n-override\" style=\"margin-left: 0 !important;\"><i>n<\/i><\/span>AG Library algorithms enables you to easily switch between programming languages giving heightened flexibility and performance \u2013 the algorithms are future-proofed to ensure accuracy and performance.<\/p>\n                            <div class=\"mv-1\"><a href='https:\/\/nag.com\/contact-us\/' style='background-color: #f1f6fbff; border: 2px solid #252a2fff; color: #252a2fff; border-radius: 30px; font-weight: 600; ' class='btn mr-1 outline ' target=\"_blank\">Talk to us <i class='fas fa-angle-right'><\/i><\/a><a href='https:\/\/support.nag.com\/numeric\/nl\/' style='background-color: #f1f6fbff; font-weight: 600; ' class='btn mr-1  ' target=\"_blank\">Documentation <i class='fas fa-angle-right'><\/i><\/a><\/div>\n                            <p><em>The <span class=\"nag-n-override\" style=\"margin-left: 0 !important;\"><i>n<\/i><\/span>AG Library is callable from Visual Basic, F#, R and PHP. A parallelised OpenMP version is available.<\/em><\/p>\n                        <\/div>\n                                                    <div class=\"tabs-bento__image offset-lg-1 col-12 col-lg-5  active\">\n                                <img loading=\"lazy\" decoding=\"async\" width=\"890\" height=\"800\" src=\"https:\/\/nag.com\/wp-content\/uploads\/2023\/07\/LIB_Fortran.png\" class=\"card-rounded\" alt=\"\" style=\"object-position: % %;\" \/>                            <\/div>\n                                                                    <div class=\"tabs-bento__tab mb-2 mb-lg-0 col-12 col-lg-4  dn offset-lg-1\">\n                            <h3><span style=\"color: #082d48;\">.NET &amp; C#<\/span><\/h3>\n<p>\u00a0<\/p>\n<p><span class=\"nag-n-override\" style=\"margin-left: 0 !important;\"><i>n<\/i><\/span>AG provides a software solution for users of the Microsoft .NET framework to access the extensive mathematical and statistical algorithms in the <span class=\"nag-n-override\" style=\"margin-left: 0 !important;\"><i>n<\/i><\/span>AG Library. <span class=\"nag-n-override\" style=\"margin-left: 0 !important;\"><i>n<\/i><\/span>AG\u2019s fast and efficient algorithms enhance application capabilities and reduce crucial development time.<\/p>\n                            <div class=\"mv-1\"><a href='https:\/\/nag.com\/contact-us\/' style='background-color: #f1f6fbff; border: 2px solid #252a2fff; color: #252a2fff; border-radius: 30px; font-weight: 600; ' class='btn mr-1 outline ' target=\"_blank\">Talk to us <i class='fas fa-angle-right'><\/i><\/a><a href='https:\/\/support.nag.com\/content\/downloads-calling-nag-library-net' style='background-color: #f1f6fbff; font-weight: 600; ' class='btn mr-1  ' target=\"_blank\">Documentation <i class='fas fa-angle-right'><\/i><\/a><\/div>\n                                                    <\/div>\n                                                    <div class=\"tabs-bento__image offset-lg-1 col-12 col-lg-5  dn\">\n                                <img loading=\"lazy\" decoding=\"async\" width=\"890\" height=\"800\" src=\"https:\/\/nag.com\/wp-content\/uploads\/2023\/07\/LIB_NET.png\" class=\"card-rounded\" alt=\"\" style=\"object-position: % %;\" \/>                            <\/div>\n                                                                    <div class=\"tabs-bento__tab mb-2 mb-lg-0 col-12 col-lg-4  dn offset-lg-1\">\n                            <h3 id=\"langEnvPython\"><span style=\"color: #082d48;\">Python<\/span><\/h3>\n<p>&nbsp;<\/p>\n<p>The <span class=\"nag-n-override\" style=\"margin-left: 0 !important;\"><i>n<\/i><\/span>AG Library for <em>Python<\/em> provides Python developers with a tested, documented, and supported comprehensive collection of numerical algorithms, including mathematical optimization solvers, making it easier than ever to solve complex computational problems efficiently. From optimization and interpolation to linear algebra and statistical analysis, the <span class=\"nag-n-override\" style=\"margin-left: 0 !important;\"><i>n<\/i><\/span>AG Library equips programmers with the tools needed to accelerate scientific and engineering computation with precision and ease.<\/p>\n                            <div class=\"mv-1\"><a href='https:\/\/nag.com\/contact-us\/' style='background-color: #f1f6fbff; border: 2px solid #252a2fff; color: #252a2fff; border-radius: 30px; font-weight: 600; ' class='btn mr-1 outline ' target=\"_blank\">Talk to us <i class='fas fa-angle-right'><\/i><\/a><a href='https:\/\/support.nag.com\/numeric\/py\/nagdoc_latest\/readme.html' style='background-color: #f1f6fbff; font-weight: 600; ' class='btn mr-1  ' target=\"_blank\">Documentation <i class='fas fa-angle-right'><\/i><\/a><\/div>\n                                                    <\/div>\n                                                    <div class=\"tabs-bento__image offset-lg-1 col-12 col-lg-5  dn\">\n                                <img loading=\"lazy\" decoding=\"async\" width=\"890\" height=\"800\" src=\"https:\/\/nag.com\/wp-content\/uploads\/2023\/07\/LIB_Python.png\" class=\"card-rounded\" alt=\"\" style=\"object-position: % %;\" \/>                            <\/div>\n                                                                    <div class=\"tabs-bento__tab mb-2 mb-lg-0 col-12 col-lg-4  dn offset-lg-1\">\n                            <h3><span style=\"color: #082d48;\">MATLAB<\/span><\/h3>\n<p>\u00a0<\/p>\n<p>The <span class=\"nag-n-override\" style=\"margin-left: 0 !important;\"><i>n<\/i><\/span>AG Toolbox <em>for MATLAB<\/em>\u00ae provides a one stop solution to solve problems in diverse mathematical areas. It is expertly documented, maintained, and supported, and is regularly updated with cutting-edge algorithmic capabilities.<\/p>\n                            <div class=\"mv-1\"><a href='https:\/\/nag.com\/contact-us\/' style='background-color: #f1f6fbff; border: 2px solid #252a2fff; color: #252a2fff; border-radius: 30px; font-weight: 600; ' class='btn mr-1 outline ' target=\"_blank\">Talk to us <i class='fas fa-angle-right'><\/i><\/a><a href='https:\/\/support.nag.com\/numeric\/mb\/nagdoc_mb\/manual_25_1\/html\/index.html' style='background-color: #f1f6fbff; font-weight: 600; ' class='btn mr-1  ' target=\"_blank\">Documentation <i class='fas fa-angle-right'><\/i><\/a><\/div>\n                                                    <\/div>\n                                                    <div class=\"tabs-bento__image offset-lg-1 col-12 col-lg-5  dn\">\n                                <img loading=\"lazy\" decoding=\"async\" width=\"890\" height=\"800\" src=\"https:\/\/nag.com\/wp-content\/uploads\/2023\/07\/LIB_MATLAB.png\" class=\"card-rounded\" alt=\"\" style=\"object-position: % %;\" \/>                            <\/div>\n                                                                    <div class=\"tabs-bento__tab mb-2 mb-lg-0 col-12 col-lg-4  dn offset-lg-1\">\n                            <h3><span style=\"color: #082d48;\">Java<\/span><\/h3>\n<p>\u00a0<\/p>\n<p>The <span class=\"nag-n-override\" style=\"margin-left: 0 !important;\"><i>n<\/i><\/span>AG Library for <em>Java<\/em> provides flexible and robust, documented, tested and maintained numerical algorithms for users of the Java programming language.<\/p>\n                            <div class=\"mv-1\"><a href='https:\/\/nag.com\/contact-us\/' style='background-color: #f1f6fbff; border: 2px solid #252a2fff; color: #252a2fff; border-radius: 30px; font-weight: 600; ' class='btn mr-1 outline ' target=\"_blank\">Talk to us <i class='fas fa-angle-right'><\/i><\/a><a href='https:\/\/support.nag.com\/content\/nag-library-java-documentation' style='background-color: #f1f6fbff; font-weight: 600; ' class='btn mr-1  ' >Documentation <i class='fas fa-angle-right'><\/i><\/a><\/div>\n                                                    <\/div>\n                                                    <div class=\"tabs-bento__image offset-lg-1 col-12 col-lg-5  dn\">\n                                <img loading=\"lazy\" decoding=\"async\" width=\"890\" height=\"800\" src=\"https:\/\/nag.com\/wp-content\/uploads\/2023\/07\/LIB_Java.png\" class=\"card-rounded\" alt=\"\" style=\"object-position: % %;\" \/>                            <\/div>\n                                                        <\/div>\n        <\/div>\n\n    <\/div>\n<\/div>\n\n<script>\n\n    \/\/ doc ready\ndocument.addEventListener(\"DOMContentLoaded\", function(event) {\n\n    var tabsBentoContainers = document.querySelectorAll('.tabs-bento');\n\n    for (let index = 0; index < tabsBentoContainers.length; index++) {\n        const tabBento = tabsBentoContainers[index];\n\n\n        \/\/ get the width of the first .tabs-bento__btn and make .underline__line the same width\n        var firstTabBentoBtn = tabBento.querySelector('.tabs-bento__btn');\n        var underlineLine = tabBento.querySelector('.underline__line');\n        underlineLine.style.width = firstTabBentoBtn.offsetWidth + 'px';\n\n\n        tabBento.querySelectorAll('.tabs-bento__btn').forEach(tabBentoTab => {\n            tabBentoTab.addEventListener('click', function(){\n\n                tabBento.querySelectorAll('.tabs-bento__btn').forEach(tabBentoTab => {\n                    if (tabBentoTab.classList.contains('active')) {\n                        tabBentoTab.classList.remove('active');\n                    }\n                });\n                tabBentoTab.classList.add('active');\n\n                \/\/ get index of clicked element\n                var index = Array.prototype.indexOf.call(tabBentoTab.parentNode.children, tabBentoTab);\n\n\n                \/\/ Add .active class to .tabs-bento__tab\n                tabBento.querySelectorAll('.tabs-bento__tab').forEach(tabBentoTab => {\n                    if (tabBentoTab.classList.contains('active')) {\n                        tabBentoTab.classList.remove('active');\n                        \n                        if (tabBentoTab.nextElementSibling && tabBentoTab.nextElementSibling.classList.contains('tabs-bento__image')) {\n                            tabBentoTab.nextElementSibling.classList.remove('active');\n                        }\n                    }\n                });\n\n                tabBento.querySelectorAll('.tabs-bento__tab')[index].classList.add('active');\n\n                console.log(tabBentoTab.nextElementSibling)\n\n\n                if (tabBento.querySelectorAll('.tabs-bento__tab')[index].nextElementSibling && tabBento.querySelectorAll('.tabs-bento__tab')[index].nextElementSibling.classList.contains('tabs-bento__image')) {\n                    tabBento.querySelectorAll('.tabs-bento__tab')[index].nextElementSibling.classList.add('active');\n                }\n\n                \/\/ set the width of .underline__line to the clicked element including padding\n                var underlineLine = tabBento.querySelector('.underline__line');\n                underlineLine.style.width = tabBentoTab.offsetWidth + 'px';\n                underlineLine.style.left = (tabBentoTab.offsetLeft - 15) + 'px';\n        \n            });\n        }); \n        \n    }\n});\n<\/script>\n\n\n\n\n<!-- Spacer -->\n<div class=\"pt-2 pt-lg-4 pt-xl-6\" ><\/div>\n\n<div class=\"container\">\n\n    <div class=\"pt-3 card-rounded ph-1\" style='background-color: #f1f6fbff; '>\n        <div class=\"row\">\n                                <div class=\"col-12 col-md-12 col-lg-1 mb-3\">\n                        <div><\/div>\n                                            <\/div>\n                                        <div class=\"col-12 col-md-6 col-lg-3 mb-3\">\n                        <div><h3><span style=\"color: #252a2f;\">Talk to Us<\/span><\/h3>\n<p>\u00a0<\/p>\n<p>Our expert consultants are at hand to answer any questions you may have.<\/p>\n<\/div>\n                                                <div class=\"mt-2\"><a href='https:\/\/nag.com\/contact-us\/' style='background-color: #00000000; font-weight: 600; padding: 0px!important; ' class='btn mr-1  ' >Ask a question <i class='fas fa-angle-right'><\/i><\/a><\/div>\n                                            <\/div>\n                                        <div class=\"col-12 col-md-6 col-lg-3 mb-3\">\n                        <div><h3><span style=\"color: #252a2f;\">Insights<\/span><\/h3>\n<p>\u00a0<\/p>\n<p>Take a look at our collection of Insights to learn more about the <span class=\"nag-n-override\" style=\"margin-left: 0 !important;\"><i>n<\/i><\/span>AG Library and our other products &amp; services.<\/p>\n<\/div>\n                                                <div class=\"mt-2\"><a href='https:\/\/nag.com\/insights\/' style='background-color: #00000000; font-weight: 600; padding: 0px!important; ' class='btn mr-1  ' >Explore <i class='fas fa-angle-right'><\/i><\/a><\/div>\n                                            <\/div>\n                            <\/div>\n    <\/div>\n\n<\/div>\n\n<!-- Spacer -->\n<div class=\"pt-4 pt-lg-4 pt-xl-4\" ><\/div>","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":4499,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"content-type":"","footnotes":""},"class_list":["post-105","page","type-page","status-publish","has-post-thumbnail","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>nAG Library - nAG<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/nag.com\/nag-library\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"nAG Library - nAG\" \/>\n<meta property=\"og:url\" content=\"https:\/\/nag.com\/nag-library\/\" \/>\n<meta property=\"og:site_name\" content=\"nAG\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-15T11:32:35+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/nag.com\/wp-content\/uploads\/2023\/11\/Nag-Library-Header.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1485\" \/>\n\t<meta property=\"og:image:height\" content=\"760\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@NAGTalk\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/nag.com\/nag-library\/\",\"url\":\"https:\/\/nag.com\/nag-library\/\",\"name\":\"nAG Library - nAG\",\"isPartOf\":{\"@id\":\"https:\/\/nag.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/nag.com\/nag-library\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/nag.com\/nag-library\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/nag.com\/wp-content\/uploads\/2023\/11\/Nag-Library-Header.jpg\",\"datePublished\":\"2023-04-13T14:23:22+00:00\",\"dateModified\":\"2024-11-15T11:32:35+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/nag.com\/nag-library\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/nag.com\/nag-library\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/nag.com\/nag-library\/#primaryimage\",\"url\":\"https:\/\/nag.com\/wp-content\/uploads\/2023\/11\/Nag-Library-Header.jpg\",\"contentUrl\":\"https:\/\/nag.com\/wp-content\/uploads\/2023\/11\/Nag-Library-Header.jpg\",\"width\":1485,\"height\":760},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/nag.com\/nag-library\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/nag.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"nAG Library\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/nag.com\/#website\",\"url\":\"https:\/\/nag.com\/\",\"name\":\"NAG\",\"description\":\"Robust, trusted numerical software and computational expertise.\",\"publisher\":{\"@id\":\"https:\/\/nag.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/nag.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/nag.com\/#organization\",\"name\":\"Numerical Algorithms Group\",\"alternateName\":\"NAG\",\"url\":\"https:\/\/nag.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/nag.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/nag.com\/wp-content\/uploads\/2023\/11\/NAG-Logo.png\",\"contentUrl\":\"https:\/\/nag.com\/wp-content\/uploads\/2023\/11\/NAG-Logo.png\",\"width\":1244,\"height\":397,\"caption\":\"Numerical Algorithms Group\"},\"image\":{\"@id\":\"https:\/\/nag.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/NAGTalk\",\"https:\/\/www.linkedin.com\/company\/nag\/\",\"https:\/\/www.youtube.com\/user\/NumericalAlgorithms\",\"https:\/\/github.com\/numericalalgorithmsgroup\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"nAG Library - nAG","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/nag.com\/nag-library\/","og_locale":"en_US","og_type":"article","og_title":"nAG Library - nAG","og_url":"https:\/\/nag.com\/nag-library\/","og_site_name":"nAG","article_modified_time":"2024-11-15T11:32:35+00:00","og_image":[{"width":1485,"height":760,"url":"https:\/\/nag.com\/wp-content\/uploads\/2023\/11\/Nag-Library-Header.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_site":"@NAGTalk","twitter_misc":{"Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/nag.com\/nag-library\/","url":"https:\/\/nag.com\/nag-library\/","name":"nAG Library - nAG","isPartOf":{"@id":"https:\/\/nag.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/nag.com\/nag-library\/#primaryimage"},"image":{"@id":"https:\/\/nag.com\/nag-library\/#primaryimage"},"thumbnailUrl":"https:\/\/nag.com\/wp-content\/uploads\/2023\/11\/Nag-Library-Header.jpg","datePublished":"2023-04-13T14:23:22+00:00","dateModified":"2024-11-15T11:32:35+00:00","breadcrumb":{"@id":"https:\/\/nag.com\/nag-library\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/nag.com\/nag-library\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/nag.com\/nag-library\/#primaryimage","url":"https:\/\/nag.com\/wp-content\/uploads\/2023\/11\/Nag-Library-Header.jpg","contentUrl":"https:\/\/nag.com\/wp-content\/uploads\/2023\/11\/Nag-Library-Header.jpg","width":1485,"height":760},{"@type":"BreadcrumbList","@id":"https:\/\/nag.com\/nag-library\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/nag.com\/"},{"@type":"ListItem","position":2,"name":"nAG Library"}]},{"@type":"WebSite","@id":"https:\/\/nag.com\/#website","url":"https:\/\/nag.com\/","name":"NAG","description":"Robust, trusted numerical software and computational expertise.","publisher":{"@id":"https:\/\/nag.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/nag.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/nag.com\/#organization","name":"Numerical Algorithms Group","alternateName":"NAG","url":"https:\/\/nag.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/nag.com\/#\/schema\/logo\/image\/","url":"https:\/\/nag.com\/wp-content\/uploads\/2023\/11\/NAG-Logo.png","contentUrl":"https:\/\/nag.com\/wp-content\/uploads\/2023\/11\/NAG-Logo.png","width":1244,"height":397,"caption":"Numerical Algorithms Group"},"image":{"@id":"https:\/\/nag.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/NAGTalk","https:\/\/www.linkedin.com\/company\/nag\/","https:\/\/www.youtube.com\/user\/NumericalAlgorithms","https:\/\/github.com\/numericalalgorithmsgroup"]}]}},"_links":{"self":[{"href":"https:\/\/nag.com\/wp-json\/wp\/v2\/pages\/105","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nag.com\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/nag.com\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/nag.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nag.com\/wp-json\/wp\/v2\/comments?post=105"}],"version-history":[{"count":241,"href":"https:\/\/nag.com\/wp-json\/wp\/v2\/pages\/105\/revisions"}],"predecessor-version":[{"id":51821,"href":"https:\/\/nag.com\/wp-json\/wp\/v2\/pages\/105\/revisions\/51821"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nag.com\/wp-json\/wp\/v2\/media\/4499"}],"wp:attachment":[{"href":"https:\/\/nag.com\/wp-json\/wp\/v2\/media?parent=105"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}