.. _variables-linear_equality_scales:

""""""""""""""""""""""
linear_equality_scales
""""""""""""""""""""""


Characteristic values to scale linear equalities




**Topics**


linear_constraints



.. toctree::
   :hidden:
   :maxdepth: 1



**Specification**

- *Alias:* None

- *Arguments:* REALLIST

- *Default:* vector values = 1 . (no scaling)


**Description**


Each real value in ``linear_equality_scales`` is a nonzero
characteristic value to be used in scaling each constraint. They only
have effect when the associated method specifies ``scaling``.

This keyword is required for
:dakkw:`variables-linear_equality_scale_types` of 'value' and optional for 'auto'.

If a single real value is specified it will apply to all linear
equality constraints. Otherwise the number of values should be equal
to the number of linear equalities.

Scaling for linear constraints is applied *after* any continuous
variable scaling.

For example, for
variable scaling on continuous design variables x: 

.. math::
   \tilde{x}^j =
   \frac{x^j - x^j_O}{x^j_M} 
   
we have the following system for linear inequality constraints 

.. math::  a_L \leq A_i x \leq a_U 

.. math::
   a_L \leq
   A_i \left( \mathrm{diag}(x_M) \tilde{x} + x_O \right) \leq a_U 
   
.. math:: 
   a_L - A_i x_O \leq A_i \mathrm{diag}(x_M) \tilde{x} \leq a_U - A_i x_O

.. math::
   \tilde{a}_L \leq \tilde{A}_i \tilde{x} \leq \tilde{a}_U 
   
and user-specified or automatically computed scaling multipliers are
appplied to this final transformed system, which accounts for
continuous design variable scaling. When automatic scaling is in use
for linear constraints they are linearly scaled by a computed
characteristic value, but not affinely to [0,1].

See the scaling information under specific methods, e.g., ``method-*-scaling`` for details on how to use this keyword.



