SlideShare a Scribd company logo
1 of 14
Download to read offline
A Python library for computing light scattering
                 by multilayered non-spherical particles

                 A. A. Vinokurov1,2           V. B. Il’in1,2,3    V. G. Farafonov1
                1 Saint-Petersburg   State University of Aerospace Instrumentation, Russia
                              2 Pulkovo  Observatory, Saint-Petersburg, Russia
                                 3 Saint-Petersburg State University, Russia



                  12th Electromagnetic & Light Scattering Conference




Vinokurov, Il’in, Farafonov (Russia)                                                   ELS-XII   1/7
Vinokurov, Il’in, Farafonov (Russia)   ELS-XII   2/7
gSVM for multilayered particles

        A particle with L layers.
        The electromagnetic fields in each of the domains Γ(i) satisfy the
        boundary conditions

            E(i) (r) × n(i) (r) = E(i+1) (r) × n(i) (r),               r ∈ ∂Γ(i) ,     i = 1, . . . , L,

        Systems for each of the layer boundaries
                                       (i)         (i)
                                  Pi x(i) = Pi+1 x(i+1) ,          i = 1, . . . , L,

        Iterative scheme
                                                         L
                            (1)        xsca        (1)           (i)       (i)
                           P1                 =   P2           (Pi )−1 Pi+1 x(L+1) .
                                       xinc
                                                         i=2



Vinokurov, Il’in, Farafonov (Russia)                                                        ELS-XII        3/7
Accuracy of gSVM for multilayered particles

                                 10-2
                                 10-4
                                 10-6
               Relative error


                                 10-8
                                10-10
                                10-12
                                10-14
                                10-16 0
                                    10       101             102          103
                                               Number of layers
                                          xv = 0.1                 xv = 10.0
                                          xv = 0.5                 xv = 15.0
                                          xv = 1.0                 xv = 30.0
                                          xv = 5.0
Vinokurov, Il’in, Farafonov (Russia)                                           ELS-XII   4/7
Python/SciPy


        Python is a very convinient object oriented scripting language.
        It is good for large projects
        It is good for quick implementations
        A lot of things included:
               libraries for numerical computations,
               access to libraries for other sciences,
               data visualization,
               data storage,
               etc.
        Speed can be comparable with the speed of low level languages
        Integration with Fortran and C++.
        There’s a scientific community with annual conferences.


Vinokurov, Il’in, Farafonov (Russia)                                ELS-XII   5/7
Python/SciPy


        Python is a very convinient object oriented scripting language.
        It is good for large projects
        It is good for quick implementations
        A lot of things included:
               libraries for numerical computations,
               access to libraries for other sciences,
               data visualization,
               data storage,
               etc.
        Speed can be comparable with the speed of low level languages
        Integration with Fortran and C++.
        There’s a scientific community with annual conferences.


Vinokurov, Il’in, Farafonov (Russia)                                ELS-XII   5/7
Python/SciPy


        Python is a very convinient object oriented scripting language.
        It is good for large projects
        It is good for quick implementations
        A lot of things included:
               libraries for numerical computations,
               access to libraries for other sciences,
               data visualization,
               data storage,
               etc.
        Speed can be comparable with the speed of low level languages
        Integration with Fortran and C++.
        There’s a scientific community with annual conferences.


Vinokurov, Il’in, Farafonov (Russia)                                ELS-XII   5/7
Python/SciPy


        Python is a very convinient object oriented scripting language.
        It is good for large projects
        It is good for quick implementations
        A lot of things included:
               libraries for numerical computations,
               access to libraries for other sciences,
               data visualization,
               data storage,
               etc.
        Speed can be comparable with the speed of low level languages
        Integration with Fortran and C++.
        There’s a scientific community with annual conferences.


Vinokurov, Il’in, Farafonov (Russia)                                ELS-XII   5/7
Python/SciPy


        Python is a very convinient object oriented scripting language.
        It is good for large projects
        It is good for quick implementations
        A lot of things included:
               libraries for numerical computations,
               access to libraries for other sciences,
               data visualization,
               data storage,
               etc.
        Speed can be comparable with the speed of low level languages
        Integration with Fortran and C++.
        There’s a scientific community with annual conferences.


