All Downloads are FREE. Search and download functionalities are using the official Maven repository.

JSci.maths.polynomials.ChebychevBasis Maven / Gradle / Ivy

Go to download

JSci is a set of open source Java packages. The aim is to encapsulate scientific methods/principles in the most natural way possible. As such they should greatly aid the development of scientific based software. It offers: abstract math interfaces, linear algebra (support for various matrix and vector types), statistics (including probability distributions), wavelets, newtonian mechanics, chart/graph components (AWT and Swing), MathML DOM implementation, ... Note: some packages, like javax.comm, for the astro and instruments package aren't listed as dependencies (not available).

The newest version!
package JSci.maths.polynomials;

/** The famous Chebychev basis for interpolating polynomials
 * with minimal variation
 * @author b.dietrich
 */
public class ChebychevBasis extends RealLagrangeBasis
    implements PolynomialBasis {
    /** Creates a new instance of ChebychevBase for a given dimension
     * @param dim dimension
     */
    public ChebychevBasis( int dim ) {
        super();
        if ( dim <= 0 ) {
            throw new IllegalArgumentException();
        }
        super._dim  = dim;
        _samplingsX = new double[_dim];

        int n       = _dim - 1;
        for ( int k = 0; k < _dim; k++ ) {
            _samplingsX[k] = Math.cos( ( (double) ( 2 * k + 1 ) * Math.PI ) / (double) ( 2 * n + 2 ) );
        }
        buildBasis();
    }
}





© 2015 - 2024 Weber Informatics LLC | Privacy Policy