1

I am trying to find a way to solve the folowing Linear Problem. I want to determine whether a point lies within a subspace of an n-dimensional space without calculating the subspace. The formulation of the Linear Problem is the following:

Suppose that we are in the 300-dimensional space of real numbers. Assume P is the point for which I want to determine whether it lies within or without the a subspace . Assume also that X={x[1], .... x[m]} is the set of points that form this subspace (with each x[i] a 300-dimensional vector). Consider A:=(x[1] x[2] ... x[m]) to be the 300*m matrix with each of the points x[i] as its columns. The problem is now stated as follows:

minimize {x} such that:
A * x = P
x^T * [1] = 1
x[i]>=0, for all i

If the above problem has a solution, then the point P lies within the subspace. Otherwise, it does not. Is this correct? Please also find the following example to better understand my question:

Suppose that I am in the 2-dimensional Real Numbers space and I have three points: (1,3) , (2,1) , (3,2). I want to determine whether the point (2,2) lies within the space created by the three points above. This is reduced to the following linear problem:

minimize {x} such that:

$$\begin{bmatrix}1&3&2\\3&2&1\end{bmatrix}*\begin{bmatrix}x1\\x2\\x3\end{bmatrix} = \begin{bmatrix}2\\2\end{bmatrix}$$

$$\begin{bmatrix}x1&x2&x3\end{bmatrix} * \begin{bmatrix}1\\1\\1\end{bmatrix} = (1,1,1)$$

$$x >= 0$$

If x can be minimized (i.e. I do not have infinitely many solutions) and all of its dimensions are bigger than 0, then indeed (2,2) lies within my subspace. I the above approach correct or not?

P.S. Sorry for the bad editing, but I am not experienced in this site. Moreover, I do not want to calculate the subspace, since I am going to implement this in Python and computing the subspace is very computationally expensive.

  • We use ` for code. – Shaun Dec 07 '17 at 11:33
  • 1
    Thanks, just fixed everything – user37143 Dec 07 '17 at 11:59
  • Use $\ge$ for $\ge$ and $\{\}$ for ${}$. – Shaun Dec 07 '17 at 12:30
  • What is your target algorithmic complexity to beat? – user202729 Dec 07 '17 at 13:41
  • As long as I do not explicitely calculate the space, I will be fine. Meaning that I do not care for the complexity of the solution, as long as the actual calculation of the space is not performed. – user37143 Dec 07 '17 at 13:48
  • @user37143 That would be useless. What you're trying to do is to speed up the calculation, so you must look for an algorithm that is faster than what you are having. Also, use @ to reply to other users so they will be notified about it. – user202729 Dec 07 '17 at 14:00
  • @user202729 Nope, first of all I am not sure whether the algorithm above is correct or not in terms of results. So this post tries to answer this question: Does the thing above work in the first place? Is my approach correct strictly mathematically speaking? Whether it is the fastest or not is another question. – user37143 Dec 07 '17 at 14:03
  • Related. So, if you add the point $P$ to the set $X$ and the dimension of the space span by the vector set does not increase, then $P$ is in the space spanned by $X$, and vice versa. – user202729 Dec 07 '17 at 14:10
  • @user202729 Yes, but do you think that going with the space span is a reliable way to determine whether a point is within this space or not? What are the drawbacks of going with this approach? – user37143 Dec 07 '17 at 14:15
  • Isn't the "vector subspace" you mentioned exactly the same thing as "space span by a set of vector"? So what to worry about it? – user202729 Dec 07 '17 at 14:23

0 Answers0