# Linear-class: Class "Linear" In antitrust: Tools for Antitrust Practitioners

## Description

The “Linear” class contains all the information needed to calibrate a Linear demand system and perform a merger simulation analysis under the assumption that firms are playing a differentiated Bertrand products pricing game.

## Objects from the Class

Objects can be created by using the constructor function `linear`.

## Slots

Let k denote the number of products produced by all firms.

`intercepts`:

A length k vector of demand intercepts.

`prices`:

A length k vector product prices.

`quantities`:

A length k vector of product quantities.

`margins`:

A length k vector of product margins. All margins must be between 0 and 1.

`diversion`:

A k x k matrix of diversion ratios with diagonal elements equal to 1.

`priceStart`:

A length k vector of prices used as the initial guess in the nonlinear equation solver.

`symmetry`:

If TRUE, requires the matrix of demand slope coefficients to be consistent with utility maximization theory.

## Extends

Class `Bertrand`, directly. Class `Antitrust`, by class `Bertrand`, distance 2.

## Methods

For all of methods containing the ‘preMerger’ argument, ‘preMerger’ takes on a value of TRUE or FALSE, where TRUE invokes the method using the pre-merger ownership structure, while FALSE invokes the method using the post-merger ownership structure.

`calcPrices`

```signature(object, preMerger = TRUE,...)```

Compute either pre-merger or post-merger equilibrium prices under the assumptions that consumer demand is Logit and firms play a differentiated product Bertrand Nash pricing game. ‘...’ may be used to change the default values of `constrOptim`, the non-linear equation solver used to enforce non-negative equilibrium quantities.

`calcPriceDeltaHypoMon`

`signature(object,prodIndex,...)`

Calculates the price changes that a Hypothetical Monopolist would impose on its products relative to pre-merger prices.

`calcQuantities`

```signature(object, preMerger = TRUE)```

Compute either pre-merger or post-merger equilibrium quantities under the assumptions that consumer demand is Linear and firms play a differentiated product Bertrand Nash pricing game.

`calcShares`

```signature(object, preMerger = TRUE, revenue = FALSE)```

Compute either pre-merger or post-merger equilibrium quantity shares under the assumptions that consumer demand is Linear and firms play a differentiated product Bertrand Nash pricing game.

`calcSlopes`

`signature(object)`

Uncover slopes and intercept from a Linear demand system. Assumes that firms are currently at equilibrium in a differentiated product Bertrand Nash pricing game.

`CV`

```signature(object = "Linear")```

Calculate the amount of money a representative consumer would need to be paid to be just as well off as they were before the merger.

`elast`

```signature(object, preMerger = TRUE)```

Computes a k x k matrix of own and cross-price elasticities.

## Author(s)

Charles Taragin [email protected]

## Examples

 ```1 2``` ```showClass("Linear") # get a detailed description of the class showMethods(classes="Linear") # show all methods defined for the class ```

antitrust documentation built on April 12, 2018, 1:04 a.m.