Previous Page Next Page Contents

linalg::intBasis -- basis for the intersection of vector spaces

Introduction

linalg::intBasis(S1, S2...) returns a basis for the intersection of the vector spaces spanned by the vectors in S1, S2, ....

Call(s)

linalg::intBasis(S1, S2...)

Parameters

S1, S2... - either sets or lists of n-dimensional vectors (a vector is an n x 1 or 1 x n matrix of a domain of category Cat::Matrix)

Returns

a set or a list of vectors, according to the domain type of the parameter S1.

Related Functions

linalg::basis, linalg::sumBasis

Details

Example 1

We define three vectors v[1],v[2],v[3] in Q^2:

>> MatQ := Dom::Matrix(Dom::Rational):
   v1 := MatQ([[3, -2]]); v2 := MatQ([[1, 0]]); v3 := MatQ([[5, -3]])
                                 +-     -+
                                 | 3, -2 |
                                 +-     -+
      
                                 +-    -+
                                 | 1, 0 |
                                 +-    -+
      
                                 +-     -+
                                 | 5, -3 |
                                 +-     -+

A basis for the vector space V1 intersect V2 intersect V3 with V1=<{v[1],v[2],v[3]}>, V2=<{v[1],v[3]}> and V3=<{v[1]+v[2],v[2],v[1]+v[3]}> is:

>> linalg::intBasis([v1, v2, v3], [v1, v3], [v1 + v2, v2, v1 + v3])
                         -- +-     -+  +-    -+ --
                         |  | 4, -2 |, | 1, 0 |  |
                         -- +-     -+  +-    -+ --

Example 2

The intersection of the two vector spaces spanned by the vectors in S1 and S2, respectively:

>> S1 := {matrix([[1, 0, 1, 0]]), matrix([[0, 1, 0, 1]])};
   S2 := {matrix([[1, 2, 1, 1]]), matrix([[-1, -2, 1, 0]])}
                    { +-          -+  +-          -+ }
                    { | 0, 1, 0, 1 |, | 1, 0, 1, 0 | }
                    { +-          -+  +-          -+ }
      
                   { +-            -+  +-          -+ }
                   { | -1, -2, 1, 0 |, | 1, 2, 1, 1 | }
                   { +-            -+  +-          -+ }

is the zero-dimensional space:

>> linalg::intBasis(S1, S2)
                                    {}




Do you have questions or comments?


Copyright © SciFace Software GmbH & Co. KG 2000