Scilab Home Page | Wiki | Bug Tracker | Forge | Mailing List Archives | Scilab Online Help | File Exchange
ATOMS : NISP details
Login with GitLab

NISP

Non Intrusive Spectral Projection
(3270 downloads for this version - 44074 downloads for all versions)
Details
Version
2.5
A more recent valid version with binaries for Scilab 5.4 exists: 2.6
Authors
Jean-Marc Martinez
Michael Baudin
John Burkardt
Knut Petras
Chong Gu
Owner Organization
CEA / INRIA, and others
Maintainer
Michael BAUDIN
License
Dependencies
Creation Date
January 26, 2013
Source created on
Scilab 5.4.x
Binaries available on
Scilab 5.4.x:
Linux 32-bit Windows 32-bit Windows 64-bit macOS Linux 64-bit
Install command
--> atomsInstall("NISP")
Description
            This module allows to perform sensitivity analysis. 
This is the analysis of the uncertainty in the 
output of a given model, depending on the uncertainty in its 
inputs. 

The analysis is based on chaos polynomials, which are orthogonal polynomials
which are used as an approximation of the original model. Once the coefficients
of the chaos polynomial are computed, the associated sensitivity indices are
straightforward to get.

This toolbox has been created in the context of the 
OPUS project :

http://opus-project.fr/

within the workpackage 2.1.1 "Construction de méta-modèles".
This project has received funding (2008-2011) by 
Agence Nationale de la recherche :

http://www.agence-nationale-recherche.fr/

See in the help provided in the help/en_US directory of the 
toolbox for more information about its use.
Use cases are presented in the demos directory.

Features
--------

Main Features:

 * randvar: 
   * Manage various types of random variables
   * uniform, normal, exponential, log-normal
 * setrandvar: 
   * Manage various sampling methods for sets of random variables 
   * Monte-Carlo, Sobol Quasi-Random, Latin Hypercube Sampling, 
     LHS Max Min sampling, and various samplings based 
     on Smolyak Cubature points.
 * polychaos: 
   * Manage polynomial chaos expansion and get specific outputs
   * mean, variance, sensitivity indices, quantiles, Wilks quantiles, 
     correlation, etc...
   * Generate a stand-alone C source code which computes the output of 
     the polynomial chaos expansion.

Configuration Functions:

 * nisp_destroyall : Destroy all current objects.
 * nisp_getpath : Returns the path to the current module.
 * nisp_initseed : Sets the seed of the uniform random number generator.
 * nisp_printall : Prints all current objects.
 * nisp_shutdown : Shuts down the NISP toolbox.
 * nisp_startup : Starts up the NISP toolbox.
 * nisp_verboselevelget : Returns the current verbose level.
 * nisp_verboselevelset : Sets the current verbose level.

Sensitivity Analysis

 * nisp_bruteforcesa : Compute sensitivity indices by brute force.
 * nisp_sobolsaAll : Compute sensitivity indices by Sobol, Ishigami, Homma.
 * nisp_sobolsaFirst : Compute sensitivity indices by Sobol, Ishigami, Homma.
 * nisp_sobolsaTotal : Compute sensitivity indices by Sobol, Ishigami, Homma.

Support functions:

 * nisp_buildlhs : Creates a LHS design
 * nisp_corrcoef : Returns the linear correlation coefficient of x and y.
 * nisp_cov : Returns the empirical covariance matrix of x and y.
 * nisp_erfcinv : Computes the inverse erfc function.
 * nisp_expcdf : Computes the Exponential CDF.
 * nisp_expinv : Computes the Exponential quantile.
 * nisp_exppdf : Computes the Exponential PDF.
 * nisp_lognormalcdf : Computes the Lognormal CDF.
 * nisp_lognormalinv : Computes the Lognormal quantile.
 * nisp_lognormalpdf : Computes the Lognormal PDF.
   
Test functions:

 * nisp_ishigami : Returns the Ishigami function.
 * nisp_ishigamisa : Exact sensitivity analysis for the Ishigami function
 * nisp_product : Returns the value of the Product function
 * nisp_productsa : Exact sensitivity analysis for the Product function
 * nisp_sum : Returns the value of the Product function
 * nisp_sumsa : Returns the sensitivity indices of the Sum function

Acknowledgements
----------------

 * Paul Beaucaire
 * Allan Cornet            
Files (6)
[4.41 MB]
Source code archive

[4.57 MB]
Linux 32-bit binary for Scilab 5.4.x
Linux 32-bit
Automatically generated by the ATOMS compilation chain

[4.80 MB]
Windows 32-bit binary for Scilab 5.4.x
Windows 32-bit
Automatically generated by the ATOMS compilation chain

[4.79 MB]
Windows 64-bit binary for Scilab 5.4.x
Windows 64-bit
Automatically generated by the ATOMS compilation chain

