Showing results for

- Intel Community
- Software Development SDKs and Libraries
- Intel® oneAPI Math Kernel Library & Intel® Math Kernel Library
- Difference: mkl_?cootrsv and mkl_?coosv

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Mute
- Printer Friendly Page

Highlighted
Hello!

I have to solve a linear system of equations A*y=x.

My matrix A is a complex general matrix stored in coo.

When I try to call mkl_zcoosv the following way

In this thread: http://software.intel.com/en-us/forums/showthread.php?t=64052&o=a&s=lr

the first answer says that "for NIST like triangular solvers, matdescra(1) must be 'T' or 'D'".

But I thought mkl_?coosv isn't a triangular solver. And if so, what is the difference to mkl_?cootrsv ?

Regards,

S.

sunshinekid

Beginner

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

05-12-2010
10:53 AM

28 Views

I have to solve a linear system of equations A*y=x.

My matrix A is a complex general matrix stored in coo.

When I try to call mkl_zcoosv the following way

[fortran]CALL mkl_zcoosv('N',700,1._8,'g f',mat,row,column,i,workd(ipntr(1)),workd(ipntr(2)))[/fortran]MKL says 'MKL ERROR: Parameter 4 was incorrect on entry to MKL_ZCOOSV'

In this thread: http://software.intel.com/en-us/forums/showthread.php?t=64052&o=a&s=lr

the first answer says that "for NIST like triangular solvers, matdescra(1) must be 'T' or 'D'".

But I thought mkl_?coosv isn't a triangular solver. And if so, what is the difference to mkl_?cootrsv ?

Regards,

S.

Accepted Solutions

Highlighted

Also mkl_?cootrsv is one-based, mkl_cspblas_?cootrsv is zero-based, and mkl_?coosv support both one-base and zero-base.

Victor_Gladkikh

New Contributor I

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

05-13-2010
12:48 AM

28 Views

Hi

mkl_?coosv is also triangular solver.

There is some difference between mkl_?coosv and mkl_?cootrsv/mkl_cspblas_?cootrsv.

The first is different interface of these functions.

The second is different functionality:

------------------------------------------------------------------------------------------------------------------

mkl_?cootrsv and mkl_cspblas_?cootrsv routines solve a system of linear equations with matrix-vector operations:

*y *= inv(*A) * x *or *y *= inv(*A')*x*,

*where* *x *and *y *are vectors, *A *is a sparse upper or lower triangular matrix with unit or non-unit main diagonal, *A' *is the transpose of *A*.

------------------------------------------------------------------------------------------------------------------

The mkl_?coosv routine solves a system of linear equations with matrix-vector operations:

*y *:= *alpha**inv(*A*)**x *or *y *:= *alpha**inv(*A*')**x*,

*where alpha *is scalar, *x *and *y *are vectors, *A *is a sparse upper or lower triangular matrix with unit or non-unit main diagonal, *A' *is the transpose of *A*.

Also mkl_?cootrsv is one-based, mkl_cspblas_?cootrsv is zero-based, and mkl_?coosv support both one-base and zero-base.

4 Replies

Highlighted

Also mkl_?cootrsv is one-based, mkl_cspblas_?cootrsv is zero-based, and mkl_?coosv support both one-base and zero-base.

Victor_Gladkikh

New Contributor I

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

05-13-2010
12:48 AM

29 Views

Hi

mkl_?coosv is also triangular solver.

There is some difference between mkl_?coosv and mkl_?cootrsv/mkl_cspblas_?cootrsv.

The first is different interface of these functions.

The second is different functionality:

------------------------------------------------------------------------------------------------------------------

mkl_?cootrsv and mkl_cspblas_?cootrsv routines solve a system of linear equations with matrix-vector operations:

*y *= inv(*A) * x *or *y *= inv(*A')*x*,

*where* *x *and *y *are vectors, *A *is a sparse upper or lower triangular matrix with unit or non-unit main diagonal, *A' *is the transpose of *A*.

------------------------------------------------------------------------------------------------------------------

The mkl_?coosv routine solves a system of linear equations with matrix-vector operations:

*y *:= *alpha**inv(*A*)**x *or *y *:= *alpha**inv(*A*')**x*,

*where alpha *is scalar, *x *and *y *are vectors, *A *is a sparse upper or lower triangular matrix with unit or non-unit main diagonal, *A' *is the transpose of *A*.

Also mkl_?cootrsv is one-based, mkl_cspblas_?cootrsv is zero-based, and mkl_?coosv support both one-base and zero-base.

Highlighted
Thank you very much!

I didn't get it from the reference manual.

Then I need another possibilty to solve my system... Maybe PARDISO or DSS... I'll see...

sunshinekid

Beginner

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

05-13-2010
03:19 AM

28 Views

I didn't get it from the reference manual.

Then I need another possibilty to solve my system... Maybe PARDISO or DSS... I'll see...

Highlighted

Sergey_Solovev__Inte

New Contributor I

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

05-13-2010
09:19 PM

28 Views

the best way to solve sparse system is using PARDISO. It is flexible, has good performance and scalability. Please try to use PARDISO. If you have any questions you are welcome!

Highlighted
I implemented PARDISO successfully, and I'm satisfied.

The performance is really good, even for small matrices of dimension 700x700.

Thank you for your efforts!

S.

sunshinekid

Beginner

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

05-14-2010
02:30 PM

28 Views

Quoting Sergey Solovev (Intel)

Please try to use PARDISO.

The performance is really good, even for small matrices of dimension 700x700.

Thank you for your efforts!

S.

For more complete information about compiler optimizations, see our Optimization Notice.