# Standard covariance model amplitude parameter type

**URL:** <https://openturns.discourse.group/t/standard-covariance-model-amplitude-parameter-type/157>\
**Category:** Development\
**Created:** [September 8, 2021, 2:42pm UTC](https://openturns.discourse.group/t/standard-covariance-model-amplitude-parameter-type/157 "2021-09-08T14:42:02Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![JPelamatti](https://yyz2.discourse-cdn.com/free1/user_avatar/openturns.discourse.group/jpelamatti/32/101_2.png) [@JPelamatti](https://openturns.discourse.group/u/JPelamatti)\
**Post date:** [September 8, 2021, 2:42pm UTC](https://openturns.discourse.group/t/standard-covariance-model-amplitude-parameter-type/157/1 "2021-09-08T14:42:02Z")

</div>

Hello,  
Together with @mbaudin47 , we noticed that common covariance models, such as SquaredExponential, MaternModel, AbsoluteExponential have a constructor that takes the value of the amplitude parameter, which is always a scalar value, but require the user to pass it as a one-dimensional list ( _Must be of size equal to 1. By default, equal to [1]_ )  
Wouldn’t it make more sense for these constructors to take the amplitude as an ot.Scalar?

I guess that this issue comes from the fact that the parent class, CovarianceModel, is also parent to other classes that can have multi-dimensional amplitude parameters (e.g., TensorizedCovarianceModel). Would it make sense to override the amplitude parameter type for the classes that can only have scalar in order to ensure coherence and consistency in the aforementioned covariance models constructors?

---

<div class="post-metadata">

**Author:** ![regislebrun](https://yyz2.discourse-cdn.com/free1/user_avatar/openturns.discourse.group/regislebrun/32/154_2.png) [@regislebrun](https://openturns.discourse.group/u/regislebrun)\
**Post date:** [September 8, 2021, 7:38pm UTC](https://openturns.discourse.group/t/standard-covariance-model-amplitude-parameter-type/157/2 "2021-09-08T19:38:54Z")

</div>

In the general case, a covariance model is of output dimension greater than one, which is why the amplitude is given as a Point. Recently, we decided to have only one dimensional basic covariance models and to rely on aggregation to build multidimensional models, so now it seems reasonable to provide the amplitude as a Scalar. Care must be taken to give an explicit floating point value in order to avoid confusion with constructors taking a dimension (an integer) as a parameter.
