# Algebraic Constraint

Constrain input signal to zero

## Description

The Algebraic Constraint
block constrains the input signal f(*z*) to zero
and outputs an algebraic state *z*. The block outputs
the value that produces a zero at the input. The output must affect
the input through a direct feedback path, that is, the feedback path
contains only blocks with direct feedthrough. For example, you can
specify algebraic equations for index 1 differential-algebraic systems
(DAEs).

## Algorithm

The Algebraic Constraint block uses a dogleg trust-region algorithm
to solve algebraic loops [1], [2].

## Data Type Support

The Algebraic Constraint block accepts and outputs real values
of type `double`

.

## Parameters and Dialog Box

**Initial
guess**An initial guess for the solution value. The default is `0`

.

## Example

By default, the **Initial guess** parameter
is zero. You can improve the efficiency of the algebraic-loop solver
by providing an **Initial guess** for
the algebraic state *z* that is close to the solution
value.

For example, the following modelmodel solves
these equations:

The solution is `z2 = 1`

, `z1 = 0`

,
as the Display blocks show.

## Characteristics

Direct Feedthrough | Yes |

Sample Time | Inherited from driving block |

Scalar Expansion | No |

Dimensionalized | Yes |

Zero-Crossing Detection | No |

## References

[1] Garbow, B. S., K. E. Hillstrom, and J. J. Moré. *User
Guide for MINPACK-1*. Argonne, IL: Argonne National Laboratory,
1980.

[2] Rabinowitz, P. H. *Numerical Methods for Nonlinear
Algebraic Equations*. New York, NY: Gordon and Breach, 1970.