(md_matern32)=

# Multidimensional Matern-3/2 kernel

```{warning}
This page is a stub generated by Codex. The content has been verified, but important information (references, links to external packages) may be missing  
```

The `tinygp_multidimensional_matern32` model applies the multidimensional-GP construction to a Matern-3/2 latent process. Each dataset is modeled as a linear combination of the latent process and, optionally, its first derivative.

This model is less physically tied to stellar rotation than the quasi-periodic multidimensional GP, but it can be useful for flexible correlated-noise models shared across several time series.

## Model definition and requirements

**model name**: `tinygp_multidimensional_matern32`
- required common object: `activity`
- implemented with `tinygp`
- read [Caveats on the use of `tinyGP`](../running_pyorbit/tinygp_caveats) carefully

## Keywords

Model-wide keywords, with the default value in boldface.

**derivative**
* accepted values: mapping of dataset names to booleans
* if `False`, the derivative coefficient `matern32_multigp_sigma_deriv` is fixed to zero for that dataset. If the keyword is not provided, derivatives are enabled for most datasets and disabled for `H-alpha`, `S_index`, `Ca_HK`, and `FWHM`.

**use_shared_scale**
* accepted values: **`True`** | `False`
* the Matern-3/2 scale `matern32_scale` is common by default in this multidimensional model.

**use_activity_Prot**
* accepted values: `True` | **`False`**
* replaces `matern32_scale` with `Prot` from the `activity` common object.

**use_activity_Pdec**
* accepted values: `True` | **`False`**
* replaces `matern32_scale` with `Pdec` from the `activity` common object.

**use_stellar_rotation_period**
* accepted values: `True` | **`False`**
* replaces `matern32_scale` with `rotation_period` from `star_parameters`.

**use_stellar_activity_decay**
* accepted values: `True` | **`False`**
* replaces `matern32_scale` with `activity_decay` from `star_parameters`.

The replacement flags are mutually exclusive because the model has only one scale parameter.

## Example

```yaml
inputs:
  RVdata:
    file: datasets/RV_PyORBIT.dat
    kind: RV
    models:
      - gp_multidimensional_matern32
  BISdata:
    file: datasets/BIS_PyORBIT.dat
    kind: BIS
    models:
      - gp_multidimensional_matern32
common:
  activity:
    boundaries:
      matern32_scale: [1.0, 100.0]
models:
  gp_multidimensional_matern32:
    model: tinygp_multidimensional_matern32
    common: activity
    RVdata:
      boundaries:
        matern32_multigp_sigma: [-20.0, 20.0]
        matern32_multigp_sigma_deriv: [-20.0, 20.0]
      derivative: True
    BISdata:
      boundaries:
        matern32_multigp_sigma: [-20.0, 20.0]
      derivative: False
```

## Model parameters

| Name | Parameter | Common? | Definition | Notes |
| :--- | :-------- | :------ | :--------- | :---- |
| `matern32_scale` | Scale of the Matern-3/2 latent GP | common | `activity` | Older files may use `matern32_rho` |
| `matern32_multigp_sigma` | Coefficient of the latent GP | dataset | `activity` | |
| `matern32_multigp_sigma_deriv` | Coefficient of the first derivative of the latent GP | dataset | `activity` | Fixed to zero when `derivative: False` |
