SlideShare uma empresa Scribd logo
1 de 50
Numerical Methods ESUG, Gent 1999 Didier Besset Independent Consultant
Road Map ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Road Map ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Dealing With Numerical Data ,[object Object],[object Object],[object Object]
Using Fractions ,[object Object],[object Object],[object Object],[object Object],[object Object]
Using Floating Point Numbers ,[object Object],[object Object],[object Object],[object Object]
Using Floating Point Numbers ,[object Object],[object Object],[object Object],[object Object]
Using Floating Point Numbers ,[object Object],[object Object],[object Object]
Using Floating Point Numbers ,[object Object],[object Object]
Using Floating Point Numbers ,[object Object],[object Object]
Using Floating Point Numbers ,[object Object],relativelyEqualsTo: aNumber upTo: aSmallNumber | norm | norm := self abs max: aNumber abs. ^norm <= aSmallNumber or: [ (self - aNumber) abs < ( aSmallNumber * norm)]   equalsTo: aNumber ^self relativelyEqualsTo: aNumber upTo: DhbFloatingPointMachine  default  defaultNumericalPrecision  
Road Map ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Iterative Processes ,[object Object],[object Object],[object Object]
Successive Approximations Begin Compute or choose initial object Compute next object Object sufficient? Yes End No
Iterative Processes NewtonZeroFinder TrapezeIntegrator SimpsonIntegrator RombergIntegrator EigenValues MaximumLikelihoodFit LeastSquareFit GeneticAlgorithm SimplexAlgorithm HillClimbing IterativeProcess FunctionalIterator ClusterAnalyzer InfiniteSeries ContinuedFraction
Implementation Begin iterations := 0 Yes Perform clean-up Compute next object iterations :=  iterations  + 1 No iterations < maximumIterations Compute or choose initial object End No Yes precision < desiredPrecision
Methods evaluate finalizeIteration hasConverged evaluateIteration initializeIteration Compute or choose initial object Yes No Compute next object iterations :=  iterations  + 1 Perform clean-up No Yes iterations := 0 iterations < maximumIterations Begin End precision < desiredPrecision
Simple example of use | iterativeProcess result | iterativeProcess :=  <a subclass of IterativeProcess>  new. result := iterativeProcess evaluate. iterativeProcess hasConverged ifFalse:[  <special case processing> ].
Advanced example of use | iterativeProcess result precision | iterativeProcess := < a subclass of DhbIterativeProcess > new. iterativeProcess desiredPrecision: 1.0e-6; maximumIterations: 25. result := iterativeProcess evaluate. iterativeProcess hasConverged ifTrue: [ Transcript nextPutAll: ‘Result obtained after ‘. iterativeProcess iteration printOn: Transcript. Transcript nextPutAll: ‘iterations. Attained precision is ‘. iterativeProcess precision printOn: Transcript. ] ifFalse:[ Transcript nextPutAll: ‘Process did not converge’]. Transcript cr.
Class Diagram IterativeProcess evaluate initializeIteration hasConverged evaluateIteration finalizeIteration precisionOf:relativeTo: desiredPrecision (g,s) maximumIterations (g,s) precision (g) iterations (g) result (g)
[object Object],[object Object],Case of Numerical Result precisionOf: aNumber1 relativeTo: aNumber2 ^aNumber2 > DhbFloatingPointMachine default defaultNumericalPrecision ifTrue: [ aNumber1 / aNumber2] ifFalse:[ aNumber1] Result Absolute precision
Example of use | iterativeProcess result | iterativeProcess  := <a subclass of FunctionalIterator>  function: ( DhbPolynomial new: #(1 2 3). result := iterativeProcess evaluate. iterativeProcess hasConverged ifFalse:[  <special case processing> ].
Class Diagram initializeIteration computeInitialValues   relativePrecision setFunction: functionBlock (s) FunctionalIterator IterativeProcess value: AbstractFunction
Road Map ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Newton’s Zero Finding ,[object Object],[object Object]
Newton’s Zero Finding ,[object Object],[object Object],[object Object],[object Object]
Newton’s Zero Finding x 1 f(x) x 2 x 3 y = f(x 1 ) + f’(x 1 ) · (x- x 1 )
Example of use | zeroFinder result | zeroFinder:= DhbNewtonZeroFinder function: [ :x | x errorFunction - 0.9] derivative: [ :x | x normal]. zeroFinder initialValue: 1. result := zeroFinder evaluate. zeroFinder hasConverged ifFalse:[  <special case processing> ].
Class Diagram evaluateIteration computeInitialValues   (o) defaultDerivativeBlock   initialValue: setFunction: (o) NewtonZeroFinder IterativeProcess FunctionalIterator value: AbstractFunction derivativeBlock (s)
Newton’s Zero Finding x 1 Effect of a nearly 0 derivative during iterations x 2 x 3
Road Map ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Eigenvalues & Eigenvectors ,[object Object],[object Object],[object Object]
Eigenvalues & Eigenvectors ,[object Object],[object Object],[object Object]
Eigenvalues & Eigenvectors ,[object Object],[object Object],[object Object]
Eigenvalues & Eigenvectors ,[object Object],[object Object],[object Object]
Eigenvalues & Eigenvectors ,[object Object],[object Object],[object Object]
Eigenvalues & Eigenvectors ,[object Object],[object Object],[object Object],[object Object]
Eigenvalues & Eigenvectors ,[object Object],[object Object],[object Object],[object Object],[object Object]
Example of use | matrix jacobi eigenvalues transform | matrix := DhbMatrix rows: #( ( 3 -2 0) (-2 7 1) (0 1 5)). jacobi := DhbJacobiTransformation new: matrix. jacobi evaluate. iterativeProcess hasConverged ifTrue:[ eigenvalues := jacobi result.   transform := jacobi transform.   ] ifFalse:[  <special case processing> ].
Class Diagram evaluateIteration largestOffDiagonalIndices transformAt:and: finalizeIteration sortEigenValues exchangeAt: printOn: JacobiTransformation IterativeProcess lowerRows (i) transform (g)
Road Map ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Cluster Analysis ,[object Object],[object Object],[object Object],[object Object]
Cluster Analysis ,[object Object],[object Object]
Cluster Analysis ,[object Object],[object Object],[object Object],[object Object],[object Object]
Cluster Analysis ,[object Object],[object Object],[object Object]
Cluster Analysis ,[object Object],[object Object],[object Object]
Example of use | server finder | server := < a subclass of DhbAbstractClusterDataServer  > new. finder := DhbClusterFinder new: 15 server: server type: DhbEuclidianMetric. finder evaluate. finder tally
Class Diagram evaluateIteration accumulate: indexOfNearestCluster: initializeIteration finalizeIteration ClusterFinder IterativeProcess dataServer (i) clusters (i,g) accumulate: distance: isEmpty: reset Cluster openDataStream closeDataStream dimension seedClusterIn: accumulateDataIn: ClusterDataServer accumulator (i) metric (i) count (g)
Conclusion ,[object Object],[object Object],[object Object]
Questions ? To reach me:  [email_address]

Mais conteúdo relacionado

Mais procurados

Numerical Method Analysis: Algebraic and Transcendental Equations (Non-Linear)
Numerical Method Analysis: Algebraic and Transcendental Equations (Non-Linear)Numerical Method Analysis: Algebraic and Transcendental Equations (Non-Linear)
Numerical Method Analysis: Algebraic and Transcendental Equations (Non-Linear)Minhas Kamal
 
Presentation on application of numerical method in our life
Presentation on application of numerical method in our lifePresentation on application of numerical method in our life
Presentation on application of numerical method in our lifeManish Kumar Singh
 
Interpolation and its applications
Interpolation and its applicationsInterpolation and its applications
Interpolation and its applicationsRinkuMonani
 
CS8451 - Design and Analysis of Algorithms
CS8451 - Design and Analysis of AlgorithmsCS8451 - Design and Analysis of Algorithms
CS8451 - Design and Analysis of AlgorithmsKrishnan MuthuManickam
 
Intro. to computational Physics ch2.pdf
Intro. to computational Physics ch2.pdfIntro. to computational Physics ch2.pdf
Intro. to computational Physics ch2.pdfJifarRaya
 
design and analysis of algorithm
design and analysis of algorithmdesign and analysis of algorithm
design and analysis of algorithmMuhammad Arish
 
Introduction to comp.physics ch 3.pdf
Introduction to comp.physics ch 3.pdfIntroduction to comp.physics ch 3.pdf
Introduction to comp.physics ch 3.pdfJifarRaya
 

Mais procurados (20)

Numerical Method Analysis: Algebraic and Transcendental Equations (Non-Linear)
Numerical Method Analysis: Algebraic and Transcendental Equations (Non-Linear)Numerical Method Analysis: Algebraic and Transcendental Equations (Non-Linear)
Numerical Method Analysis: Algebraic and Transcendental Equations (Non-Linear)
 
Signal Processing Assignment Help
Signal Processing Assignment HelpSignal Processing Assignment Help
Signal Processing Assignment Help
 
Presentation on application of numerical method in our life
Presentation on application of numerical method in our lifePresentation on application of numerical method in our life
Presentation on application of numerical method in our life
 
algorithm Unit 4
algorithm Unit 4 algorithm Unit 4
algorithm Unit 4
 
Diffusion Homework Help
Diffusion Homework HelpDiffusion Homework Help
Diffusion Homework Help
 
Statistical Physics Assignment Help
Statistical Physics Assignment HelpStatistical Physics Assignment Help
Statistical Physics Assignment Help
 
Greedy Algorithms
Greedy AlgorithmsGreedy Algorithms
Greedy Algorithms
 
Interpolation and its applications
Interpolation and its applicationsInterpolation and its applications
Interpolation and its applications
 
Computer Science Assignment Help
Computer Science Assignment Help Computer Science Assignment Help
Computer Science Assignment Help
 
Data Analysis Homework Help
Data Analysis Homework HelpData Analysis Homework Help
Data Analysis Homework Help
 
CS8451 - Design and Analysis of Algorithms
CS8451 - Design and Analysis of AlgorithmsCS8451 - Design and Analysis of Algorithms
CS8451 - Design and Analysis of Algorithms
 
algorithm Unit 2
algorithm Unit 2 algorithm Unit 2
algorithm Unit 2
 
Es272 ch5a
Es272 ch5aEs272 ch5a
Es272 ch5a
 
Mechanical Engineering Assignment Help
Mechanical Engineering Assignment HelpMechanical Engineering Assignment Help
Mechanical Engineering Assignment Help
 
Intro. to computational Physics ch2.pdf
Intro. to computational Physics ch2.pdfIntro. to computational Physics ch2.pdf
Intro. to computational Physics ch2.pdf
 
Machnical Engineering Assignment Help
Machnical Engineering Assignment HelpMachnical Engineering Assignment Help
Machnical Engineering Assignment Help
 
algorithm unit 1
algorithm unit 1algorithm unit 1
algorithm unit 1
 
design and analysis of algorithm
design and analysis of algorithmdesign and analysis of algorithm
design and analysis of algorithm
 
Bisection method
Bisection methodBisection method
Bisection method
 
Introduction to comp.physics ch 3.pdf
Introduction to comp.physics ch 3.pdfIntroduction to comp.physics ch 3.pdf
Introduction to comp.physics ch 3.pdf
 

Destaque

Introduction to Numerical Methods for Differential Equations
Introduction to Numerical Methods for Differential EquationsIntroduction to Numerical Methods for Differential Equations
Introduction to Numerical Methods for Differential Equationsmatthew_henderson
 
Numerical analysis using Scilab: Error analysis and propagation
Numerical analysis using Scilab: Error analysis and propagationNumerical analysis using Scilab: Error analysis and propagation
Numerical analysis using Scilab: Error analysis and propagationScilab
 
Hpcc euler
Hpcc eulerHpcc euler
Hpcc eulerrhuzefa
 
Eulermethod3
Eulermethod3Eulermethod3
Eulermethod3stellajoh
 
Euler method notes sb
Euler method notes sbEuler method notes sb
Euler method notes sbjanetvmiller
 
AP Calculus AB March 25, 2009
AP Calculus AB March 25, 2009AP Calculus AB March 25, 2009
AP Calculus AB March 25, 2009Darren Kuropatwa
 
Perturbation methods last
Perturbation methods lastPerturbation methods last
Perturbation methods lastSabir Ahmed
 
Successive iteration method for reconstruction of missing data
Successive iteration method for reconstruction of missing dataSuccessive iteration method for reconstruction of missing data
Successive iteration method for reconstruction of missing dataIAEME Publication
 
Calculus II - 13
Calculus II - 13Calculus II - 13
Calculus II - 13David Mao
 
Euler Method using MATLAB
Euler Method using MATLABEuler Method using MATLAB
Euler Method using MATLABM.Ahmed Waqas
 
Automobile 3rd sem aem ppt.2016
Automobile 3rd sem aem ppt.2016Automobile 3rd sem aem ppt.2016
Automobile 3rd sem aem ppt.2016kalpeshvaghdodiya
 
metode euler
metode eulermetode euler
metode eulerRuth Dian
 
Interactives Methods
Interactives MethodsInteractives Methods
Interactives MethodsUIS
 

Destaque (20)

Introduction to Numerical Methods for Differential Equations
Introduction to Numerical Methods for Differential EquationsIntroduction to Numerical Methods for Differential Equations
Introduction to Numerical Methods for Differential Equations
 
Numerical analysis using Scilab: Error analysis and propagation
Numerical analysis using Scilab: Error analysis and propagationNumerical analysis using Scilab: Error analysis and propagation
Numerical analysis using Scilab: Error analysis and propagation
 
Es272 ch2
Es272 ch2Es272 ch2
Es272 ch2
 
Hpcc euler
Hpcc eulerHpcc euler
Hpcc euler
 
Day 4 examples
Day 4 examplesDay 4 examples
Day 4 examples
 
Eulermethod3
Eulermethod3Eulermethod3
Eulermethod3
 
Euler method notes sb
Euler method notes sbEuler method notes sb
Euler method notes sb
 
10 09
10 0910 09
10 09
 
DLR_DG_AZIZ_2003
DLR_DG_AZIZ_2003DLR_DG_AZIZ_2003
DLR_DG_AZIZ_2003
 
AP Calculus AB March 25, 2009
AP Calculus AB March 25, 2009AP Calculus AB March 25, 2009
AP Calculus AB March 25, 2009
 
Class 16 floating and proportional control mode
Class 16   floating and proportional control modeClass 16   floating and proportional control mode
Class 16 floating and proportional control mode
 
Perturbation methods last
Perturbation methods lastPerturbation methods last
Perturbation methods last
 
Successive iteration method for reconstruction of missing data
Successive iteration method for reconstruction of missing dataSuccessive iteration method for reconstruction of missing data
Successive iteration method for reconstruction of missing data
 
Calculus II - 13
Calculus II - 13Calculus II - 13
Calculus II - 13
 
Euler Method using MATLAB
Euler Method using MATLABEuler Method using MATLAB
Euler Method using MATLAB
 
Power method
Power methodPower method
Power method
 
Automobile 3rd sem aem ppt.2016
Automobile 3rd sem aem ppt.2016Automobile 3rd sem aem ppt.2016
Automobile 3rd sem aem ppt.2016
 
Differential equations intro
Differential equations introDifferential equations intro
Differential equations intro
 
metode euler
metode eulermetode euler
metode euler
 
Interactives Methods
Interactives MethodsInteractives Methods
Interactives Methods
 

Semelhante a Numerical Methods

Beginners Guide to Non-Negative Matrix Factorization
Beginners Guide to Non-Negative Matrix FactorizationBeginners Guide to Non-Negative Matrix Factorization
Beginners Guide to Non-Negative Matrix FactorizationBenjamin Bengfort
 
Sienna 13 limitations
Sienna 13 limitationsSienna 13 limitations
Sienna 13 limitationschidabdu
 
Nelder Mead Search Algorithm
Nelder Mead Search AlgorithmNelder Mead Search Algorithm
Nelder Mead Search AlgorithmAshish Khetan
 
Cs6402 design and analysis of algorithms may june 2016 answer key
Cs6402 design and analysis of algorithms may june 2016 answer keyCs6402 design and analysis of algorithms may june 2016 answer key
Cs6402 design and analysis of algorithms may june 2016 answer keyappasami
 
Research Inventy : International Journal of Engineering and Science
Research Inventy : International Journal of Engineering and ScienceResearch Inventy : International Journal of Engineering and Science
Research Inventy : International Journal of Engineering and Scienceresearchinventy
 
Algorithm chapter 1
Algorithm chapter 1Algorithm chapter 1
Algorithm chapter 1chidabdu
 
Perform brute force
Perform brute forcePerform brute force
Perform brute forceSHC
 
Introducción al Análisis y diseño de algoritmos
Introducción al Análisis y diseño de algoritmosIntroducción al Análisis y diseño de algoritmos
Introducción al Análisis y diseño de algoritmosluzenith_g
 
Computational Intelligence Assisted Engineering Design Optimization (using MA...
Computational Intelligence Assisted Engineering Design Optimization (using MA...Computational Intelligence Assisted Engineering Design Optimization (using MA...
Computational Intelligence Assisted Engineering Design Optimization (using MA...AmirParnianifard1
 
CS345-Algorithms-II-Lecture-1-CS345-2016.pdf
CS345-Algorithms-II-Lecture-1-CS345-2016.pdfCS345-Algorithms-II-Lecture-1-CS345-2016.pdf
CS345-Algorithms-II-Lecture-1-CS345-2016.pdfOpenWorld6
 
Machine learning and linear regression programming
Machine learning and linear regression programmingMachine learning and linear regression programming
Machine learning and linear regression programmingSoumya Mukherjee
 
Undecidable Problems - COPING WITH THE LIMITATIONS OF ALGORITHM POWER
Undecidable Problems - COPING WITH THE LIMITATIONS OF ALGORITHM POWERUndecidable Problems - COPING WITH THE LIMITATIONS OF ALGORITHM POWER
Undecidable Problems - COPING WITH THE LIMITATIONS OF ALGORITHM POWERmuthukrishnavinayaga
 
Divide and Conquer / Greedy Techniques
Divide and Conquer / Greedy TechniquesDivide and Conquer / Greedy Techniques
Divide and Conquer / Greedy TechniquesNirmalavenkatachalam
 
Data Structures- Part2 analysis tools
Data Structures- Part2 analysis toolsData Structures- Part2 analysis tools
Data Structures- Part2 analysis toolsAbdullah Al-hazmy
 

Semelhante a Numerical Methods (20)

Ada notes
Ada notesAda notes
Ada notes
 
Beginners Guide to Non-Negative Matrix Factorization
Beginners Guide to Non-Negative Matrix FactorizationBeginners Guide to Non-Negative Matrix Factorization
Beginners Guide to Non-Negative Matrix Factorization
 
Sienna 13 limitations
Sienna 13 limitationsSienna 13 limitations
Sienna 13 limitations
 
Nelder Mead Search Algorithm
Nelder Mead Search AlgorithmNelder Mead Search Algorithm
Nelder Mead Search Algorithm
 
Cs6402 design and analysis of algorithms may june 2016 answer key
Cs6402 design and analysis of algorithms may june 2016 answer keyCs6402 design and analysis of algorithms may june 2016 answer key
Cs6402 design and analysis of algorithms may june 2016 answer key
 
Research Inventy : International Journal of Engineering and Science
Research Inventy : International Journal of Engineering and ScienceResearch Inventy : International Journal of Engineering and Science
Research Inventy : International Journal of Engineering and Science
 
Alg1
Alg1Alg1
Alg1
 
Algorithm chapter 1
Algorithm chapter 1Algorithm chapter 1
Algorithm chapter 1
 
Perform brute force
Perform brute forcePerform brute force
Perform brute force
 
Introducción al Análisis y diseño de algoritmos
Introducción al Análisis y diseño de algoritmosIntroducción al Análisis y diseño de algoritmos
Introducción al Análisis y diseño de algoritmos
 
Slide2
Slide2Slide2
Slide2
 
Computational Intelligence Assisted Engineering Design Optimization (using MA...
Computational Intelligence Assisted Engineering Design Optimization (using MA...Computational Intelligence Assisted Engineering Design Optimization (using MA...
Computational Intelligence Assisted Engineering Design Optimization (using MA...
 
CS345-Algorithms-II-Lecture-1-CS345-2016.pdf
CS345-Algorithms-II-Lecture-1-CS345-2016.pdfCS345-Algorithms-II-Lecture-1-CS345-2016.pdf
CS345-Algorithms-II-Lecture-1-CS345-2016.pdf
 
algo_vc_lecture8.ppt
algo_vc_lecture8.pptalgo_vc_lecture8.ppt
algo_vc_lecture8.ppt
 
Machine learning and linear regression programming
Machine learning and linear regression programmingMachine learning and linear regression programming
Machine learning and linear regression programming
 
Undecidable Problems - COPING WITH THE LIMITATIONS OF ALGORITHM POWER
Undecidable Problems - COPING WITH THE LIMITATIONS OF ALGORITHM POWERUndecidable Problems - COPING WITH THE LIMITATIONS OF ALGORITHM POWER
Undecidable Problems - COPING WITH THE LIMITATIONS OF ALGORITHM POWER
 
Lecture 7.pptx
Lecture 7.pptxLecture 7.pptx
Lecture 7.pptx
 
Divide and Conquer / Greedy Techniques
Divide and Conquer / Greedy TechniquesDivide and Conquer / Greedy Techniques
Divide and Conquer / Greedy Techniques
 
Data Structures- Part2 analysis tools
Data Structures- Part2 analysis toolsData Structures- Part2 analysis tools
Data Structures- Part2 analysis tools
 
Unit 2 in daa
Unit 2 in daaUnit 2 in daa
Unit 2 in daa
 

Mais de ESUG

Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingWorkshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingESUG
 
Technical documentation support in Pharo
Technical documentation support in PharoTechnical documentation support in Pharo
Technical documentation support in PharoESUG
 
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapThe Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapESUG
 
Sequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoSequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoESUG
 
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...ESUG
 
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsAnalyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsESUG
 
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6ESUG
 
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationA Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationESUG
 
Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingCreating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingESUG
 
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesThreaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesESUG
 
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportExploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportESUG
 
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsPharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsESUG
 
Garbage Collector Tuning
Garbage Collector TuningGarbage Collector Tuning
Garbage Collector TuningESUG
 
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseImproving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseESUG
 
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FuturePharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FutureESUG
 
thisContext in the Debugger
thisContext in the DebuggerthisContext in the Debugger
thisContext in the DebuggerESUG
 
Websockets for Fencing Score
Websockets for Fencing ScoreWebsockets for Fencing Score
Websockets for Fencing ScoreESUG
 
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptESUG
 
Advanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocAdvanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocESUG
 
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsA New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsESUG
 

Mais de ESUG (20)

Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingWorkshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programming
 
Technical documentation support in Pharo
Technical documentation support in PharoTechnical documentation support in Pharo
Technical documentation support in Pharo
 
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapThe Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and Roadmap
 
Sequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoSequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in Pharo
 
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...
 
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsAnalyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early results
 
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
 
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationA Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test Generation
 
Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingCreating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic Programming
 
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesThreaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
 
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportExploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience Report
 
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsPharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIs
 
Garbage Collector Tuning
Garbage Collector TuningGarbage Collector Tuning
Garbage Collector Tuning
 
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseImproving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
 
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FuturePharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and Future
 
thisContext in the Debugger
thisContext in the DebuggerthisContext in the Debugger
thisContext in the Debugger
 
Websockets for Fencing Score
Websockets for Fencing ScoreWebsockets for Fencing Score
Websockets for Fencing Score
 
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
 
Advanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocAdvanced Object- Oriented Design Mooc
Advanced Object- Oriented Design Mooc
 
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsA New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and Transformations
 

Último

Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 

Último (20)

Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 

Numerical Methods

  • 1. Numerical Methods ESUG, Gent 1999 Didier Besset Independent Consultant
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14. Successive Approximations Begin Compute or choose initial object Compute next object Object sufficient? Yes End No
  • 15. Iterative Processes NewtonZeroFinder TrapezeIntegrator SimpsonIntegrator RombergIntegrator EigenValues MaximumLikelihoodFit LeastSquareFit GeneticAlgorithm SimplexAlgorithm HillClimbing IterativeProcess FunctionalIterator ClusterAnalyzer InfiniteSeries ContinuedFraction
  • 16. Implementation Begin iterations := 0 Yes Perform clean-up Compute next object iterations := iterations + 1 No iterations < maximumIterations Compute or choose initial object End No Yes precision < desiredPrecision
  • 17. Methods evaluate finalizeIteration hasConverged evaluateIteration initializeIteration Compute or choose initial object Yes No Compute next object iterations := iterations + 1 Perform clean-up No Yes iterations := 0 iterations < maximumIterations Begin End precision < desiredPrecision
  • 18. Simple example of use | iterativeProcess result | iterativeProcess := <a subclass of IterativeProcess> new. result := iterativeProcess evaluate. iterativeProcess hasConverged ifFalse:[ <special case processing> ].
  • 19. Advanced example of use | iterativeProcess result precision | iterativeProcess := < a subclass of DhbIterativeProcess > new. iterativeProcess desiredPrecision: 1.0e-6; maximumIterations: 25. result := iterativeProcess evaluate. iterativeProcess hasConverged ifTrue: [ Transcript nextPutAll: ‘Result obtained after ‘. iterativeProcess iteration printOn: Transcript. Transcript nextPutAll: ‘iterations. Attained precision is ‘. iterativeProcess precision printOn: Transcript. ] ifFalse:[ Transcript nextPutAll: ‘Process did not converge’]. Transcript cr.
  • 20. Class Diagram IterativeProcess evaluate initializeIteration hasConverged evaluateIteration finalizeIteration precisionOf:relativeTo: desiredPrecision (g,s) maximumIterations (g,s) precision (g) iterations (g) result (g)
  • 21.
  • 22. Example of use | iterativeProcess result | iterativeProcess := <a subclass of FunctionalIterator> function: ( DhbPolynomial new: #(1 2 3). result := iterativeProcess evaluate. iterativeProcess hasConverged ifFalse:[ <special case processing> ].
  • 23. Class Diagram initializeIteration computeInitialValues relativePrecision setFunction: functionBlock (s) FunctionalIterator IterativeProcess value: AbstractFunction
  • 24.
  • 25.
  • 26.
  • 27. Newton’s Zero Finding x 1 f(x) x 2 x 3 y = f(x 1 ) + f’(x 1 ) · (x- x 1 )
  • 28. Example of use | zeroFinder result | zeroFinder:= DhbNewtonZeroFinder function: [ :x | x errorFunction - 0.9] derivative: [ :x | x normal]. zeroFinder initialValue: 1. result := zeroFinder evaluate. zeroFinder hasConverged ifFalse:[ <special case processing> ].
  • 29. Class Diagram evaluateIteration computeInitialValues (o) defaultDerivativeBlock initialValue: setFunction: (o) NewtonZeroFinder IterativeProcess FunctionalIterator value: AbstractFunction derivativeBlock (s)
  • 30. Newton’s Zero Finding x 1 Effect of a nearly 0 derivative during iterations x 2 x 3
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39. Example of use | matrix jacobi eigenvalues transform | matrix := DhbMatrix rows: #( ( 3 -2 0) (-2 7 1) (0 1 5)). jacobi := DhbJacobiTransformation new: matrix. jacobi evaluate. iterativeProcess hasConverged ifTrue:[ eigenvalues := jacobi result. transform := jacobi transform. ] ifFalse:[ <special case processing> ].
  • 40. Class Diagram evaluateIteration largestOffDiagonalIndices transformAt:and: finalizeIteration sortEigenValues exchangeAt: printOn: JacobiTransformation IterativeProcess lowerRows (i) transform (g)
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47. Example of use | server finder | server := < a subclass of DhbAbstractClusterDataServer > new. finder := DhbClusterFinder new: 15 server: server type: DhbEuclidianMetric. finder evaluate. finder tally
  • 48. Class Diagram evaluateIteration accumulate: indexOfNearestCluster: initializeIteration finalizeIteration ClusterFinder IterativeProcess dataServer (i) clusters (i,g) accumulate: distance: isEmpty: reset Cluster openDataStream closeDataStream dimension seedClusterIn: accumulateDataIn: ClusterDataServer accumulator (i) metric (i) count (g)
  • 49.
  • 50. Questions ? To reach me: [email_address]

Notas do Editor

  1. At that time, the radius of the earth was not known exactly. The radius of the circle corresponding to the error quoted by Jamshid Masud (0.7mm) is 20 times larger than the half axis of the orbit of Pluto.
  2. DhbFloatingPointMachine is a class which determines automatically the parameters of the floating point representation on the current machine.
  3. In this talk, only the classes in “pink” boxes will be discussed.
  4. Tasks in green boxes are the responsibility of the subclasses.
  5. Methods “evaluate” and “hasConverged” are methods of the super class. Methods “initializeIterations”, “evaluateIterations” and “finalizeIterations” are the responsibility of the subclasses.
  6. This is the abstract class at the top of the hierarchy of any iterative process. The class diagram shows the class name at top (without prefix), the methods (other than “get” and “set” of instance variables) in the middle and the instance variables at bottom. Instance variables have a corresponding “get” methods when tagged with a “g” and a corresponding “set” method when tagged with a “s”. The code is available in Listing 1.
  7.   The code is available in Listing 2.
  8.   The code is available in Listing 3.
  9.     The code is available in Listing 4.
  10.    The code is available in Listing 5.