<jupyter_start><jupyter_text>https://www.thorlabs.com/tutorials.cfm?tabID=ba49b425-f85b-4549-8c1a-f111ddbb9099<jupyter_code>%pylab inline
import warnings
import numpy as np
import matplotlib.pyplot as plt

import rayopt as ro

# ignore matplotlib and numpy warning each other
warnings.simplefilter("ignore", FutureWarning)
# ignore floating point exceptions
np.seterr(divide="ignore", invalid="ignore")
# by default only print 4 significant digits
np.set_printoptions(precision=4)<jupyter_output>Populating the interactive namespace from numpy and matplotlib<jupyter_text>Plano-Convex Lenseshttps://www.thorlabs.com/newgrouppage9.cfm?objectgroup_id=112<jupyter_code># LA1116

s = ro.system_from_yaml("""
object:
  pupil:
    radius: 1
elements:
- {}
- {distance: 1, material: 1.515, roc: 5.2, radius: 3}
- {distance: 2.5, material: 1.0}
- {}
""")
s.update()
print(s)
ro.Analysis(s)<jupyter_output>System: 
Scale: 1.0 mm
Wavelengths: 588, 656, 486 nm
Fields: 0
Object:
 Semi-Angle: 0 deg
 Pupil:
   Pupil Distance: 1
   Radius: 1
Image:
 Radius: inf
 Update Radius: True
 Pupil:
   Pupil Distance: -1.65017
   Update Radius: True
   Radius: 3
Stop: 1
Elements:
 # T   Distance   Rad Curv   Diameter          Material       n      nd      Vd
 0 S          0        inf        inf              None     nan     nan     nan
 1 S          1        5.2          6                 -   1.515   1.515     inf
 2 S        2.5        inf        inf                 -   1.000   1.000     inf
 3 S     8.3725        inf        inf              None     nan     nan     nan

lagrange: -0
track length: 2.5
object, image height: [ 0.  0.]
front, back focal length (from PP): [ nan  nan]
entry, exit pupil height: [ nan  nan]
entry, exit pupil distance: [ nan  nan]
front, back focal distance: [ nan  nan]
front, back principal distance: [ nan  nan]
front, back nodal distance: [ nan  nan]
front, back numerical a[...]
{'fraction_non_alphanumeric': 0.09831756046267087, 'fraction_numerical': 0.054153522607781286, 'mean_word_length': 2.5570093457943925, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 2, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 4, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '2', 'dir': 'jupyter-structured-clean-dedup', 'id': '362887', 'license': 'MIT', 'n_tokens_mistral': 729, 'n_tokens_neox': 654, 'n_words': 203, 'path': 'Ray-opt/RC_best_form_lens_28_1_2017.ipynb', 'repo_name': 'afcarl/Useful-python', 'size': '1902'}