Vinokurov, Il’in, Farafonov (Russia)                                ELS-XII   5/7
Python/SciPy


        Python is a very convinient object oriented scripting language.
        It is good for large projects
        It is good for quick implementations
        A lot of things included:
               libraries for numerical computations,
               access to libraries for other sciences,
               data visualization,
               data storage,
               etc.
        Speed can be comparable with the speed of low level languages
        Integration with Fortran and C++.
        There’s a scientific community with annual conferences.


Vinokurov, Il’in, Farafonov (Russia)                                ELS-XII   5/7
Python/SciPy


        Python is a very convinient object oriented scripting language.
        It is good for large projects
        It is good for quick implementations
        A lot of things included:
               libraries for numerical computations,
               access to libraries for other sciences,
               data visualization,
               data storage,
               etc.
        Speed can be comparable with the speed of low level languages
        Integration with Fortran and C++.
        There’s a scientific community with annual conferences.


Vinokurov, Il’in, Farafonov (Russia)                                ELS-XII   5/7
Usage example




Vinokurov, Il’in, Farafonov (Russia)   ELS-XII   6/7
Some computational results

        Homogeneous                    2 layers   4 layers




Vinokurov, Il’in, Farafonov (Russia)                  ELS-XII   7/7
Some computational results

        Homogeneous                    8 layers   16 layers




Vinokurov, Il’in, Farafonov (Russia)                   ELS-XII   8/7

More Related Content

Similar to A Python library for computing light scattering by multilayered non-spherical particles

EDF2012 Mariana Damova - Factforge
EDF2012   Mariana Damova - FactforgeEDF2012   Mariana Damova - Factforge
EDF2012 Mariana Damova - FactforgeEuropean Data Forum
 
IPython: A Modern Vision of Interactive Computing (PyData SV 2013)
IPython: A Modern Vision of Interactive Computing (PyData SV 2013)IPython: A Modern Vision of Interactive Computing (PyData SV 2013)
IPython: A Modern Vision of Interactive Computing (PyData SV 2013)PyData
 
OpenWN-PT: a Brazilian Wordnet for all
OpenWN-PT: a Brazilian Wordnet for allOpenWN-PT: a Brazilian Wordnet for all
OpenWN-PT: a Brazilian Wordnet for allAlexandre Rademaker
 
Semantic Web from the 2013 Perspective
Semantic Web from the 2013 PerspectiveSemantic Web from the 2013 Perspective
Semantic Web from the 2013 PerspectiveAdrian Paschke
 
Deep Content Learning in Traffic Prediction and Text Classification
Deep Content Learning in Traffic Prediction and Text ClassificationDeep Content Learning in Traffic Prediction and Text Classification
Deep Content Learning in Traffic Prediction and Text ClassificationHPCC Systems
 
Python for Science and Engineering: a presentation to A*STAR and the Singapor...
Python for Science and Engineering: a presentation to A*STAR and the Singapor...Python for Science and Engineering: a presentation to A*STAR and the Singapor...
Python for Science and Engineering: a presentation to A*STAR and the Singapor...pythoncharmers
 
Streamlining Knowledge Graph Construction with a façade: the SPARQL Anything...
Streamlining Knowledge Graph Construction with a façade:  the SPARQL Anything...Streamlining Knowledge Graph Construction with a façade:  the SPARQL Anything...
Streamlining Knowledge Graph Construction with a façade: the SPARQL Anything...Enrico Daga
 
Datalift lod2-paris-24032011
Datalift lod2-paris-24032011Datalift lod2-paris-24032011
Datalift lod2-paris-24032011Datalift
 
Ontology languages and OWL
Ontology languages and OWLOntology languages and OWL
Ontology languages and OWLFulvio Corno
 
PyCon JP 2011 Lightning Talk No.10
PyCon JP 2011 Lightning Talk No.10PyCon JP 2011 Lightning Talk No.10
PyCon JP 2011 Lightning Talk No.10Yoji TAKEUCHI
 
Python Programming Unit1_Aditya College of Engg & Tech
Python Programming Unit1_Aditya College of Engg & TechPython Programming Unit1_Aditya College of Engg & Tech
Python Programming Unit1_Aditya College of Engg & TechRamanamurthy Banda
 
Python for Financial Data Analysis with pandas
Python for Financial Data Analysis with pandasPython for Financial Data Analysis with pandas
Python for Financial Data Analysis with pandasWes McKinney
 
Slides 111017220255-phpapp01
Slides 111017220255-phpapp01Slides 111017220255-phpapp01
Slides 111017220255-phpapp01Ken Mwai
 
