Can Taucs solve Ax=b that A is not positive definite

47 views
Skip to first unread message

jin

unread,
Oct 8, 2009, 7:25:39 AM10/8/09
to matrixprogramming
I want to solve a linear equation,A is a large sparse symmetric
matrix,but it's not positive definite.Can I use Taucs to solve the
equation? The reference doesn't say much about this.

Alejandro A. Ortiz Bernardin

unread,
Oct 8, 2009, 1:46:39 PM10/8/09
to matrixpr...@googlegroups.com

>> I want to solve a linear equation,A is a large sparse symmetric
>> matrix,but it's not positive definite.Can I use Taucs to solve the
>> equation? The reference doesn't say much about this.

I had the same problem in the past. See here:

http://groups.google.com/group/matrixprogramming/browse_frm/thread/6b1eca143
1425d49


-a

jin

unread,
Oct 11, 2009, 5:30:00 AM10/11/09
to matrixprogramming
thanks,I have read it .It seems LU decomposition can handle
nonpositive definite matrix,but I don't know how to use that.I changed
the option to options[] = {"taucs.factor.LU=true", NULL};and I got an
assertion error message.Really don't know what to do now.

On Oct 9, 1:46 am, "Alejandro A. Ortiz Bernardin" <aort...@gmail.com>
wrote:
> http://groups.google.com/group/matrixprogramming/browse_frm/thread/6b...
> 1425d49
>
> -a

Evgenii Rudnyi

unread,
Oct 11, 2009, 6:47:32 AM10/11/09
to matrixpr...@googlegroups.com
jin schrieb:

> thanks,I have read it .It seems LU decomposition can handle
> nonpositive definite matrix,but I don't know how to use that.I changed
> the option to options[] = {"taucs.factor.LU=true", NULL};and I got an
> assertion error message.Really don't know what to do now.

taucs_linsolve is not stable and seems to have many bugs. The simplest
way is to use the low-level TAUCS functions directly. You can find an
example here

http://matrixprogramming.com/TAUCS/src/test_taucs_lowlevel.cpp

Also please note that there is also ldlt solver that can be used for
indefinite matrices. Some problem is that both ldlt and lu in TAUCS are
pretty slow. Well, if you matrices are not that big, they can work for
you. So just go through the TAUCS manual, find functions names and
modify the example above.

Reply all
Reply to author
Forward
0 new messages