class_docstr: Function calling photonics code
  
  Parameters
  ----------
  name: str
      problem name, among bragg, chirped, cf_photosic_realistic, cf_photosic_reference and morpho
  dimension: int
      size of the problem among 16, 40 and 60 (morpho) or 80 (bragg and chirped)
  transform: str
      transform type for the bounding ("arctan", "tanh", "bouncing" or "clipping", see `Array.bounded`)
  
  Returns
  -------
  float
      the fitness
  
  Notes
  -----
  - You will require an Octave installation (with conda: "conda install -c conda-forge octave" then re-source dfconda.sh)
  - Each function requires from around 1 to 5 seconds to compute
  - OMP_NUM_THREADS=1 and OPENBLAS_NUM_THREADS=1 are enforced when spawning Octave because parallelization leads to
    deadlock issues here.
  
  Credit
  ------
  This module is based on code and ideas from:
  - Mamadou Aliou Barry
  - Marie-Claire Cambourieux
  - Rémi Pollès
  - Antoine Moreau
  from University Clermont Auvergne, CNRS, SIGMA Clermont, Institut Pascal.
  
  Publications
  ------------
  - Aliou Barry, Mamadou; Berthier, Vincent; Wilts, Bodo D.; Cambourieux, Marie-Claire; Pollès, Rémi;
    Teytaud, Olivier; Centeno, Emmanuel; Biais, Nicolas; Moreau, Antoine (2018)
    Evolutionary algorithms converge towards evolved biological photonic structures,
    https://arxiv.org/abs/1808.04689
  - Defrance, J., Lemaître, C., Ajib, R., Benedicto, J., Mallet, E., Pollès, R., Plumey, J.-P.,
    Mihailovic, M., Centeno, E., Ciracì, C., Smith, D.R. and Moreau, A. (2016)
    Moosh: A Numerical Swiss Army Knife for the Optics of Multilayers in Octave/Matlab. Journal of Open Research Software, 4(1), p.e13.
class_docstr_tok: ["Function","calling","photonics","code","Parameters","--","--","--","--","--","name",":","str","problem","name",",","among","bragg",",","chirped",",","cf_photosic_realistic",",","cf_photosic_reference","and","morpho","dimension",":","int","size","of","the","problem","among","16",",","40","and","60","(","morpho",")","or","80","(","bragg","and","chirped",")","transform",":","str","transform","type","for","the","bounding","(","``","arctan","''",",","``","tanh","''",",","``","bouncing","''","or","``","clipping","''",",","see","`","Array.bounded","`",")","Returns","--","--","--","-","float","the","fitness","Notes","--","--","-","-","You","will","require","an","Octave","installation","(","with","conda",":","``","conda","install","-c","conda-forge","octave","''","then","re-source","dfconda.sh",")","-","Each","function","requires","from","around","1","to","5","seconds","to","compute","-","OMP_NUM_THREADS=1","and","OPENBLAS_NUM_THREADS=1","are","enforced","when","spawning","Octave","because","parallelization","leads","to","deadlock","issues","here",".","Credit","--","--","--","This","module","is","based","on","code","and","ideas","from",":","-","Mamadou","Aliou","Barry","-","Marie-Claire","Cambourieux","-","R\u00e9mi","Poll\u00e8s","-","Antoine","Moreau","from","University","Clermont","Auvergne",",","CNRS",",","SIGMA","Clermont",",","Institut","Pascal",".","Publications","--","--","--","--","--","--","-","Aliou","Barry",",","Mamadou",";","Berthier",",","Vincent",";","Wilts",",","Bodo","D.",";","Cambourieux",",","Marie-Claire",";","Poll\u00e8s",",","R\u00e9mi",";","Teytaud",",","Olivier",";","Centeno",",","Emmanuel",";","Biais",",","Nicolas",";","Moreau",",","Antoine","(","2018",")","Evolutionary","algorithms","converge","towards","evolved","biological","photonic","structures",",","https",":","\/\/arxiv.org\/abs\/1808.04689","-","Defrance",",","J.",",","Lema\u00eetre",",","C.",",","Ajib",",","R.",",","Benedicto",",","J.",",","Mallet",",","E.",",","Poll\u00e8s",",","R.",",","Plumey",",","J.-P.",",","Mihailovic",",","M.",",","Centeno",",","E.",",","Cirac\u00ec",",","C.",",","Smith",",","D.R",".","and","Moreau",",","A",".","(","2016",")","Moosh",":","A","Numerical","Swiss","Army","Knife","for","the","Optics","of","Multilayers","in","Octave\/Matlab",".","Journal","of","Open","Research","Software",",","4","(","1",")",",","p.e13","."]
code: def _compute(self, *args: tp.Any, **kwargs: tp.Any) -> float:
      x = self.to_array(*args, **kwargs)
      try:
          output = self._base_func(x)
      except Exception:  # pylint: disable=broad-except
          output = float("inf")
      if np.isnan(output):
          output = float("inf")
      return output
  
file_path: nevergrad/nevergrad/functions/photonics/core.py
imports: import typing
  import numpy
  import nevergrad
  from nevergrad.ops import mutations
  from .None import photonics
  from ..None import base
label_desc: Use image node_id 4 for calling the Photonics obj's underlying member method code with example usage: obj._compute() and returns: output