Re: Rank of a matrix depending on a variable
- To: mathgroup at smc.vnet.net
- Subject: [mg122017] Re: Rank of a matrix depending on a variable
- From: Ray Koopman <koopman at sfu.ca>
- Date: Sun, 9 Oct 2011 03:52:13 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- References: <j6q5ue$p0o$1@smc.vnet.net>
On Oct 8, 11:48 am, Mikel <ketakop... at gmail.com> wrote:
> Hi,
>
> A bit of background for my problem: I'm trying to solve a linear
> system of equations in matrix form, A.x==B. I have the A matrix,
> which is square and singular. I also have the B vector, which
> depends on some parameters (or variables, I'm not sure how to call
> it). I'm looking for the value of the parameters, so there exists
> solution to the system. In other words, I want the rank of the
> augmented matrix AB to be equal to the rank of A.
>
> I thought about using the MatrixRank function, but it does not
> support parameters, it seems. Then I tried RowReduce, but even
> though in the first example of the help page the result is given
> with parameters, I only get numbers.
>
> Here's an example to try:
>
> ============
>
> Clear[a]
> A = {{1, 0}, {2, 0}};
> B = {{a}, {2}};
> AB = ArrayFlatten[{{A, B}}];
> MatrixRank[A]
> MatrixRank[AB]
> RowReduce[AB]
>
> a = 1;
> MatrixRank[A]
> MatrixRank[AB]
> RowReduce[AB]
>
> ============
>
> As can be seen, the rank does depend on the value of the
> "a" parameter, but RowReduce just outputs a numeric value.
>
> So, the questions are:
> 1) Why does RowReduce not give a parameter in the result?
> Is this a bug?
> 2) Is there any other way to solve the problem, i.e.
> to get the rank of AB as a function of the "a" variable?
>
> I'm using Mathematica 7, Student version, for what is worth.
B must be orthogonal to the nullspace of the columns of A.
In[1]:= A = {{1,0},{2,0}};
B = {{a},{2}};
Solve[NullSpace@Transpose@A.B == {{0}}, a]
Out[3]= {{a -> 1}}