Why Python
Why PythonWhy Python
Why Pythonarnav
 

Similar to A Python library for computing light scattering by multilayered non-spherical particles (20)

EDF2012 Mariana Damova - Factforge
EDF2012   Mariana Damova - FactforgeEDF2012   Mariana Damova - Factforge
EDF2012 Mariana Damova - Factforge
 
IPython: A Modern Vision of Interactive Computing (PyData SV 2013)
IPython: A Modern Vision of Interactive Computing (PyData SV 2013)IPython: A Modern Vision of Interactive Computing (PyData SV 2013)
IPython: A Modern Vision of Interactive Computing (PyData SV 2013)
 
Pycon 2011
Pycon 2011Pycon 2011
Pycon 2011
 
OpenWN-PT: a Brazilian Wordnet for all
OpenWN-PT: a Brazilian Wordnet for allOpenWN-PT: a Brazilian Wordnet for all
OpenWN-PT: a Brazilian Wordnet for all
 
Semantic Web from the 2013 Perspective
Semantic Web from the 2013 PerspectiveSemantic Web from the 2013 Perspective
Semantic Web from the 2013 Perspective
 
Deep Content Learning in Traffic Prediction and Text Classification
Deep Content Learning in Traffic Prediction and Text ClassificationDeep Content Learning in Traffic Prediction and Text Classification
Deep Content Learning in Traffic Prediction and Text Classification
 
Python for Science and Engineering: a presentation to A*STAR and the Singapor...
Python for Science and Engineering: a presentation to A*STAR and the Singapor...Python for Science and Engineering: a presentation to A*STAR and the Singapor...
Python for Science and Engineering: a presentation to A*STAR and the Singapor...
 
Streamlining Knowledge Graph Construction with a façade: the SPARQL Anything...
Streamlining Knowledge Graph Construction with a façade:  the SPARQL Anything...Streamlining Knowledge Graph Construction with a façade:  the SPARQL Anything...
Streamlining Knowledge Graph Construction with a façade: the SPARQL Anything...
 
Fact forge20 edf
Fact forge20 edfFact forge20 edf
Fact forge20 edf
 
LOD2: Guest presentation: French datalift project
LOD2: Guest presentation: French datalift projectLOD2: Guest presentation: French datalift project
LOD2: Guest presentation: French datalift project
 
Datalift lod2-paris-24032011
Datalift lod2-paris-24032011Datalift lod2-paris-24032011
Datalift lod2-paris-24032011
 
Ontology languages and OWL
Ontology languages and OWLOntology languages and OWL
Ontology languages and OWL
 
PyCon JP 2011 Lightning Talk No.10
PyCon JP 2011 Lightning Talk No.10PyCon JP 2011 Lightning Talk No.10
PyCon JP 2011 Lightning Talk No.10
 
Python Programming Unit1_Aditya College of Engg & Tech
Python Programming Unit1_Aditya College of Engg & TechPython Programming Unit1_Aditya College of Engg & Tech
Python Programming Unit1_Aditya College of Engg & Tech
 
Python for Financial Data Analysis with pandas
Python for Financial Data Analysis with pandasPython for Financial Data Analysis with pandas
Python for Financial Data Analysis with pandas
 
Slides 111017220255-phpapp01
Slides 111017220255-phpapp01Slides 111017220255-phpapp01
Slides 111017220255-phpapp01
 
Why Python
Why PythonWhy Python
Why Python
 
Python final ppt
Python final pptPython final ppt
Python final ppt
 
Pythonfinalppt 170822121204
Pythonfinalppt 170822121204Pythonfinalppt 170822121204
Pythonfinalppt 170822121204
 
Anabela Barreiro - Alinhamentos
Anabela Barreiro - AlinhamentosAnabela Barreiro - Alinhamentos
Anabela Barreiro - Alinhamentos
 

