Create the linear constraint matrices A and b.
Standard notation
The parameter constraints for the motional amplitude parameters
are:
0 <= theta <= pi,
0 <= theta_x <= theta_y <= pi,
-0.125 <= S <= 1,
0 <= sigma_max <= pi,
The pivot point and average domain position parameter constraints
are:
-999 <= pivot_x <= 999
-999 <= pivot_y <= 999
-999 <= pivot_z <= 999
-500 <= ave_pos_x <= 500
-500 <= ave_pos_y <= 500
-500 <= ave_pos_y <= 500
These are necessary to allow for valid PDB representations to be
created. The eigenframe parameters are unconstrained.
Matrix notation
In the notation A.x >= b, where A is an matrix of coefficients, x
is an array of parameter values, and b is a vector of scalars, these
inequality constraints are:
| 1 0 0 0 | | 0 |
| | | |
|-1 0 0 0 | | -pi |
| | | |
| 0 1 0 0 | | 0 |
| | | theta | | |
| 0 -1 0 0 | | | | -pi |
| | | theta_x | | |
| 0 -1 1 0 | . | | >= | 0 |
| | | theta_y | | |
| 0 0 1 0 | | | | 0 |
| | | sigma_max | | |
| 0 0 -1 0 | | -pi |
| | | |
| 0 0 0 1 | | 0 |
| | | |
| 0 0 0 -1 | | -pi |
The pivot and average position constraints in the A.x >= b
notation are:
| 1 0 0 0 0 0 | | -999.0 |
| | | |
|-1 0 0 0 0 0 | | -999.0 |
| | | |
| 0 1 0 0 0 0 | | -999.0 |
| | | |
| 0 -1 0 0 0 0 | | pivot_x | | -999.0 |
| | | | | |
| 0 0 1 0 0 0 | | pivot_y | | -999.0 |
| | | | | |
| 0 0 -1 0 0 0 | | pivot_z | | -999.0 |
| | . | | >= | |
| 0 0 0 1 0 0 | | ave_pos_x | | -500.0 |
| | | | | |
| 0 0 0 -1 0 0 | | ave_pos_y | | -500.0 |
| | | | | |
| 0 0 0 0 1 0 | | ave_pos_z | | -500.0 |
| | | |
| 0 0 0 0 -1 0 | | -500.0 |
| | | |
| 0 0 0 0 0 1 | | -500.0 |
| | | |
| 0 0 0 0 0 -1 | | -500.0 |
- Parameters:
scaling_matrix (numpy rank-2 square matrix) - The diagonal, square scaling matrix.
- Returns: numpy rank-2 NxM array, numpy rank-1 N array
- The matrices A and b.
|