SlideShare a Scribd company logo
1 of 28
Download to read offline
NAG Quant Seminar / Finance Focus Event


                                    Latest releases and news
                                                     John Holden
                                              New York, July 2012




  Experts in numerical algorithms
  and HPC services
The NAG Library is now at Mark 23


 Now available as:
  The NAG Fortran Library
  The NAG Library for SMP & Multicore
  The NAG C Library
  The NAG Toolbox for MATLAB




                                             2
                                         2
The NAG Library is now at Mark 23


 Now available as:
  The NAG Fortran Library
  The NAG Library for SMP & Multicore
  The NAG C Library 1st implementations available
  The NAG Toolbox for MATLAB
      1st implementations became available this week!




                                                        3
                                            3
The NAG Library Contents
   Root Finding                         Dense Linear Algebra
   Summation of Series                  Sparse Linear Algebra
   Quadrature                           Correlation & Regression Analysis
   Ordinary Differential Equations      Multivariate Methods
   Partial Differential Equations       Analysis of Variance
   Numerical Differentiation            Random Number Generators
   Integral Equations                   Univariate Estimation
   Mesh Generation                      Nonparametric Statistics
   Interpolation                        Smoothing in Statistics
   Curve and Surface Fitting            Contingency Table Analysis
   optimisation                         Survival Analysis
   Approximations of Special            Time Series Analysis
    Functions                            Operations Research

                                                                              4
The NAG Toolbox and NAG C Library


Senior quant from Tier 1 Investment Bank
“We deploy production code in C++ embedding NAG C
Library functions wherever we can, but often prototype new
models in MATLAB before writing our C++ code. Having the
same NAG algorithms in MATLAB via the NAG Toolbox for
MATLAB is a real win for us”




                                                             5
NAG Toolbox: Ease of use improvements
 Function Handles
      In previous versions of the NAG Toolbox for MATLAB, users
       had to provide some parameters as m-files. While this
       functionality is still supported, users may also provide
       parameters as function handles.
 Better Exception handling
 Integer Utility introduced
      Making it easier to write portable code between 32 & 64
       bit platforms
 Improved example programs and long names


                                                                   6
NAG Library : new Mark 23
Mark 23 has new functions in many areas including...
 Wavelet Transforms
       One dimensional continuous transforms          optimisation
       Two dimensional discrete single level and               Multi-start optimisation*
        multi-level transforms                                  Minimization by quadratic approximation
 ODE’s                                                          (BOBYQA)
       BVP solution through Chebyshev pseudo-                  Stochastic global optimisation using PSO
        spectral method                                RNG’s
 Matrix Operations                                             Generators of multivariate copulas
       Matrix exponentials                                     Skip-ahead for Mersenne Twister
       Functions of real symmetric and Hermitian               L’Ecuyer MRG32K3a generator
        matricies                                         Statistics
       Sparse matrtix functions
                                                                Quantiles of streamed data, bivariate
       LAPACK 3.2 Cholesky solvers and                          Student’s t, and two probability density
        factorizations, and many other LAPACK driver             functions
        functions
                                                                Nearest correlation matrices
 Interpolation                                                 Quantile regression
       Modified Shepard’s method in 4D/5D                      Peirce Outlier detection
 New vector functions* (in G01 and S)                          Anderson–Darling goodness-of-fit

                                                    * only available in NAG C Library & NAG Toolbox (at MK23)   7
NAG Library : new Mark 23
Mark 23 has new functions in many areas including...
 Wavelet Transforms
       One dimensional continuous transforms           optimisation
       Two dimensional discrete single level and               Multi-start optimisation*
        multi-level transforms                                  Minimization by quadratic approximation
 ODE’s                                                          (BOBYQA)
       BVP solution through Chebyshev pseudo-                  Stochastic global optimisation using PSO
        spectral method                                 RNG’s
 Matrix Operations                                             Generators of multivariate copulas
       Matrix exponentials                                     Skip-ahead for Mersenne Twister
       Functions of real symmetric and Hermitian               L’Ecuyer MRG32K3a generator
        matricies                                          Statistics
       Sparse matrtix functions
                                                                Quantiles of streamed data, bivariate
       LAPACK 3.2 Cholesky solvers and                          Student’s t, and two probability density
        factorizations, and many other LAPACK driver             functions
        functions
                                                                Nearest correlation matrices
 Interpolation                                                 Quantile regression
       Modified Shepard’s method in 4D/5D                      Peirce Outlier detection
 New vector functions* (in G01 and S)                          Anderson–Darling goodness-of-fit


                                                    * only available in NAG C Library & NAG Toolbox (at MK23)   8
Focus on new routines in Mark 23




 Slides derived from
  http://www.nag.com/numeric/cl/newarticles23




                                                9
Focus on new routines at Mark 23 (1)
 Matrix functions
      exponential, principal logarithm, sine, cosine, sinh, cosh
           further marks will include square roots, non-integer powers...
      used in the solution of differential equations
                      𝑑𝒚
                         = 𝐴𝒚 ⇒ 𝒚 = 𝒚 𝟎 𝑒 𝐴𝑡
                      𝑑𝑡
      used in Markov chains in finance
           given the transition probability matrix, often want its p-th root
      used in graph theory
           given the network matrix, its exponential measures connectedness




                                                                                10