A Python library for computing light scattering by multilayered non-spherical particles

  • 1. A Python library for computing light scattering by multilayered non-spherical particles A. A. Vinokurov1,2 V. B. Il’in1,2,3 V. G. Farafonov1 1 Saint-Petersburg State University of Aerospace Instrumentation, Russia 2 Pulkovo Observatory, Saint-Petersburg, Russia 3 Saint-Petersburg State University, Russia 12th Electromagnetic & Light Scattering Conference Vinokurov, Il’in, Farafonov (Russia) ELS-XII 1/7
  • 2. Vinokurov, Il’in, Farafonov (Russia) ELS-XII 2/7
  • 3. gSVM for multilayered particles A particle with L layers. The electromagnetic fields in each of the domains Γ(i) satisfy the boundary conditions E(i) (r) × n(i) (r) = E(i+1) (r) × n(i) (r), r ∈ ∂Γ(i) , i = 1, . . . , L, Systems for each of the layer boundaries (i) (i) Pi x(i) = Pi+1 x(i+1) , i = 1, . . . , L, Iterative scheme L (1) xsca (1) (i) (i) P1 = P2 (Pi )−1 Pi+1 x(L+1) . xinc i=2 Vinokurov, Il’in, Farafonov (Russia) ELS-XII 3/7
  • 4. Accuracy of gSVM for multilayered particles 10-2 10-4 10-6 Relative error 10-8 10-10 10-12 10-14 10-16 0 10 101 102 103 Number of layers xv = 0.1 xv = 10.0 xv = 0.5 xv = 15.0 xv = 1.0 xv = 30.0 xv = 5.0 Vinokurov, Il’in, Farafonov (Russia) ELS-XII 4/7
  • 5. Python/SciPy Python is a very convinient object oriented scripting language. It is good for large projects It is good for quick implementations A lot of things included: libraries for numerical computations, access to libraries for other sciences, data visualization, data storage, etc. Speed can be comparable with the speed of low level languages Integration with Fortran and C++. There’s a scientific community with annual conferences. Vinokurov, Il’in, Farafonov (Russia) ELS-XII 5/7
  • 6. Python/SciPy Python is a very convinient object oriented scripting language. It is good for large projects It is good for quick implementations A lot of things included: libraries for numerical computations, access to libraries for other sciences, data visualization, data storage, etc. Speed can be comparable with the speed of low level languages Integration with Fortran and C++. There’s a scientific community with annual conferences. Vinokurov, Il’in, Farafonov (Russia) ELS-XII 5/7
  • 7. Python/SciPy Python is a very convinient object oriented scripting language. It is good for large projects It is good for quick implementations A lot of things included: libraries for numerical computations, access to libraries for other sciences, data visualization, data storage, etc. Speed can be comparable with the speed of low level languages Integration with Fortran and C++. There’s a scientific community with annual conferences. Vinokurov, Il’in, Farafonov (Russia) ELS-XII 5/7
  • 8. Python/SciPy Python is a very convinient object oriented scripting language. It is good for large projects It is good for quick implementations A lot of things included: libraries for numerical computations, access to libraries for other sciences, data visualization, data storage, etc. Speed can be comparable with the speed of low level languages Integration with Fortran and C++. There’s a scientific community with annual conferences. Vinokurov, Il’in, Farafonov (Russia) ELS-XII 5/7
  • 9. Python/SciPy Python is a very convinient object oriented scripting language. It is good for large projects It is good for quick implementations A lot of things included: libraries for numerical computations, access to libraries for other sciences, data visualization, data storage, etc. Speed can be comparable with the speed of low level languages Integration with Fortran and C++. There’s a scientific community with annual conferences. Vinokurov, Il’in, Farafonov (Russia) ELS-XII 5/7
  • 10. Python/SciPy Python is a very convinient object oriented scripting language. It is good for large projects It is good for quick implementations A lot of things included: libraries for numerical computations, access to libraries for other sciences, data visualization, data storage, etc. Speed can be comparable with the speed of low level languages Integration with Fortran and C++. There’s a scientific community with annual conferences. Vinokurov, Il’in, Farafonov (Russia) ELS-XII 5/7
  • 11. Python/SciPy Python is a very convinient object oriented scripting language. It is good for large projects It is good for quick implementations A lot of things included: libraries for numerical computations, access to libraries for other sciences, data visualization, data storage, etc. Speed can be comparable with the speed of low level languages Integration with Fortran and C++. There’s a scientific community with annual conferences. Vinokurov, Il’in, Farafonov (Russia) ELS-XII 5/7
  • 12. Usage example Vinokurov, Il’in, Farafonov (Russia) ELS-XII 6/7
  • 13. Some computational results Homogeneous 2 layers 4 layers Vinokurov, Il’in, Farafonov (Russia) ELS-XII 7/7
  • 14. Some computational results Homogeneous 8 layers 16 layers Vinokurov, Il’in, Farafonov (Russia) ELS-XII 8/7