Post new topic Reply to topic  [ 18 posts ]  Go to page 1, 2  Next
Author Message
 Post subject: Finding parameters
PostPosted: Mon Nov 08, 2010 2:45 pm 

Joined: Mon Nov 08, 2010 2:18 pm
Posts: 10
Is there a way to solve the following problem?
Given a nxn A=(A_ij) matrix (for example n=3,4...) where A-ij is a
polynomial of degree one in X_1, ..., X_n, and given a n-vector
v=(B_11*X_1+...+B_1n*X_n, ..., B_n1*X_1+...+B_nn*X_n)^t where B_ij are
parameters, is it possible to find value for B_ij in such way that the
vector v belongs to the vector space spanned by the columns of A?
thank you.
best
Michele


Report this post
Top
 Profile  
Reply with quote  
 Post subject: Re: Finding parameters
PostPosted: Tue Nov 09, 2010 4:52 pm 

Joined: Tue Jun 23, 2009 10:33 pm
Posts: 51
Location: Kaiserslautern
Dear Michele,

Could you please explain a bit more:

What is the ground field?
Are A-ij homogeneous?
Do you have a simple (but non-trivial) example of such an input and the expected result?

Regards,
Oleksandr


Report this post
Top
 Profile  
Reply with quote  
 Post subject: Re: Finding parameters
PostPosted: Tue Nov 09, 2010 5:00 pm 

Joined: Mon Nov 08, 2010 2:18 pm
Posts: 10
The ground field is C. and the matrix A has entries that are homogeneous polynomials of degree 1.
one example is the following:
Let A be the matrix with rows (x.0) and (0,y) and let v=(ay,bx)^t and I know that the answer is a=b=0.
is it more clear?
thank you!


Report this post
Top
 Profile  
Reply with quote  
 Post subject: Re: Finding parameters
PostPosted: Tue Nov 09, 2010 5:20 pm 

Joined: Tue Jun 23, 2009 10:33 pm
Posts: 51
Location: Kaiserslautern
Thanks.

What about some non-trivial examples?

Regards,
Oleksandr


Report this post
Top
 Profile  
Reply with quote  
 Post subject: Re: Finding parameters
PostPosted: Tue Nov 09, 2010 5:47 pm 

Joined: Mon Nov 08, 2010 2:18 pm
Posts: 10
other example:
Let A= | 2y x 0 |
| -z 0 y |
| 0 -z 2z |

and V= | xa_1+2xa_5-2ya_4+2yb_5+zb_4-zc_1+2zc_5 |
| 2xa_2-xa_6-2ya_5+yb_2-yb_6+zb_5-zc_6 |
| 3xa_3-2ya_6+2yb_3+zb_6+zc_3 |

where I have parameters a_1..a_6,b_1..b_6,c_1..c_6.
the fact is that I'm able after long time to compute it by hands but if the matrix become bigger is too long....
thank you
Michele


Report this post
Top
 Profile  
Reply with quote  
 Post subject: Re: Finding parameters
PostPosted: Tue Nov 09, 2010 7:24 pm 

Joined: Tue Jun 23, 2009 10:33 pm
Posts: 51
Location: Kaiserslautern
Hi,

I am not sure about your vector 'v':

In the 1st example the vector 'v' is NOT of the form
Code:
(B_11*X_1+...+B_1n*X_n, ..., B_n1*X_1+...+B_nn*X_n)^t

It is also the case in your second example.

From your initial question it seems that your are looking for the k-basis of the space spanned by the columns of the matrix 'A'
(which seems to be an easy linear algebra problem), while in your examples you look for a subspace in it...

Please clarify the use of 'v'.

Regards,
O.


Report this post
Top
 Profile  
Reply with quote  
 Post subject: Re: Finding parameters
PostPosted: Wed Nov 10, 2010 10:53 am 

Joined: Mon Nov 08, 2010 2:18 pm
Posts: 10
Hi,
you are right, my first post was badly written....
so v=(B_11*X_1+...+B_1n*X_n, ..., B_n1*X_1+...+B_nn*X_n)^t but then I have some restriction on the B_ij, like some of them are zero.....
thank you
Michele


Report this post
Top
 Profile  
Reply with quote  
 Post subject: Re: Finding parameters
PostPosted: Wed Nov 10, 2010 1:48 pm 

Joined: Tue Jun 23, 2009 10:33 pm
Posts: 51
Location: Kaiserslautern
Hi,

let's consider the 1st problem (no restrictions):
Quote:
v=(B_11*X_1+...+B_1n*X_n, ..., B_n1*X_1+...+B_nn*X_n)^t


Code:
option(redTail); option(redSB); LIB "matrix.lib"; // some init
ring R = 0,(x,y,z), dp; // common ring for both examples
matrix A[2][2] = x,0,   0,y; // 1st example
matrix B[3][3] = 2y, x, 0,     -z,0,y,    0, -z,2z; // 2nd example

// Let's COMPUTE column bases:
print( gauss_col(B) );
// x,0,
// 0,y
print( gauss_col(A) );
// -2*y,2*x,-x,
//    z,  y, 0,
//    0,  0, z 


Which means that the spaces spanned by the columns of the matrices A or B look as follows:

1st example: a (x, 0)^t + b (0,y)^t, for any a,b
2nd example: a (-2y,z,0)^t + b (2x,y,0)^t + c (-x,0,z), for any a,b,c

