Ticket #145 (new task)

Opened 5 years ago

Last modified 3 years ago

add optimal uncertainty quantification capabilities

Reported by: mmckerns Owned by: mmckerns
Priority: major Milestone: mystic-0.3a
Component: mystic.solvers Keywords:
Cc:

Description

add optimal uncertainty quantification capabilities

Change History

comment:1 Changed 5 years ago by mmckerns

  • Milestone changed from mystic-0.2a2 to mystic-0.2a3

fairly stable (in the UQ branch)... but needs work on interface and merge into trunk

comment:2 Changed 5 years ago by mmckerns

update the "examples3" code in the UQ branch with the OUQ design of experiments code

comment:3 Changed 4 years ago by mmckerns

  • Type changed from idea to task

need improvement on naming conventions used for measures...

comment:4 Changed 4 years ago by mmckerns

Taken directly from from email from Tim Sullivan...

I think that this is a good opportunity to make the mystic structures reflect the mathematics, an investment of time and thought that should pay off in the long run.

"point_mass" / "dirac_measure"

  • weight:  a scalar, although in advanced implementations we could have vector-valued measures, in which case "weight" would be an array.  Suggest default weight = 1.0, for a unit Dirac mass.
  • position:  an array.  More generally, should be able to slot in any data type here:  could have measures on the real line (position is a scalar), measures on Euclidean n-dim space (position is a length n array), measures on matrices...

"discrete_measure"

  • corresponds to the sum of finitely many point_mass objects with compatible (same-dimensional) position arrays
  • weights:  a list of the weights of the constituent point masses
  • positions:  a list of the positions of the constituent point masses
  • support:  the subset of the positions for which the associated weight is non-zero.  Perhaps have a tol here.
  • get_center_of_mass:  \sum_{i} w_{i} x_{i}, where the w_{i} are the weights and the x_{i} are the positions
  • set_center_of_mass: ...
  • get_expect(f):  when f is a function that takes arrays of dimensionality = dimensionality of the positions of the point masses, returns \sum_{i} w_{i} f(x_{i}). 
  • set_expect(f): ...
  • get_max(f):  returns the maximum of f(x_{i}) among x_{i} in positions
  • get_ess_mas(f):  returns the maximum of f(x_{i}) among x_{i} in support
  • get_min(f):  returns the minimum of f(x_{i}) among x_{i} in positions
  • get_ess_min(f):  returns the minimum of f(x_{i}) among x_{i} in support
  • set_max(f) ...

"discrete_product_measure"

  • corresponds to the measure-theoretic product of finitely many discrete measures (the "marginals")
  • should be declared by listing the marginal discrete_measure objects in a list, as we do now
  • weights
  • positions
  • support
  • center_of_mass:  the list/array whose kth entry is the center_of_mass of the kth marginal
  • get_expect(f), set_expect(f), get_max(f), set_max(f)...
  • ...

comment:5 Changed 3 years ago by mmckerns

Most of the above changes to measures added in r687, the remaining above changes split off to ticket #244. This ticket will remain the addition of OUQ capabilities, which amounts to an interface to some of the different OUQ problems.

Note: See TracTickets for help on using tickets.