# Differences

This shows you the differences between two versions of the page.

Both sides previous revision Previous revision Next revision | Previous revision | ||

manual:chapter3:symbolic [2019/01/24 09:35] claudio [Using rules and attributes, examples] |
manual:chapter3:symbolic [2019/01/30 06:02] (current) claudio [Attributes] |
||
---|---|---|---|

Line 79: | Line 79: | ||

^ Value ^ Meaning ^ | ^ Value ^ Meaning ^ | ||

| 0 ((Will be automatically removed)) | Nothing is known about this variable | | | 0 ((Will be automatically removed)) | Nothing is known about this variable | | ||

- | | 1 | Variable may be infinity or NaN | | + | | 1 | Variable known to be finite (cannot be infinity or NaN) | |

- | | 2 | Variable is known to be real | | + | | 2 | Variable is known to be real, may be infinity/NaN | |

- | | 3 | Variable is known to be real, may be infinity/NaN | | + | | 3 | Variable is known to be real (and finite) | |

- | | 4 | Variable is known to be complex | | + | | 4 | Variable is known to be complex, may be infinity/NaN | |

- | | 5 | Variable is known to be complex, may be infinity/NaN | | + | | 5 | Variable is known to be complex (and finite) | |

| 6 | Variable is known to be a matrix | | | 6 | Variable is known to be a matrix | | ||

| 8 ((Internal use only)) | Variable is known to be of unknown type | | | 8 ((Internal use only)) | Variable is known to be of unknown type | | ||

Line 95: | Line 95: | ||

| 2 | Value is known not to be < 0 (therefore it's >=0) | | | 2 | Value is known not to be < 0 (therefore it's >=0) | | ||

| 3 | Value is known not to be < 0 and not to be zero (therefore it's >0) | | | 3 | Value is known not to be < 0 and not to be zero (therefore it's >0) | | ||

- | | 4 | Value is known not to be > 0 (therefore it's <=0) | | + | | 4 | Value is known not to be > 0 (therefore it's %%<=%%0) | |

| 5 | Value is known not to be > 0 and not to be zero (therefore it's <0) | | | 5 | Value is known not to be > 0 and not to be zero (therefore it's <0) | | ||

Line 113: | Line 113: | ||

^ Rule ^ Effect ^ | ^ Rule ^ Effect ^ | ||

- | | ''%%'%%ABS(.xX₂₃):->.xX%%'%%'' | Simplify absolute value of an expression that is known to be real >=0 | | + | | ''%%'%%ABS(.xX₂₂):->.xX%%'%%'' | Simplify absolute value of an expression that is known to be real >=0 | |

^ Test cases ^ Result ^ Explanation ^ | ^ Test cases ^ Result ^ Explanation ^ | ||

- | | ''Y*ABS(X₂₃)'' | ''Y*X₂₃'' | The expression matches because ''X'' is known to be a real >=0 | | + | | ''Y*ABS(X₂₃)'' | ''Y*X₂₃'' | The expression matches because ''X'' is known to be a real >0 | |

| ''Y*ABS(-4)'' | ''Y*ABS(-4)'' | The expression doesn't match because ''-4'' is known to be a real <0 | | | ''Y*ABS(-4)'' | ''Y*ABS(-4)'' | The expression doesn't match because ''-4'' is known to be a real <0 | | ||

- | | ''Y*ABS(X₂₃+1)'' | ''Y*(X₂₃+1)'' | The expression matches because ''X+1'' is known to be a real >=0 | | + | | ''Y*ABS(X₂₃+1)'' | ''Y*(X₂₃+1)'' | The expression matches because ''X+1'' is known to be a real >0 | |

- | | ''Y*ABS(X₂₃-1)'' | ''Y*ABS(X₂₃-1)'' | The expression matches because ''X-1'' is could be <0 for 0<=x<1 | | + | | ''Y*ABS(X₂₃-1)'' | ''Y*ABS(X₂₃-1)'' | The expression doesn't match because ''X-1'' could be <0 for 0<x<1 | |

- | | ''Y*ABS%%((X₂₃-1)%%^2)'' | ''Y*(X₂₃-1)^2'' | The expression matches because ''X-1'' is could be <0 for 0<=x<1 | | + | | ''Y*ABS%%((X₂₃-1)%%^2)'' | ''Y*(X₂₃-1)^2'' | The expression matches because ''(X-1)^2'' is known to be >=0 | |