Focus on new routines at Mark 23 (2)
Global optimisation
 Multilevel Coordinate Search method
   added at Mark 22
    Handles simple bound constraints only

    Derivatives are not required

 Multiple-start algorithms for optimisation
      run local optimizer from several different points
           users have asked for a list of all local minima – not just the global
           useful when other criteria exist for an acceptable solution
      alternative to more complicated global optimisation methods


                                                                                    11
Focus on new routines at Mark 23 (3)
 Particle Swarm optimisation - some might say
  “Method of last resort!”
      The routines search for a global minimum using a variant
       of the particle swarm heuristic.
           This involves the initialization of a ‘swarm’ of particles in
            hyperspace, which are advected though the domain using a
            velocity dependent upon ‘inertia’, ‘cognitive memory’ and ‘global
            memory’.
      These routines are most effectively used when multiple
       cores are available for computation.




                                                                                12
Focus on new routines at Mark 23 (4)
 Bound optimisation BY Quadratic Approximation
     robust, easy-to-use minimization routine
          minimizes objective function subject to bound constraints
     uses quadratic approximation and trust regions
     doesn’t require derivatives
          useful in inverse problems – e.g. trying to infer material properties by
           matching simulation output to experimental measurement
     Example: distribute 50 points equally on a sphere
          BOBYQA : 4633 evaluations
          Nelder-Mead simplex solver (also in NAG Library) : 16757 evaluations




                                                                                  13
Focus on new routines at Mark 23 (5)
 Quantile regression
      models quantile of response variable
           cf. least-squares regression, which models the mean
      allows for more comprehensive data analysis
           potentially more insight into the data and underlying relationships
           less sensitive to large outlying distributions
      used in, e.g., ecology
           to discover more useful predictive relationships between variables
                 when there is only a weak relationship between means




                                                                                  14
Quantile regression example




                              15
Focus on new routines at Mark 23 (6)
 Improvements to nearest correlation matrix
      correlation matrix is used to construct sensible portfolios
           gives correlation between stocks in portfolio
                 must be positive semidefinite
                 sometimes isn’t – e.g. due to missing values
      routine for nearest correlation matrix added to Mark 22
           “closest approximation” to input (non-semidefinite) matrix
      Mark 23 enhancements allow for use of
           weighted norm
           factor structure
      incorporates more information about problem to be solved


                                                                         16
Focus on new routines at Mark 23 (7)
Sampling = randomly selecting one or more
observations or records from a particular dataset.
 Sampling with unequal weights
      selecting records from a dataset
      with / without replacement, with equal / unequal weights
           without replacement, with unequal weights new in CL23
 Sampling used widely
      selecting subjects for study in controlled experiment
      converting from a continuous signal to a discrete one
      re-using parts of sound recordings


                                                                    17
Focus on new routines at Mark 23 (8)
 Better Mersenne Twister Random Number Generator
     Mersenne Twister has very long period
          also fast implementation and good statistical properties
     Want to use it to create multiple streams
          for parallel applications
     Recommended method is skip-ahead
          sequence is partitioned into non-overlapping streams
     Now possible in Mark 23
          generate multiple streams of huge numbers of values with no overlap
 New routine for L’Ecuyer MRG32k3a RNG, as well


                                                                             18
COMING SOON…..




                      19
                 19
NAG and Java
Currently we steer the user to write their own
wrappers and provide a few examples.

 Use JNI library to wrap calls to NAG routines
     in either C Library or Fortran Library
     Technical report with detailed examples available
          online at www.nag.com
     Wrappers for specific routines available from NAG
          on request




                                                          20
NAG and Java
Currently we steer the user to write their own
wrappers and provide a few examples.

 Use JNI library to wrap calls to NAG routines
     in either C Library or Fortran Library
     Technical report with detailed examples available
          online at www.nag.com
     Wrappers for specific routines available from NAG
          on request
For some of you this is NOT enough!

                                                          21
So coming soon…. The NAG Library for Java

                          Java Wrapper



                   NAG Java              NAG C/JNI   NAG Fortran
User's Java App
                  Wrapper class           function     Library




User's callback




                                                                   22
Inside the wrapper
    Java wrapper class   C/JNI function




                                          23
Calling the NAG Library for Java
import com.nag.routines.e04.E04GB;

[...]
public static main(String[] args){
   [...]
   LSQFUN lsqfun = new LSQFUN();
   [...]
   E04GB e04gb = new E04GB(m, n, lsqlin, lsqfun, lsqmon, iprint, maxcal, eta, xtol,
                            stepmx, x, fsumq, fvec, fjac, ldfjac, s, v, ldv, niter,
                            nf, iw, liw, w, lw, ifail);
   [...]
   e04gb.eval();
   ifail = e04gb.getIFAIL();
   [...]
}
private static class LSQLIN implements E04GBJ.E04GBJ_LSQLIN {
   [...]
        public void eval(int SELCT) {
            this.SELCT = SELCT;
            E04HEV e04hev = new E04HEV(SELCT);
            e04hev.eval();
            this.SELCT = e04hev.getLSQLIN_SELECT();
      }
   }


                                                                                      24
