Scripts Index
Related Topics
Popular Trends
Trending Topics
Tools and Utilities Development Tools  

Extrimely fast general n-dimensional interpolators

download download home home   report broken
important script information
company name:
Lauri Tamminen
license: Shareware
minimum requirements: MATLAB 7.11 (2010b)
functional limitations:
Extrimely fast general n-dimensional interpolators description


This interpolation package re-implements Matlab's built in methods ppval (1-d case polynomial evaluator) and ppual (multidimensional polynomial evaluator) which are used by Matlab to evaluate polynomial in their so called "pp-form". Matlab's built in versions are extrimely slow even though considering their high relative importance in many fields, such as finance or computer graphics. In my own field efficient polynomial evaluation is as important as efficient FFT is for signal processing engineers.This package introduces two functions named ppmval and ppuval ('m' for multivariate, 'u' for univariate) which evaluate general polynomials in their pp-form. Representing polynomial in pp-form is the most cost-efficient way to evaluate piecewise polynomials.As name suggest ppmval is optimized for evaluating any polynomial mappings from R^m to R^n where m > 1 and n >= 1. ppuval on the other hand is optimized for univariate polynomials of any m (constant, linear, quadratic, spline, etc...)Interfaces are vectorized meaning that you can fetch many evaluation sites at one call. In addition to that, algorithms are multi threaded meaning that you can utilize your computer's every core to do the calculation. The valuation problem is embarrassingly parallel so that you can expect good multi-threading results.Algorithms are designed to use only single threaded evaluation for small input sizes as there are threading overhead involved. For small sized inputs single threaded evaluation is more faster as the lump cost of threading dominates. For larger inputs, speed increase can be seen clearly. The "threshold" limit is macro defined in interpUtil.cpp so that you can easily change it to fit your environment and purposes. In my own computer I came to the conclusion that if you need to evaluate over 1024 points at once, then multi threading is used.The multithreading uses Visual C++ native parallel pattern library that ships with VS 2010. This means that you can't compile and link the libraries with older VS as this library is not present there. However free Express Edition from Microsoft can be downloaded if you do not already have VS 2010. For older users I tried to attatch pre-compiled mexw32 files, but Mahworks did not like the idea (sorry!).Here are the installation instructions1. Unzip Interpolators.zip to folder of your desire.2. Start Matlab3. Add the unzip folder to your Matlab path.4. In Matlab prompt type installer()5. Installer automatically compiles the library and makes necessary linkings to generate two mex-files ppmval and ppual.6. Read the docs that explain the function behaviour and contain very simple examples.7. Run Results.m that does benchmark comparison of this implementation to Matlab's built in evaluators. This also shows examples of the use cases how this interface is supposed to be used. It might be the case that you need to have spline (or curve fit toolbox) to be able to generate general splines in higher dimensions.8. Enjoy!When I have (and IF) some spare time, will make the CUDA implementation of these interpolators



Relates:
Edition - Compile - Libraries - Polynomial - Express - Present - Means - Older - Can039t - Ships
Similar scripts
Rob Keyboard (Popularity: ) : This plugin is produced for holding on keyboard when pairing program. You can type "shift ctrl K" to lock intellJ by a Dialog with amusing words. You can lock intellJ by password, with configging password enabled.At first, you should add ...
CIE Coordinate Calculator (Popularity: ) : This software is for calculating the CIE chromaticity co-ordinates of phosphor materials using the photo luminescence data. The software also shows the position of the co-ordinates in chromaticity diagram and expected color of the material. Please note that the color ...
New Dream Coder for Oracle (Popularity: ) : This tool is an code generator for Oracle. While fetching large tables this tool reduces usage of memory. Some features of this tool are, it has new password ecryption, procedure builder, session monitor, SQL templates etc., It increases execution times ...
Foreign Exchange Options (Popularity: ) : fxoptions( S0, X, rd, rf, T, vol, style)Valuation of European and American call and put options on foreign exchange using Garman-Kohlhagen model.European option prices are given by an exact formula (Garman-Kohlhagen).American option prices are approximated using both binomial and trinomial ...
Anti Cut and Paste (Popularity: ) : This utility is helpful for programmers that allows them to search programming language source code's text fragments which have been copied and pasted. Some key features of this tool are, this tool supports both command line and Graphical User Interface ...
AC Protect Standard (Popularity: ) : This utility is used for avoiding hackers from cracking your software using special techniques called anti crack. It works with all windows platforms. Some features of this tool are, this tool compresses ocx, scr, exe, dll and more, dynamic encrypt ...
VBcodePrint (Popularity: ) : This Add-In to Microsoft Visual Basic 6 significantly enhances its source code printing capabilities. You can print any part of your VB project's source code from within the VB's development environment. / You can create and save your own output ...
Bokai Barcode Image generator (Popularity: ) : This tool is used for barcode generator and which has an ActiveX control for printing barcodes. This tool contains more than twenty five barcode types. This tool supports only ActiveX control programs. Users can customize barcode parameters and design of ...
Use Matlab Editor to Write and Run Ansys Program. (Popularity: ) : You don't have to switch your screen between Matlab, Ansys and UltraEdit or PSPad anymore, when you doing FEM-Analysis.You can use MEditor to write your Ansys APDL program and use the excellent feature of MEditor to structure your Code: Cell-Function, ...
VBAcodePrint (Popularity: ) : This add-in enables you to print Microsoft VBA source code in color of your applications across the entire Microsoft Office 2000 suite of applications: Word, Excel, Outlook, Access, PowerPoint, and FrontPage and any other VBA enabled software. / You can ...
User reviews