those a,b,c are your free parameters...

Do you agree with these results?

O.

ps: you can use gauss_col since input is homogeneous of the same degree!


Report this post
Top
 Profile  
Reply with quote  
 Post subject: Re: Finding parameters
PostPosted: Wed Nov 10, 2010 4:04 pm 

Joined: Mon Nov 08, 2010 2:18 pm
Posts: 10
yes, I agree also because I already know that the column were linearly independent over C[x,y,z].
thank you again.
best
Michele


Report this post
Top
 Profile  
Reply with quote  
 Post subject: Re: Finding parameters
PostPosted: Wed Nov 10, 2010 5:10 pm 

Joined: Tue Jun 23, 2009 10:33 pm
Posts: 51
Location: Kaiserslautern
fine. so what about 'v'?

O.


Report this post
Top
 Profile  
Reply with quote  
 Post subject: Re: Finding parameters
PostPosted: Wed Nov 10, 2010 6:05 pm 

Joined: Mon Nov 08, 2010 2:18 pm
Posts: 10
what do you mean? I'm trying to understand if there is a way to compute values for the parameters in v such that it belongs to the vector spaces spanned by the columns of A.


Report this post
Top
 Profile  
Reply with quote  
 Post subject: Re: Finding parameters
PostPosted: Thu Nov 11, 2010 2:06 am 

Joined: Tue Jun 23, 2009 10:33 pm
Posts: 51
Location: Kaiserslautern
after computing a K-basis of the space spanned by columns from A (already explained above) you intersect it with the space given by your conditions (seems to be encoded by the vector ''v'').

I think that your task reduces to a simple linear algebra problem if you switch to the following K-basis:
{ var(i) * gen(j) | 1<=i<=nvars(basering), 1<= j <= nrows(A) } (e.g. using ''jacob'')

ps: do you know about the Gauss algorithm?

O.


Report this post
Top
 Profile  
Reply with quote  
 Post subject: Re: Finding parameters
PostPosted: Thu Nov 11, 2010 11:08 am 

Joined: Mon Nov 08, 2010 2:18 pm
Posts: 10
yes, I know what is the Gauss algorithm.
why do i need to change to such bases?
sorry but i'm not very good at computations...
thank you.
best
Michele


Report this post
Top
 Profile  
Reply with quote  
 Post subject: Re: Finding parameters
PostPosted: Thu Nov 11, 2010 1:51 pm 

Joined: Tue Jun 23, 2009 10:33 pm
Posts: 51
Location: Kaiserslautern
After switching from vectors over k[x..z] to vectors in k^{n * nrows(A)}, -
it is already linear algebra and you use Gauss to intersect two K-vector spaces.

one can do that directly over k[x..z] but i think it's better to understand what is actually going on.

just start with your 1st example:

you wanted to intersect <(x,0)^t, (0,y)^t>_k with <(y,0)^t, (0,x)^t>_k:

Code:
> ring R = 0,(x,y), dp; matrix A[2][2] = x, 0, 0, y; print(A);
x,0,
0,y
> matrix v[2][2] = y, 0, 0, x; print(v);
y,0,
0,x

Now switch to the basis {x*gen(1) y*gen(1) x*gen(2) y*gen(2)}:
Code:
> print(transpose(jacob(A)));
1,0,
0,0,
0,0,
0,1
> print(transpose(jacob(v)));
0,0,
0,1,
1,0,
0,0

so you just intersect <(1,0,0,0)^t, (0,0,0,1)^t>_k with <(0,0,1,0)^t, (0,1,0,0)^t>_k:

Code:
> LIB "matrix.lib"; print( gauss_col (transpose(jacob(A)) + transpose(jacob(-v))) );
1,0,0,0,
0,1,0,0,
0,0,1,0,
0,0,0,1


now you simply read off relations on parameters:
in this example they all are zero, i.e. only the zero point
(btw, zero is ALWAYS a solution for your problem)

do you understand?

O.


Report this post
Top
 Profile  
Reply with quote  
 Post subject: Re: Finding parameters
PostPosted: Thu Nov 11, 2010 4:52 pm 

Joined: Mon Nov 08, 2010 2:18 pm
Posts: 10
I think I do, thank you very much.
just to be sure just look at the second example:
This is what I did:
Code:
> LIB "matrix.lib";
> ring R = 0,(x,y,z), dp;
> matrix B[3][3] = 2y, x, 0,     -z,0,y,    0, -z,2z;
> matrix v[3][14]= x,0,0,-2y,2x,0,0,0,z,2y,0,-z,0,2z,  0,2x,0,0,-2y,-x,y,0,0,z,y,0,0,0,   0,0,3x,0,0,-2y,0,2y,0,0,z,0,z,0;
> print(v);                                                                                                               
x,0, 0, -2y,2x, 0,  0,0, z,2y,0,-z,0,2z,
0,2x,0, 0,  -2y,-x, y,0, 0,z, y,0, 0,0,
0,0, 3x,0,  0,  -2y,0,2y,0,0, z,0, z,0 
> print( gauss_col (transpose(jacob(B)) + transpose(jacob(-v))) );
1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,1,0,0,0,0,0,0

so does this means that the only solution is the zero one?Thank you again!!


Report this post
Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 18 posts ]  Go to page 1, 2  Next

You can post new topics in this forum
You can reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

It is currently Fri May 13, 2022 11:07 am
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group