Turn on suggestions

Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

- Intel Community
- Software Development SDKs and Libraries
- Intel® Integrated Performance Primitives
- How to use IPP SVD function?

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

lkeene

Beginner

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

10-08-2009
11:45 AM

69 Views

How to use IPP SVD function?

I'm trying to use "ippsSVD_64f_D2(...)" function. Among the argument list is one parameter named "int nIter" which is described in the documentation as "Number of iterations for diagonalization". On what basis do I select a value for this? My input data arrays are always 3x3, if this matters.

Thanks you.

-L

Link Copied

1 Reply

Ying_H_Intel

Employee

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

10-13-2009
07:58 PM

69 Views

Quoting - lkeene

I'm trying to use "ippsSVD_64f_D2(...)" function. Among the argument list is one parameter named "int nIter" which is described in the documentation as "Number of iterations for diagonalization". On what basis do I select a value for this? My input data arrays are always 3x3, if this matters.

Thanks you.

-L

Hello,

SVDalgorithm second step (namely diagonalization) is by-nature iterative with a number of iterations to converge mathematically known as O(M) for matrix [MxN]. So, none *certain* number may guaranty convergence. The only fact is that it will converge for some finite number of iterations.

Actually, mathematical number of iteration depends on input data only. So, nIter can be considered as safe guard to stop calculation in case SVD converges too long.

agood way would be to start with nIter=N*M (for example, in your casenIter=9)then double until SVD converge (untill the function returns ippStsNoErr, the function returns ippStsSVDCnvgErr indicates an error when the SVD algorithm has not converged after nIter iterations)

Regards,

YingH.

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