[4.51 MB]
macOS binary for Scilab 5.4.x
MacOSX version
Automatically generated by the ATOMS compilation chain

[4.56 MB]
Linux 64-bit binary for Scilab 5.4.x
Linux 64-bit
Automatically generated by the ATOMS compilation chain

News (0)
Comments (3)     Leave a comment 
Comment from Michael BAUDIN -- February 11, 2013, 03:49:28 PM    
This release does not compile on Linux 32 bits.
Comment from Michael BAUDIN -- February 12, 2013, 07:24:15 PM    
The compilation issue on Linux 32 bits has been fixed.
Comment from Michael BAUDIN -- February 12, 2013, 07:24:41 PM    
Here is the changelog for v2.5.

NISP (2.5.1, Feb. 2013)
 * Updated the help page of polychaos.
 Clarified the purpose of polychaos_buildsample
 * Fixed compilation on Linux 32.

NISP (v2.5, January 2013)
 * setrandvar help page: 
   Clarified the various samples we can build 
   with the setrandvar_buildsample function.
   Clarified the purposes of the setrandvar_save and setrandvar_new(file) 
   calling sequences. 
 * Fixed bug #268: 
   The setrandvar_save function saves one extra-column in the file, 
   which corresponds to the weight of the integration rule.
   Clarified the help of setrandvar_save on this point.
 * Fixed Bug #854
   The two docs in the doc directory are not in the sources anymore. 
   The files are available in the Downloads section of the Forge.
 * Fixed Bug #857: 
   The setrandvar1 unit test is split in several unit tests, 
   in the test/unit_tests/setrandvar directory.
 * Fixed Bug #257:
   The setgroupempty method is now automatically called when the 
   polychaos object is created. 
   Created the polychaos_printgroup function to print the current group of 
   variables.
   Created the polychaos_getgroup to get the current group of 
   variables.
 * Created the polychaos_sasummary to print a summary of the 
   sensitivity analysis.
 * Fixed Bug #861: The order of the help pages was wrong.
 * Clarified the help page of randvar.
   Added the default value of the parameters all distributions. 
   Added an example of the Exponential distribution. 
 * Fixed Bug #863: polychaos_sasummary failed when there 
   are several outputs.
 * Updated nisp_sumsa. 
   Now returns the vector exact.S instead of exact.S1, exact.S2, exact.S3, 
   and exact.S4.
   Extended nisp_sumsa for p parameters (instead of p=4 before).
   New feature : returns exact.ST (which is equal to exact.S).
   Fixed a bug in the computation of the expectation.
 * Fixed bug 997: The help page of nisp_sum had a bug.
 * Extended nisp_sum to manage p parameters (instead of just p=4 before).
 * Extended nisp_sumsa to manage p parameters (instead of just p=4 before).
 * Extended nisp_product to manage p parameters (instead of just p=2 before).
 * Extended nisp_productsa to manage p parameters (instead of just p=2 before).
 * Fixed bug #858: http://forge.scilab.org/index.php/p/nisp/issues/858/
   The pseudo random number generator in NISP was of poor quality.
   The new RNG is now Mersenne-Twister.
 * Fixed bug #1000: http://forge.scilab.org/index.php/p/nisp/issues/1000/
   Some tests failed.
 * Updated the "LogNormale" distribution for clarity.
   The parameter a is now the mean of log(X) (in earlier versions, 
   a was the mean of X). 
   Then a and b are now the parameters of the underlying normal distribution.
   The old code:
   
// NISP <=v2.4
rv = randvar_new("LogNormale",a,b);

   must be updated to:

// NISP >=v2.5
mu=log(a)-b^2/2;
rv = randvar_new("LogNormale",mu,b);

 * Updated the "LogUniforme" distribution for clarity.
   The parameter a and b are now the min and max of log(X) (in earlier versions, 
   a and b were the min and max of X). 
   Then a and b are now the parameters of the underlying uniform distribution.   
   The old code:
   
// NISP <=v2.4
rv = randvar_new("LogUniforme",a,b);

   must be updated to:

// NISP >=v2.5
aa=log(a)
bb=log(b)
rv = randvar_new("LogUniforme",aa,bb);

 * Fixed bug #1007: http://forge.scilab.org/index.php/p/nisp/issues/1007/
 The help did not mention the polynomials.
 * Fixed bug #939: http://forge.scilab.org/index.php/p/nisp/issues/939/
 The nisp_sobolsaFirst function used confidence level c instead of 1-c.
The old statement:

s=nisp_sobolsaFirst(func,nx,randgen,n,inrange,c)

must be updated to:
 
s=nisp_sobolsaFirst(func,nx,randgen,n,inrange,1-c)
Leave a comment
You must register and log in before leaving a comment.
Login with GitLab
Email notifications
Send me email when this toolbox has changes, new files or a new release.
You must register and log in before setting up notifications.