retrieving unsorted factor

19 views
Skip to first unread message

rt

unread,
Oct 6, 2011, 10:17:55 AM10/6/11
to matrixprogramming
Hi,

I have a symmetric, spd taucs matrix (lower). I am able to factor as:

taucs_ccs_order( T, &perm, &invperm, "metis" );
Aod = taucs_ccs_permute_symmetrically( T, perm, invperm );
F = taucs_ccs_factor_llt_mf( Aod );
taucs_ccs_matrix* C = (taucs_ccs_matrix*)
taucs_supernodal_factor_to_ccs( F );

Is it possible to re-order C?

More generally, I wasn't sure how the symmetric permutation returned
by taucs_ccs_order works. For example,

int* perm = (int*) calloc(n, sizeof(int));
int* invperm = (int*) calloc(n, sizeof(int));
taucs_ccs_matrix* Aod = NULL, *Bod = NULL;
taucs_ccs_order(T, &perm, &invperm, "metis");
Aod = (taucs_ccs_matrix*) taucs_ccs_permute_symmetrically(T, perm,
invperm);
Bod = (taucs_ccs_matrix*) taucs_ccs_permute_symmetrically(Aod,
invperm,
perm);

***(Bod != T)
I just cannot seem to permute twice to get the original matrix back.

Thanks in advance,

RT

Evgenii Rudnyi

unread,
Oct 7, 2011, 2:21:07 PM10/7/11
to matrixpr...@googlegroups.com
What do you want to reach? If you need just to solve the system of
equation, then an example is here:

http://matrixprogramming.com/files/code/TAUCS/test_taucs_lowlevel.cpp

Evgenii

On 06.10.2011 16:17 rt said the following:


> Hi,
>
> I have a symmetric, spd taucs matrix (lower). I am able to factor
> as:
>

> taucs_ccs_order( T,&perm,&invperm, "metis" ); Aod =


> taucs_ccs_permute_symmetrically( T, perm, invperm ); F =
> taucs_ccs_factor_llt_mf( Aod ); taucs_ccs_matrix* C =
> (taucs_ccs_matrix*) taucs_supernodal_factor_to_ccs( F );
>
> Is it possible to re-order C?
>
> More generally, I wasn't sure how the symmetric permutation returned
> by taucs_ccs_order works. For example,
>
> int* perm = (int*) calloc(n, sizeof(int)); int* invperm = (int*)
> calloc(n, sizeof(int)); taucs_ccs_matrix* Aod = NULL, *Bod = NULL;

> taucs_ccs_order(T,&perm,&invperm, "metis"); Aod = (taucs_ccs_matrix*)

rt

unread,
Oct 12, 2011, 3:41:52 PM10/12/11
to matrixprogramming
Hi Evgenii,

Thanks for the reply. I do not need to solve any equation. The last
row is dense.
I need to access the diagonal element of cholesky factor L (A= L*L')
and also the last element.
I thought, the last row will be spared from permuation. But it seems
that it is permuted as well.
Does it make sense to do chol(A_p-1) and then compute last element
with a solve and syrk?

thanks again,

Russ

pa. I apologize for delay in my acknowledgment of your quixk
response.
My system crashed and saved passwords for loggin to the site were
lost.

Evgenii Rudnyi

unread,
Oct 15, 2011, 10:11:50 AM10/15/11
to matrixpr...@googlegroups.com
Hi Russ,

Well, you need then the factor indeed. Unfortunately I do not know how
restore it, sorry.

Evgenii

On 12.10.2011 21:41 rt said the following:

Reply all
Reply to author
Forward
0 new messages