Write a review:
1 2 3 4 5 6 7 8 9 10
1=poor 10=excellent
Write review*
Your name*
Email*
  (Comments are moderated, and will not appear on this site until the editor has approved them)
 
Similar Software
SciPy 0.9.0 RC (Popularity: ) : SciPy (pronounced "Sigh Pie") is open-source software for mathematics, science, and engineering. It is also the name of a very popular conference on scientific programming with Python. The SciPy library depends on NumPy, which provides convenient and fast N-dimensional array ...
Synk Professional for Mac (Popularity: ) : Designed for expert users, with all of the bells and whistles. All versions of Synk 6 feature ZeroScan, the revolutionary new technology that makes updating your backups blazingly fast.

Features:
- N-way synchronizations
- batched runs
- conflict detection
- detailed preview
- encrypted backups
- advanced ...

BayesianCortex (Popularity: ) : A paint program where the canvas is the visual cortex of a simple kind of artificial intelligence. You paint with the mouse into its dreams and it responds by changing what you painted gradually. There will also be an API ...
JVClifford (Popularity: ) : JVClifford is composed of Java/Java3D packages and executables jars that provide for Clifford element definition, Geometric Algebra operations and geometric scenes modelling and rendering using the n-dimensional geometric algebra affine model
Open2Dprot (Popularity: ) : Open2Dprot is an open-source proteomics project for the development of bioinformatic tools for n-dimensional protein expression data analysis of quantified protein expression across multiple samples from research experiments.
Polytope Tetris (Popularity: ) : Polytope Tetris is n-dimensional Tetris.Inspired by the HyperTetris program, Polytope Tetris allows you to play tetris in a set number of dimensions. Play tetris in true 3D space, 4D space, or more.
Numpy for Mac OS X (Popularity: ) : NumPy is the fundamental package needed for scientific computing with Python. It contains among other things: * a powerful N-dimensional array object * sophisticated (broadcasting) functions * tools for integrating C/C++ and Fortran code * useful linear algebra, Fourier transform, ...
Numpy for Windows (Popularity: ) : NumPy is the fundamental package needed for scientific computing with Python. It contains among other things: * a powerful N-dimensional array object * sophisticated (broadcasting) functions * tools for integrating C/C++ and Fortran code * useful linear algebra, Fourier transform, ...
TRENDnet TEG-S224S Fast Ethernet Switch Firmware (Popularity: ) : DO NOT upgrade firmware on any TRENDnet product using wireless connection.
Firmware upgrade over wireless connection may damage the product. Please perform firmware upgrade with "wired" network connection only


24-port 10/100Mbps Management Stackable Fast Ethernet Slave Switch

The TEG-S224S is a high-capacity management ...

Toshiba Portege 3505 Tablet PC Fast Infrared Driver 5.1.2600 (Popularity: ) : System Specs:

Processor

* Processor
* Intel Pentium III-M 1.33 GHz

* Data bus speed
* 133 MHz

* Processor features
* Enhanced SpeedStep technology

* Chipset type
* Ali/Trident CyberALADDiN-T

Cache Memory

* Type
* L2 cache

* Cache size
* 512 KB

RAM

* Installed Size
* 512 MB / 1 GB(max)

* Technology
* SDRAM - ...

ad


Rate me
supported os
Linux
Mac OSX
Macintosh
Win All, BSD, Solaris
stats
downloads 2
version 1.0
size in Kb 41
popularity   
666/376721
user rating 0/10
New Scripts
Popular Scripts
Latest Reviews