vkostyukov / la4j

Linear Algebra for Java
http://la4j.org
Apache License 2.0
373 stars 109 forks source link

Feature request: linear spaces #254

Open SamoylovMD opened 9 years ago

SamoylovMD commented 9 years ago

Linear (vector) space is an important concept in linear algebra. It is a mathematical structure formed by a collection of elements called vectors, which may be added together and multiplied ("scaled") by numbers, called scalars in this context. So, in our case it can be a separate object which has collection of vectors as a basis, and some methods for it:

class LinearSpace {
    List<Vector> basis;
    ...
    LinearSpace(List<Vector> system);
    int dimension();
    boolean contains(Vector vector);
    boolean isSubspace(LinearSpace space);
    LinearSpace sum(LinearSpace space);
    LinearSpace intersection(LinearSpace space);
    //etc..
}
SamoylovMD commented 9 years ago

Also, linear spaces can be returned when we solve linear system with infinite solutions (another way to solve #124).

SamoylovMD commented 9 years ago

Full information about this feature can be found here.