Many-core & GPU

 Developed CUDA software for Monte Carlo
      new work for a PDE Solver for Stochastic Local Volatility
       progressing well
 Collaboration with Intel on MIC architecture
 Considerable expertise for training and consulting in
      OpenCL
      CUDA
      use of libraries such as MAGMA and PLASMA
           with plans to integrate into the NAG Library



                                                                   25
NAG Library Development Continues….
 NAG Library for .NET
      Following the success of the first release a second release
       is scheduled for 2013
      new functions will include optimisation, NCM,…
      Updated documentation for usage with VS2012
 Work already underway for Mark 24 of
      NAG Fortran, NAG C, NAG Toolbox for MATLAB,..
 Algorithmic Differentiation (AD)
      As well as providing training and consultancy we will be
       implementing AD versions of existing NAG Library
       functions


                                                                     26
Finally….



 Thank you and……




                    27
Finally….



 Thank you and……

     KEEP TELLING US WHAT YOU WANT




                                     28

More Related Content

What's hot

Software Frameworks for Deep Learning (D1L7 2017 UPC Deep Learning for Comput...
Software Frameworks for Deep Learning (D1L7 2017 UPC Deep Learning for Comput...Software Frameworks for Deep Learning (D1L7 2017 UPC Deep Learning for Comput...
Software Frameworks for Deep Learning (D1L7 2017 UPC Deep Learning for Comput...Universitat Politècnica de Catalunya
 
CloudMC: A cloud computing map-reduce implementation for radiotherapy. RUBEN ...
CloudMC: A cloud computing map-reduce implementation for radiotherapy. RUBEN ...CloudMC: A cloud computing map-reduce implementation for radiotherapy. RUBEN ...
CloudMC: A cloud computing map-reduce implementation for radiotherapy. RUBEN ...Big Data Spain
 
Auto encoders in Deep Learning
Auto encoders in Deep LearningAuto encoders in Deep Learning
Auto encoders in Deep LearningShajun Nisha
 
Cancellation of Zigbee interference in OFDM based WLAN for multipath channel
Cancellation of Zigbee interference in OFDM based WLAN for multipath channelCancellation of Zigbee interference in OFDM based WLAN for multipath channel
Cancellation of Zigbee interference in OFDM based WLAN for multipath channelIDES Editor
 
Grant Reaber “Wavenet and Wavenet 2: Generating high-quality audio with neura...
Grant Reaber “Wavenet and Wavenet 2: Generating high-quality audio with neura...Grant Reaber “Wavenet and Wavenet 2: Generating high-quality audio with neura...
Grant Reaber “Wavenet and Wavenet 2: Generating high-quality audio with neura...Lviv Startup Club
 
Stefano Giordano
Stefano GiordanoStefano Giordano
Stefano GiordanoGoWireless
 
Iaetsd implementation of power efficient iterative logarithmic multiplier usi...
Iaetsd implementation of power efficient iterative logarithmic multiplier usi...Iaetsd implementation of power efficient iterative logarithmic multiplier usi...
Iaetsd implementation of power efficient iterative logarithmic multiplier usi...Iaetsd Iaetsd
 
Master thesispresentation
Master thesispresentationMaster thesispresentation
Master thesispresentationMatthew Urffer
 
Multi-phase-field simulations with OpenPhase
Multi-phase-field simulations with OpenPhaseMulti-phase-field simulations with OpenPhase
Multi-phase-field simulations with OpenPhasePFHub PFHub
 
160205 NeuralArt - Understanding Neural Representation
160205 NeuralArt - Understanding Neural Representation160205 NeuralArt - Understanding Neural Representation
160205 NeuralArt - Understanding Neural RepresentationJunho Cho
 
Design limitations and its effect in the performance of ZC1-DPLL
Design limitations and its effect in the performance of ZC1-DPLLDesign limitations and its effect in the performance of ZC1-DPLL
Design limitations and its effect in the performance of ZC1-DPLLIDES Editor
 
Low Complexity Multi-User MIMO Detection for Uplink SCMA System Using Expecta...
Low Complexity Multi-User MIMO Detection for Uplink SCMA System Using Expecta...Low Complexity Multi-User MIMO Detection for Uplink SCMA System Using Expecta...
Low Complexity Multi-User MIMO Detection for Uplink SCMA System Using Expecta...TELKOMNIKA JOURNAL
 
Matrix Padding Method for Sparse Signal Reconstruction
Matrix Padding Method for Sparse Signal ReconstructionMatrix Padding Method for Sparse Signal Reconstruction
Matrix Padding Method for Sparse Signal ReconstructionCSCJournals
 
A PROGRESSIVE MESH METHOD FOR PHYSICAL SIMULATIONS USING LATTICE BOLTZMANN ME...
A PROGRESSIVE MESH METHOD FOR PHYSICAL SIMULATIONS USING LATTICE BOLTZMANN ME...A PROGRESSIVE MESH METHOD FOR PHYSICAL SIMULATIONS USING LATTICE BOLTZMANN ME...
A PROGRESSIVE MESH METHOD FOR PHYSICAL SIMULATIONS USING LATTICE BOLTZMANN ME...ijdpsjournal
 

What's hot (20)

Software Frameworks for Deep Learning (D1L7 2017 UPC Deep Learning for Comput...
Software Frameworks for Deep Learning (D1L7 2017 UPC Deep Learning for Comput...Software Frameworks for Deep Learning (D1L7 2017 UPC Deep Learning for Comput...
Software Frameworks for Deep Learning (D1L7 2017 UPC Deep Learning for Comput...
 
CloudMC: A cloud computing map-reduce implementation for radiotherapy. RUBEN ...
CloudMC: A cloud computing map-reduce implementation for radiotherapy. RUBEN ...CloudMC: A cloud computing map-reduce implementation for radiotherapy. RUBEN ...
CloudMC: A cloud computing map-reduce implementation for radiotherapy. RUBEN ...
 
02 analysis
02 analysis02 analysis
02 analysis
 
Auto encoders in Deep Learning
Auto encoders in Deep LearningAuto encoders in Deep Learning
Auto encoders in Deep Learning
 
Cancellation of Zigbee interference in OFDM based WLAN for multipath channel
Cancellation of Zigbee interference in OFDM based WLAN for multipath channelCancellation of Zigbee interference in OFDM based WLAN for multipath channel
Cancellation of Zigbee interference in OFDM based WLAN for multipath channel
 
Iy3116761679
Iy3116761679Iy3116761679
Iy3116761679
 
Grant Reaber “Wavenet and Wavenet 2: Generating high-quality audio with neura...
Grant Reaber “Wavenet and Wavenet 2: Generating high-quality audio with neura...Grant Reaber “Wavenet and Wavenet 2: Generating high-quality audio with neura...
Grant Reaber “Wavenet and Wavenet 2: Generating high-quality audio with neura...
 
Stefano Giordano
Stefano GiordanoStefano Giordano
Stefano Giordano
 
Flex ch
Flex chFlex ch
Flex ch
 
Iaetsd implementation of power efficient iterative logarithmic multiplier usi...
Iaetsd implementation of power efficient iterative logarithmic multiplier usi...Iaetsd implementation of power efficient iterative logarithmic multiplier usi...
Iaetsd implementation of power efficient iterative logarithmic multiplier usi...
 
cug2011-praveen
cug2011-praveencug2011-praveen
cug2011-praveen
 
Master thesispresentation
Master thesispresentationMaster thesispresentation
Master thesispresentation
 
Multi-phase-field simulations with OpenPhase
Multi-phase-field simulations with OpenPhaseMulti-phase-field simulations with OpenPhase
Multi-phase-field simulations with OpenPhase
 
160205 NeuralArt - Understanding Neural Representation
160205 NeuralArt - Understanding Neural Representation160205 NeuralArt - Understanding Neural Representation
160205 NeuralArt - Understanding Neural Representation
 
Design limitations and its effect in the performance of ZC1-DPLL
Design limitations and its effect in the performance of ZC1-DPLLDesign limitations and its effect in the performance of ZC1-DPLL
Design limitations and its effect in the performance of ZC1-DPLL
 
Gq2411921196
Gq2411921196Gq2411921196
Gq2411921196
 
Low Complexity Multi-User MIMO Detection for Uplink SCMA System Using Expecta...
Low Complexity Multi-User MIMO Detection for Uplink SCMA System Using Expecta...Low Complexity Multi-User MIMO Detection for Uplink SCMA System Using Expecta...
Low Complexity Multi-User MIMO Detection for Uplink SCMA System Using Expecta...
 
Matrix Padding Method for Sparse Signal Reconstruction
Matrix Padding Method for Sparse Signal ReconstructionMatrix Padding Method for Sparse Signal Reconstruction
Matrix Padding Method for Sparse Signal Reconstruction
 
Fulltext
FulltextFulltext
Fulltext
 
A PROGRESSIVE MESH METHOD FOR PHYSICAL SIMULATIONS USING LATTICE BOLTZMANN ME...
A PROGRESSIVE MESH METHOD FOR PHYSICAL SIMULATIONS USING LATTICE BOLTZMANN ME...A PROGRESSIVE MESH METHOD FOR PHYSICAL SIMULATIONS USING LATTICE BOLTZMANN ME...
A PROGRESSIVE MESH METHOD FOR PHYSICAL SIMULATIONS USING LATTICE BOLTZMANN ME...
 

Similar to Wilmott Nyc Jul2012 Nag Talk John Holden

Why quants love NAG & NAG from Excel
Why quants love NAG & NAG from ExcelWhy quants love NAG & NAG from Excel
Why quants love NAG & NAG from ExcelMarcin Krzysztofik
 
Fpga based efficient multiplier for image processing applications using recur...
Fpga based efficient multiplier for image processing applications using recur...Fpga based efficient multiplier for image processing applications using recur...
Fpga based efficient multiplier for image processing applications using recur...VLSICS Design
 
Hadoop Summit EU 2013: Parallel Linear Regression, IterativeReduce, and YARN
Hadoop Summit EU 2013: Parallel Linear Regression, IterativeReduce, and YARNHadoop Summit EU 2013: Parallel Linear Regression, IterativeReduce, and YARN
Hadoop Summit EU 2013: Parallel Linear Regression, IterativeReduce, and YARNJosh Patterson
 
Distributed approximate spectral clustering for large scale datasets
Distributed approximate spectral clustering for large scale datasetsDistributed approximate spectral clustering for large scale datasets
Distributed approximate spectral clustering for large scale datasetsBita Kazemi
 
Chap2 - ADSP 21K Manual - Processor and Software Overview
Chap2 - ADSP 21K Manual - Processor and Software OverviewChap2 - ADSP 21K Manual - Processor and Software Overview
Chap2 - ADSP 21K Manual - Processor and Software OverviewSethCopeland
 
Enterprise Scale Topological Data Analysis Using Spark
Enterprise Scale Topological Data Analysis Using SparkEnterprise Scale Topological Data Analysis Using Spark
Enterprise Scale Topological Data Analysis Using SparkAlpine Data
 
Enterprise Scale Topological Data Analysis Using Spark
Enterprise Scale Topological Data Analysis Using SparkEnterprise Scale Topological Data Analysis Using Spark
Enterprise Scale Topological Data Analysis Using SparkSpark Summit
 
FPGA Implementation of a GA
FPGA Implementation of a GAFPGA Implementation of a GA
FPGA Implementation of a GAHocine Merabti
 
Next generation analytics with yarn, spark and graph lab
Next generation analytics with yarn, spark and graph labNext generation analytics with yarn, spark and graph lab
Next generation analytics with yarn, spark and graph labImpetus Technologies
 
Hanna bosc2010
Hanna bosc2010Hanna bosc2010
Hanna bosc2010BOSC 2010
 
Memetic MO Ant Colony Algorithm for TSALBP
Memetic MO Ant Colony Algorithm for TSALBPMemetic MO Ant Colony Algorithm for TSALBP
Memetic MO Ant Colony Algorithm for TSALBPManuel ChiSe
 
Sparksummit2016 share
Sparksummit2016 shareSparksummit2016 share
Sparksummit2016 sharePing Yan
 
A Graph-Based Method For Cross-Entity Threat Detection
 A Graph-Based Method For Cross-Entity Threat Detection A Graph-Based Method For Cross-Entity Threat Detection
A Graph-Based Method For Cross-Entity Threat DetectionJen Aman
 
An area efficient relaxed half-stochastic decoding architecture for nonbinary...
An area efficient relaxed half-stochastic decoding architecture for nonbinary...An area efficient relaxed half-stochastic decoding architecture for nonbinary...
An area efficient relaxed half-stochastic decoding architecture for nonbinary...LogicMindtech Nologies
 
"Massive Parallel Decoding of Low-Density Parity-Check Codes Using Graphic Ca...
"Massive Parallel Decoding of Low-Density Parity-Check Codes Using Graphic Ca..."Massive Parallel Decoding of Low-Density Parity-Check Codes Using Graphic Ca...
"Massive Parallel Decoding of Low-Density Parity-Check Codes Using Graphic Ca...Enrique Monzo Solves
 
Optimization for iterative queries on Mapreduce
Optimization for iterative queries on MapreduceOptimization for iterative queries on Mapreduce
Optimization for iterative queries on Mapreducemakoto onizuka
 
Hybrid networking and distribution
Hybrid networking and distribution Hybrid networking and distribution
Hybrid networking and distribution vivek pratap singh
 
Deep Learning with Apache Spark: an Introduction
Deep Learning with Apache Spark: an IntroductionDeep Learning with Apache Spark: an Introduction
Deep Learning with Apache Spark: an IntroductionEmanuele Bezzi
 

Similar to Wilmott Nyc Jul2012 Nag Talk John Holden (20)

Why quants love NAG & NAG from Excel
Why quants love NAG & NAG from ExcelWhy quants love NAG & NAG from Excel
Why quants love NAG & NAG from Excel
 
Fpga based efficient multiplier for image processing applications using recur...
Fpga based efficient multiplier for image processing applications using recur...Fpga based efficient multiplier for image processing applications using recur...
Fpga based efficient multiplier for image processing applications using recur...
 
Hadoop Summit EU 2013: Parallel Linear Regression, IterativeReduce, and YARN
Hadoop Summit EU 2013: Parallel Linear Regression, IterativeReduce, and YARNHadoop Summit EU 2013: Parallel Linear Regression, IterativeReduce, and YARN
Hadoop Summit EU 2013: Parallel Linear Regression, IterativeReduce, and YARN
 
Distributed approximate spectral clustering for large scale datasets
Distributed approximate spectral clustering for large scale datasetsDistributed approximate spectral clustering for large scale datasets
Distributed approximate spectral clustering for large scale datasets
 
Chap2 - ADSP 21K Manual - Processor and Software Overview
Chap2 - ADSP 21K Manual - Processor and Software OverviewChap2 - ADSP 21K Manual - Processor and Software Overview
Chap2 - ADSP 21K Manual - Processor and Software Overview
 
EiB Seminar from Esteban Vegas, Ph.D.
EiB Seminar from Esteban Vegas, Ph.D. EiB Seminar from Esteban Vegas, Ph.D.
EiB Seminar from Esteban Vegas, Ph.D.
 
Enterprise Scale Topological Data Analysis Using Spark
Enterprise Scale Topological Data Analysis Using SparkEnterprise Scale Topological Data Analysis Using Spark
Enterprise Scale Topological Data Analysis Using Spark
 
Enterprise Scale Topological Data Analysis Using Spark
Enterprise Scale Topological Data Analysis Using SparkEnterprise Scale Topological Data Analysis Using Spark
Enterprise Scale Topological Data Analysis Using Spark
 
FPGA Implementation of a GA
FPGA Implementation of a GAFPGA Implementation of a GA
FPGA Implementation of a GA
 
Next generation analytics with yarn, spark and graph lab
Next generation analytics with yarn, spark and graph labNext generation analytics with yarn, spark and graph lab
Next generation analytics with yarn, spark and graph lab
 
Hanna bosc2010
Hanna bosc2010Hanna bosc2010
Hanna bosc2010
 
Yarn spark next_gen_hadoop_8_jan_2014
Yarn spark next_gen_hadoop_8_jan_2014Yarn spark next_gen_hadoop_8_jan_2014
Yarn spark next_gen_hadoop_8_jan_2014
 
Memetic MO Ant Colony Algorithm for TSALBP
Memetic MO Ant Colony Algorithm for TSALBPMemetic MO Ant Colony Algorithm for TSALBP
Memetic MO Ant Colony Algorithm for TSALBP
 
Sparksummit2016 share
Sparksummit2016 shareSparksummit2016 share
Sparksummit2016 share
 
A Graph-Based Method For Cross-Entity Threat Detection
 A Graph-Based Method For Cross-Entity Threat Detection A Graph-Based Method For Cross-Entity Threat Detection
A Graph-Based Method For Cross-Entity Threat Detection
 
An area efficient relaxed half-stochastic decoding architecture for nonbinary...
An area efficient relaxed half-stochastic decoding architecture for nonbinary...An area efficient relaxed half-stochastic decoding architecture for nonbinary...
An area efficient relaxed half-stochastic decoding architecture for nonbinary...
 
"Massive Parallel Decoding of Low-Density Parity-Check Codes Using Graphic Ca...
"Massive Parallel Decoding of Low-Density Parity-Check Codes Using Graphic Ca..."Massive Parallel Decoding of Low-Density Parity-Check Codes Using Graphic Ca...
"Massive Parallel Decoding of Low-Density Parity-Check Codes Using Graphic Ca...
 
Optimization for iterative queries on Mapreduce
Optimization for iterative queries on MapreduceOptimization for iterative queries on Mapreduce
Optimization for iterative queries on Mapreduce
 
Hybrid networking and distribution
Hybrid networking and distribution Hybrid networking and distribution
Hybrid networking and distribution
 
Deep Learning with Apache Spark: an Introduction
Deep Learning with Apache Spark: an IntroductionDeep Learning with Apache Spark: an Introduction
Deep Learning with Apache Spark: an Introduction
 

More from John Holden

Cloud Task Execution at Scale with example from quant finance
Cloud Task Execution at Scale with example from quant financeCloud Task Execution at Scale with example from quant finance
Cloud Task Execution at Scale with example from quant financeJohn Holden
 
ISC Frankfurt 2015: Good, bad and ugly of accelerators and a complementary path
ISC Frankfurt 2015: Good, bad and ugly of accelerators and a complementary pathISC Frankfurt 2015: Good, bad and ugly of accelerators and a complementary path
ISC Frankfurt 2015: Good, bad and ugly of accelerators and a complementary pathJohn Holden
 
NAG software for the Actuarial Community (Sep. 2012)
NAG software for the Actuarial Community (Sep. 2012)NAG software for the Actuarial Community (Sep. 2012)
NAG software for the Actuarial Community (Sep. 2012)John Holden
 
Numerical Excellence In Finance N A G Jan2010
Numerical Excellence In Finance N A G Jan2010Numerical Excellence In Finance N A G Jan2010
Numerical Excellence In Finance N A G Jan2010John Holden
 
Monte Carlo G P U Jan2010
Monte  Carlo  G P U  Jan2010Monte  Carlo  G P U  Jan2010
Monte Carlo G P U Jan2010John Holden
 
N A G P A R I S280101
N A G P A R I S280101N A G P A R I S280101
N A G P A R I S280101John Holden
 

More from John Holden (6)

Cloud Task Execution at Scale with example from quant finance
Cloud Task Execution at Scale with example from quant financeCloud Task Execution at Scale with example from quant finance
Cloud Task Execution at Scale with example from quant finance
 
ISC Frankfurt 2015: Good, bad and ugly of accelerators and a complementary path
ISC Frankfurt 2015: Good, bad and ugly of accelerators and a complementary pathISC Frankfurt 2015: Good, bad and ugly of accelerators and a complementary path
ISC Frankfurt 2015: Good, bad and ugly of accelerators and a complementary path
 
NAG software for the Actuarial Community (Sep. 2012)
NAG software for the Actuarial Community (Sep. 2012)NAG software for the Actuarial Community (Sep. 2012)
NAG software for the Actuarial Community (Sep. 2012)
 
Numerical Excellence In Finance N A G Jan2010
Numerical Excellence In Finance N A G Jan2010Numerical Excellence In Finance N A G Jan2010
Numerical Excellence In Finance N A G Jan2010
 
Monte Carlo G P U Jan2010
Monte  Carlo  G P U  Jan2010Monte  Carlo  G P U  Jan2010
Monte Carlo G P U Jan2010
 
N A G P A R I S280101
N A G P A R I S280101N A G P A R I S280101
N A G P A R I S280101
 

Wilmott Nyc Jul2012 Nag Talk John Holden

  • 1. NAG Quant Seminar / Finance Focus Event Latest releases and news John Holden New York, July 2012 Experts in numerical algorithms and HPC services
  • 2. The NAG Library is now at Mark 23 Now available as:  The NAG Fortran Library  The NAG Library for SMP & Multicore  The NAG C Library  The NAG Toolbox for MATLAB 2 2
  • 3. The NAG Library is now at Mark 23 Now available as:  The NAG Fortran Library  The NAG Library for SMP & Multicore  The NAG C Library 1st implementations available  The NAG Toolbox for MATLAB 1st implementations became available this week! 3 3
  • 4. The NAG Library Contents  Root Finding  Dense Linear Algebra  Summation of Series  Sparse Linear Algebra  Quadrature  Correlation & Regression Analysis  Ordinary Differential Equations  Multivariate Methods  Partial Differential Equations  Analysis of Variance  Numerical Differentiation  Random Number Generators  Integral Equations  Univariate Estimation  Mesh Generation  Nonparametric Statistics  Interpolation  Smoothing in Statistics  Curve and Surface Fitting  Contingency Table Analysis  optimisation  Survival Analysis  Approximations of Special  Time Series Analysis Functions  Operations Research 4
  • 5. The NAG Toolbox and NAG C Library Senior quant from Tier 1 Investment Bank “We deploy production code in C++ embedding NAG C Library functions wherever we can, but often prototype new models in MATLAB before writing our C++ code. Having the same NAG algorithms in MATLAB via the NAG Toolbox for MATLAB is a real win for us” 5
  • 6. NAG Toolbox: Ease of use improvements  Function Handles  In previous versions of the NAG Toolbox for MATLAB, users had to provide some parameters as m-files. While this functionality is still supported, users may also provide parameters as function handles.  Better Exception handling  Integer Utility introduced  Making it easier to write portable code between 32 & 64 bit platforms  Improved example programs and long names 6
  • 7. NAG Library : new Mark 23 Mark 23 has new functions in many areas including...  Wavelet Transforms  One dimensional continuous transforms  optimisation  Two dimensional discrete single level and  Multi-start optimisation* multi-level transforms  Minimization by quadratic approximation  ODE’s (BOBYQA)  BVP solution through Chebyshev pseudo-  Stochastic global optimisation using PSO spectral method  RNG’s  Matrix Operations  Generators of multivariate copulas  Matrix exponentials  Skip-ahead for Mersenne Twister  Functions of real symmetric and Hermitian  L’Ecuyer MRG32K3a generator matricies  Statistics  Sparse matrtix functions  Quantiles of streamed data, bivariate  LAPACK 3.2 Cholesky solvers and Student’s t, and two probability density factorizations, and many other LAPACK driver functions functions  Nearest correlation matrices  Interpolation  Quantile regression  Modified Shepard’s method in 4D/5D  Peirce Outlier detection  New vector functions* (in G01 and S)  Anderson–Darling goodness-of-fit * only available in NAG C Library & NAG Toolbox (at MK23) 7
  • 8. NAG Library : new Mark 23 Mark 23 has new functions in many areas including...  Wavelet Transforms  One dimensional continuous transforms  optimisation  Two dimensional discrete single level and  Multi-start optimisation* multi-level transforms  Minimization by quadratic approximation  ODE’s (BOBYQA)  BVP solution through Chebyshev pseudo-  Stochastic global optimisation using PSO spectral method  RNG’s  Matrix Operations  Generators of multivariate copulas  Matrix exponentials  Skip-ahead for Mersenne Twister  Functions of real symmetric and Hermitian  L’Ecuyer MRG32K3a generator matricies  Statistics  Sparse matrtix functions  Quantiles of streamed data, bivariate  LAPACK 3.2 Cholesky solvers and Student’s t, and two probability density factorizations, and many other LAPACK driver functions functions  Nearest correlation matrices  Interpolation  Quantile regression  Modified Shepard’s method in 4D/5D  Peirce Outlier detection  New vector functions* (in G01 and S)  Anderson–Darling goodness-of-fit * only available in NAG C Library & NAG Toolbox (at MK23) 8
  • 9. Focus on new routines in Mark 23  Slides derived from http://www.nag.com/numeric/cl/newarticles23 9
  • 10. Focus on new routines at Mark 23 (1)  Matrix functions  exponential, principal logarithm, sine, cosine, sinh, cosh  further marks will include square roots, non-integer powers...  used in the solution of differential equations 𝑑𝒚 = 𝐴𝒚 ⇒ 𝒚 = 𝒚 𝟎 𝑒 𝐴𝑡 𝑑𝑡  used in Markov chains in finance  given the transition probability matrix, often want its p-th root  used in graph theory  given the network matrix, its exponential measures connectedness 10
  • 11. Focus on new routines at Mark 23 (2) Global optimisation  Multilevel Coordinate Search method added at Mark 22  Handles simple bound constraints only  Derivatives are not required  Multiple-start algorithms for optimisation  run local optimizer from several different points  users have asked for a list of all local minima – not just the global  useful when other criteria exist for an acceptable solution  alternative to more complicated global optimisation methods 11
  • 12. Focus on new routines at Mark 23 (3)  Particle Swarm optimisation - some might say “Method of last resort!”  The routines search for a global minimum using a variant of the particle swarm heuristic.  This involves the initialization of a ‘swarm’ of particles in hyperspace, which are advected though the domain using a velocity dependent upon ‘inertia’, ‘cognitive memory’ and ‘global memory’.  These routines are most effectively used when multiple cores are available for computation. 12
  • 13. Focus on new routines at Mark 23 (4)  Bound optimisation BY Quadratic Approximation  robust, easy-to-use minimization routine  minimizes objective function subject to bound constraints  uses quadratic approximation and trust regions  doesn’t require derivatives  useful in inverse problems – e.g. trying to infer material properties by matching simulation output to experimental measurement  Example: distribute 50 points equally on a sphere  BOBYQA : 4633 evaluations  Nelder-Mead simplex solver (also in NAG Library) : 16757 evaluations 13
  • 14. Focus on new routines at Mark 23 (5)  Quantile regression  models quantile of response variable  cf. least-squares regression, which models the mean  allows for more comprehensive data analysis  potentially more insight into the data and underlying relationships  less sensitive to large outlying distributions  used in, e.g., ecology  to discover more useful predictive relationships between variables  when there is only a weak relationship between means 14
  • 16. Focus on new routines at Mark 23 (6)  Improvements to nearest correlation matrix  correlation matrix is used to construct sensible portfolios  gives correlation between stocks in portfolio  must be positive semidefinite  sometimes isn’t – e.g. due to missing values  routine for nearest correlation matrix added to Mark 22  “closest approximation” to input (non-semidefinite) matrix  Mark 23 enhancements allow for use of  weighted norm  factor structure  incorporates more information about problem to be solved 16
  • 17. Focus on new routines at Mark 23 (7) Sampling = randomly selecting one or more observations or records from a particular dataset.  Sampling with unequal weights  selecting records from a dataset  with / without replacement, with equal / unequal weights  without replacement, with unequal weights new in CL23  Sampling used widely  selecting subjects for study in controlled experiment  converting from a continuous signal to a discrete one  re-using parts of sound recordings 17
  • 18. Focus on new routines at Mark 23 (8)  Better Mersenne Twister Random Number Generator  Mersenne Twister has very long period  also fast implementation and good statistical properties  Want to use it to create multiple streams  for parallel applications  Recommended method is skip-ahead  sequence is partitioned into non-overlapping streams  Now possible in Mark 23  generate multiple streams of huge numbers of values with no overlap  New routine for L’Ecuyer MRG32k3a RNG, as well 18
  • 20. NAG and Java Currently we steer the user to write their own wrappers and provide a few examples.  Use JNI library to wrap calls to NAG routines  in either C Library or Fortran Library  Technical report with detailed examples available  online at www.nag.com  Wrappers for specific routines available from NAG  on request 20
  • 21. NAG and Java Currently we steer the user to write their own wrappers and provide a few examples.  Use JNI library to wrap calls to NAG routines  in either C Library or Fortran Library  Technical report with detailed examples available  online at www.nag.com  Wrappers for specific routines available from NAG  on request For some of you this is NOT enough! 21
  • 22. So coming soon…. The NAG Library for Java Java Wrapper NAG Java NAG C/JNI NAG Fortran User's Java App Wrapper class function Library User's callback 22
  • 23. Inside the wrapper Java wrapper class C/JNI function 23
  • 24. Calling the NAG Library for Java import com.nag.routines.e04.E04GB; [...] public static main(String[] args){ [...] LSQFUN lsqfun = new LSQFUN(); [...] E04GB e04gb = new E04GB(m, n, lsqlin, lsqfun, lsqmon, iprint, maxcal, eta, xtol, stepmx, x, fsumq, fvec, fjac, ldfjac, s, v, ldv, niter, nf, iw, liw, w, lw, ifail); [...] e04gb.eval(); ifail = e04gb.getIFAIL(); [...] } private static class LSQLIN implements E04GBJ.E04GBJ_LSQLIN { [...] public void eval(int SELCT) { this.SELCT = SELCT; E04HEV e04hev = new E04HEV(SELCT); e04hev.eval(); this.SELCT = e04hev.getLSQLIN_SELECT(); } } 24
  • 25. Many-core & GPU  Developed CUDA software for Monte Carlo  new work for a PDE Solver for Stochastic Local Volatility progressing well  Collaboration with Intel on MIC architecture  Considerable expertise for training and consulting in  OpenCL  CUDA  use of libraries such as MAGMA and PLASMA  with plans to integrate into the NAG Library 25
  • 26. NAG Library Development Continues….  NAG Library for .NET  Following the success of the first release a second release is scheduled for 2013  new functions will include optimisation, NCM,…  Updated documentation for usage with VS2012  Work already underway for Mark 24 of  NAG Fortran, NAG C, NAG Toolbox for MATLAB,..  Algorithmic Differentiation (AD)  As well as providing training and consultancy we will be implementing AD versions of existing NAG Library functions 26
  • 28. Finally….  Thank you and…… KEEP TELLING US WHAT YOU WANT 28