Interface VectorSpaceTheory<V extends Vector<V,S>,S extends ScalarFieldElement<S>>

All Superinterfaces:
AbelianRingTheory<V>, AdditiveAbelianGroupTheory<V>, AdditiveAbelianSemiGroupTheory<V>, AdditiveGroupTheory<V>, AdditiveMonoidTheory<V>, AdditiveSemiGroupTheory<V>, AlgebraicStructureTheory<V>, BasicObjectTheory<V>, ElementTheory<V>, MagmaTheory<V>, MultiplicativeMonoidTheory<V>, MultiplicativeSemiGroupTheory<V>, RingTheory<V>, RngTheory<V>

public interface VectorSpaceTheory<V extends Vector<V,S>,S extends ScalarFieldElement<S>> extends AbelianRingTheory<V>
Since:
0.4
Author:
Michiel Meeuwissen
  • Method Details

    • dimension

      @Property default void dimension(@ForAll("elements") V v1)
    • vectorToString

      @Property default void vectorToString(@ForAll("elements") V v1)
    • space

      @Property default void space(@ForAll("elements") V v1, @ForAll("elements") V v2)
    • associativity

      @Property default void associativity(@ForAll("elements") V v1, @ForAll("elements") V v2, @ForAll("elements") V v3)
    • commutativity

      @Property default void commutativity(@ForAll("elements") V v1, @ForAll("elements") V v2)
    • negation

      @Property default void negation(@ForAll("elements") V v1)
    • compatibility

      @Property default void compatibility(@ForAll("elements") V v, @ForAll("scalars") S a, @ForAll("scalars") S b)
    • scalarIdentity

      @Property default void scalarIdentity(@ForAll("elements") V v)
    • vectorDistributivity

      @Property default void vectorDistributivity(@ForAll("elements") V v1, @ForAll("elements") V v2, @ForAll("scalars") S e)
    • scalarDistributivity

      @Property default void scalarDistributivity(@ForAll("elements") V v, @ForAll("scalars") S e1, @ForAll("scalars") S e2)
    • dotCommutative

      @Property default void dotCommutative(@ForAll("elements") V a, @ForAll("elements") V b)
    • dotDistributive

      @Property default void dotDistributive(@ForAll("elements") V a, @ForAll("elements") V b, @ForAll("elements") V c)
    • scalars

      @Provide net.jqwik.api.Arbitrary<? extends S> scalars()