# physics/functional-derivative-to-fdv

Collapse long functional derivative names to the fdv command.

https://texform.dev/rules/physics/functional-derivative-to-fdv

## Metadata

| Field | Value |
| --- | --- |
| Key | physics/functional-derivative-to-fdv |
| Level | authoring |
| Fidelity | render |
| Enabled by packages | physics |
| Profiles | Authoring, Faithful, Corpus, Equiv |

## Rewrite patterns

### fderivative-two-args

From:

```latex
\fderivative{#1}{#2}
```

To:

```latex
\fdv{#1}{#2}
```

### fderivative-star

From:

```latex
\fderivative*{#1}{#2}
```

To:

```latex
\fdv*{#1}{#2}
```

### fderivative-order

From:

```latex
\fderivative[#1]{#2}{#3}
```

To:

```latex
\fdv[#1]{#2}{#3}
```

### fderivative-single-arg

From:

```latex
\fderivative{#1}
```

To:

```latex
\fdv{#1}
```

### functionalderivative-two-args

From:

```latex
\functionalderivative{#1}{#2}
```

To:

```latex
\fdv{#1}{#2}
```

### functionalderivative-star

From:

```latex
\functionalderivative*{#1}{#2}
```

To:

```latex
\fdv*{#1}{#2}
```

### functionalderivative-order

From:

```latex
\functionalderivative[#1]{#2}{#3}
```

To:

```latex
\fdv[#1]{#2}{#3}
```

### functionalderivative-single-arg

From:

```latex
\functionalderivative{#1}
```

To:

```latex
\fdv{#1}
```

## Examples

Examples show the rule in isolation, not a complete normalization profile.

### fdv alias stationary action

Before:

```latex
\functionalderivative{S[\phi]}{\phi(x)}=0
```

After this rule:

```latex
\fdv{S[\phi]}{\phi(x)}=0
```

Packages: base, physics.

Rendering verified with the declared packages.

### fderivative short alias

Before:

```latex
\fderivative{\Gamma[J]}{J(y)}=\phi(y)
```

After this rule:

```latex
\fdv{\Gamma[J]}{J(y)}=\phi(y)
```

Packages: base, physics.

Rendering verified with the declared packages.

### fderivative star alias

Before:

```latex
\fderivative*{S}{\phi}
```

After this rule:

```latex
\fdv*{S}{\phi}
```

Packages: base, physics.

Rendering verified with the declared packages.

### fderivative order alias

Before:

```latex
\fderivative[n]{S}{\phi}
```

After this rule:

```latex
\fdv[n]{S}{\phi}
```

Packages: base, physics.

Rendering verified with the declared packages.

### fderivative single arg alias

Before:

```latex
\fderivative{\phi} S[\phi]
```

After this rule:

```latex
\fdv{\phi} S[\phi]
```

Packages: base, physics.

Rendering verified with the declared packages.

### functionalderivative star alias

Before:

```latex
\functionalderivative*{S}{\phi}
```

After this rule:

```latex
\fdv*{S}{\phi}
```

Packages: base, physics.

Rendering verified with the declared packages.

### functionalderivative order alias

Before:

```latex
\functionalderivative[n]{S}{\phi}
```

After this rule:

```latex
\fdv[n]{S}{\phi}
```

Packages: base, physics.

Rendering verified with the declared packages.

### functionalderivative single arg alias

Before:

```latex
\functionalderivative{\phi} S[\phi]
```

After this rule:

```latex
\fdv{\phi} S[\phi]
```

Packages: base, physics.

Rendering verified with the declared packages.

## Triggers

- [\\fderivative](https://texform.dev/latex/commands/fderivative)
- [\\functionalderivative](https://texform.dev/latex/commands/functionalderivative)

## Eliminates

- [\\fderivative](https://texform.dev/latex/commands/fderivative)
- [\\functionalderivative](https://texform.dev/latex/commands/functionalderivative)

## Produces

- [\\fdv](https://texform.dev/latex/commands/fdv)

## Downstream

- [physics/fdv-to-frac-delta](https://texform.dev/rules/physics/fdv-to-frac-delta): Expand fdv forms to explicit delta-based derivative fractions.

## Same family

- [physics/derivative-to-dv](https://texform.dev/rules/physics/derivative-to-dv): Collapse derivative to the compact dv command.
- [physics/partial-derivative-to-pdv](https://texform.dev/rules/physics/partial-derivative-to-pdv): Collapse long partial derivative names to the pdv command.
- [physics/vectorarrow-to-va](https://texform.dev/rules/physics/vectorarrow-to-va): Collapse vectorarrow to the short va helper.
- [physics/vectorbold-to-vb](https://texform.dev/rules/physics/vectorbold-to-vb): Collapse vectorbold to the short vb helper.
- [physics/vectorunit-to-vu](https://texform.dev/rules/physics/vectorunit-to-vu): Collapse vectorunit to the short vu helper.
- [physics/dv-to-frac-d](https://texform.dev/rules/physics/dv-to-frac-d): Expand dv forms to explicit d-based derivative fractions.
- [physics/fdv-to-frac-delta](https://texform.dev/rules/physics/fdv-to-frac-delta): Expand fdv forms to explicit delta-based derivative fractions.
- [physics/pdv-to-frac-partial](https://texform.dev/rules/physics/pdv-to-frac-partial): Expand pdv forms to explicit partial-derivative fractions.
- [physics/va-to-vec-mathbf](https://texform.dev/rules/physics/va-to-vec-mathbf): Canonicalize va to an explicit vec-wrapped mathbf form.
- [physics/vb-to-mathbf](https://texform.dev/rules/physics/vb-to-mathbf): Canonicalize vb to an explicit mathbf wrapper.
- [physics/vu-to-hat-mathbf](https://texform.dev/rules/physics/vu-to-hat-mathbf): Canonicalize vu to an explicit hat-wrapped mathbf form.

## Notes

Alias rewrite: fderivative, functionalderivative, and fdv share the same physics Derivative handler and argspec, so star, optional order, and one-argument forms are preserved by renaming the command.

## Disable this rule

```python
TransformEngine(profile="corpus", disable_rules=["physics/functional-derivative-to-fdv"])
```

```javascript
new TransformEngine({ profile: 'corpus', disableRules: ['physics/functional-derivative-to-fdv'] })
```

[Open in Playground](https://play.texform.dev/?input=%5Cfunctionalderivative%7BS%5B%5Cphi%5D%7D%7B%5Cphi%28x%29%7D%3D0)
