Skip to content
Rainbow docs menu

Reference · Vectors

rainbow.math.linear.vector.convex-combination

Vectorssrc/rainbow/math/linear/vector/convex_combination.clj1 definitions, 10 theorems

Normalized two-point convex combinations preserve vector intervals.

Depends onmath.linear.vector.add-ordermath.rational.signed.scale-order

vector/nnrat-wsum2

DefinitionSource, line 89

vector/nnrat-wsum2 :
  (x₁ x₂ : ℚ≥0) (x₃ x₄ : List ℚ)
  → List ℚ

List = data/Listℚ = signed/SignedRationalℚ≥0 = nnrat/NonnegativeRational

signed/scale-additive-rate

TheoremFor all inputsNo axiomsSource, line 101

signed/scale-additive-rate :
  (w0 w1 : ℚ≥0) (value : ℚ)
  → signed/scale w0 value + signed/scale w1 value = signed/scale (w0 + w1) value

+ = nnrat/add= = signed/equivalent: equality of rational valuesℚ = signed/SignedRationalℚ≥0 = nnrat/NonnegativeRational

signed/scale-one

TheoremFor all inputsNo axiomsSource, line 137

signed/scale-one :
  (value : ℚ)
  → signed/scale 1 value = value

1 = nnrat/one= = signed/equivalent: equality of rational valuesℚ = signed/SignedRational

signed/scale-respects-rate-equivalence

TheoremFor all inputsNo axiomsSource, line 163

signed/scale-respects-rate-equivalence :
  (left-rate right-rate : ℚ≥0) (value : ℚ)
  (same-rate : left-rate = right-rate)
  → signed/scale left-rate value = signed/scale right-rate value

= = signed/equivalent: equality of rational valuesℚ = signed/SignedRationalℚ≥0 = nnrat/NonnegativeRational

vector/scale-additive-rate

TheoremFor all inputsNo axiomsSource, line 205

vector/scale-additive-rate :
  (w0 w1 : ℚ≥0) (values : List ℚ)
  → vector/equivalent (add) (vector/scale (w0 + w1) values)
  where add := vector/add (vector/scale w0 values) (vector/scale w1 values)

+ = nnrat/addList = data/Listℚ = signed/SignedRationalℚ≥0 = nnrat/NonnegativeRational

vector/scale-one

TheoremFor all inputsNo axiomsSource, line 243

vector/scale-one :
  (values : List ℚ)
  → vector/equivalent (vector/scale 1 values) values

1 = nnrat/oneList = data/Listℚ = signed/SignedRational

vector/scale-respects-rate-equivalence

TheoremFor all inputsNo axiomsSource, line 268

vector/scale-respects-rate-equivalence :
  (left-rate right-rate : ℚ≥0) (values : List ℚ)
  (same-rate : left-rate = right-rate)
  → vector/equivalent (vector/scale left-rate values) (vector/scale right-rate values)

= = nnrat/equivalent: equality of rational valuesList = data/Listℚ = signed/SignedRationalℚ≥0 = nnrat/NonnegativeRational

vector/nnrat-wsum2-monotone

TheoremFor all inputsNo axiomsSource, line 307

vector/nnrat-wsum2-monotone :
  (w0 w1 : ℚ≥0) (left left-prime right right-prime : List ℚ)
  (left-ordered : vector/at-most left left-prime)
  (right-ordered : vector/at-most right right-prime)
  → vector/at-most (vector/nnrat-wsum2 w0 w1 left right) (wsum2)
  where wsum2 := vector/nnrat-wsum2 w0 w1 left-prime right-prime

List = data/Listℚ = signed/SignedRationalℚ≥0 = nnrat/NonnegativeRational

vector/nnrat-wsum2-normalized-repeated

TheoremFor all inputsNo axiomsSource, line 336

vector/nnrat-wsum2-normalized-repeated :
  (w0 w1 : ℚ≥0) (values : List ℚ)
  (normalized : w0 + w1 = 1)
  → vector/equivalent (vector/nnrat-wsum2 w0 w1 values values) values

+ = nnrat/add1 = nnrat/one= = nnrat/equivalent: equality of rational valuesList = data/Listℚ = signed/SignedRationalℚ≥0 = nnrat/NonnegativeRational

vector/nnrat-convex-lower-bound

TheoremFor all inputsNo axiomsSource, line 369

vector/nnrat-convex-lower-bound :
  (w0 w1 : ℚ≥0) (lower left right : List ℚ)
  (normalized : w0 + w1 = 1)
  (lower-left : vector/at-most lower left) (lower-right : vector/at-most lower right)
  → vector/at-most lower (vector/nnrat-wsum2 w0 w1 left right)

+ = nnrat/add1 = nnrat/one= = nnrat/equivalent: equality of rational valuesList = data/Listℚ = signed/SignedRationalℚ≥0 = nnrat/NonnegativeRational

vector/nnrat-convex-upper-bound

TheoremFor all inputsNo axiomsSource, line 409

vector/nnrat-convex-upper-bound :
  (w0 w1 : ℚ≥0) (left right upper : List ℚ)
  (normalized : w0 + w1 = 1)
  (left-upper : vector/at-most left upper) (right-upper : vector/at-most right upper)
  → vector/at-most (vector/nnrat-wsum2 w0 w1 left right) upper

+ = nnrat/add1 = nnrat/one= = nnrat/equivalent: equality of rational valuesList = data/Listℚ = signed/SignedRationalℚ≥0 = nnrat/NonnegativeRational