Rank of a matrix depending on a variable

*To*: mathgroup at smc.vnet.net*Subject*: [mg122000] Rank of a matrix depending on a variable*From*: Mikel <ketakopter at gmail.com>*Date*: Sat, 8 Oct 2011 05:35:13 -0400 (EDT)*Delivered-to*: l-mathgroup@mail-archive0.wolfram.com*Reply-to*: comp.soft-sys.math.mathematica at googlegroups.com

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.