Skip to content
Rainbow docs menu

Reference · Matrices

rainbow.math.linear.matrix.signed-scale-positive

Matricessrc/rainbow/math/linear/matrix/signed_scale_positive.clj0 definitions, 6 theorems

Zero-value and nonnegativity laws for signed module scaling. Every signed factor sends scalar zero, vector zero-like, and matrix zero-like to zero up to the appropriate quotient equivalence. Combined with nonnegative-factor monotonicity, this proves that signed scaling preserves scalar and entrywise vector/matrix zero lower bounds. Native and axiom-free on D63.

Depends onmath.linear.matrix.add-order

signed/scale-difference-zero-value

TheoremFor all inputsNo axiomsSource, line 77

signed/scale-difference-zero-value :
  (factor : ℚ)
  → signed/scale (signed/positive factor) 0 - signed/scale (signed/negative factor) 0 = 0

- = signed/subtract0 = signed/zero= = signed/equivalent: equality of rational valuesℚ = signed/SignedRational

vector/signed-scale-zero-like

TheoremFor all inputsNo axiomsSource, line 102

vector/signed-scale-zero-like :
  (factor : ℚ) (values : List ℚ)
  → vector/equivalent (scale) (vector/zero-like values)
  where scale := vector/signed-scale factor (vector/zero-like values)

List = data/Listℚ = signed/SignedRational

matrix/signed-scale-zero-like

TheoremFor all inputsNo axiomsSource, line 135

matrix/signed-scale-zero-like :
  (factor : ℚ) (rows : List (List ℚ))
  → matrix/equivalent (scale) (matrix/zero-like rows)
  where scale := matrix/signed-scale factor (matrix/zero-like rows)

List = data/Listℚ = signed/SignedRational

signed/scale-difference-nonnegative

TheoremFor all inputsNo axiomsSource, line 168

signed/scale-difference-nonnegative :
  (factor value : ℚ)
  (factor-nonnegative : 0 ≤ factor)
  (value-nonnegative : 0 ≤ value)
  → 0 ≤ signed/scale (signed/positive factor) value - signed/scale (signed/negative factor) value

- = signed/subtract0 = signed/zeroℚ = signed/SignedRational≤ = signed/at-most

vector/signed-scale-nonnegative

TheoremFor all inputsNo axiomsSource, line 196

vector/signed-scale-nonnegative :
  (factor : ℚ) (values : List ℚ)
  (factor-nonnegative : 0 ≤ factor)
  (values-nonnegative : vector/at-most (vector/zero-like values) values)
  → vector/at-most (vector/zero-like values) (vector/signed-scale factor values)

0 = signed/zeroList = data/Listℚ = signed/SignedRational≤ = signed/at-most

matrix/signed-scale-nonnegative

TheoremFor all inputsNo axiomsSource, line 260

matrix/signed-scale-nonnegative :
  (factor : ℚ) (rows : List (List ℚ))
  (factor-nonnegative : 0 ≤ factor)
  (rows-nonnegative : matrix/at-most (matrix/zero-like rows) rows)
  → matrix/at-most (matrix/zero-like rows) (matrix/signed-scale factor rows)

0 = signed/zeroList = data/Listℚ = signed/SignedRational≤ = signed/at-most