/*
 Copyright (C) 2008 Srinivas Hasti

 This source code is release under the BSD License.

 This file is part of JQuantLib, a free-software/open-source library
 for financial quantitative analysts and developers - http://jquantlib.org/

 JQuantLib is free software: you can redistribute it and/or modify it
 under the terms of the JQuantLib license.  You should have received a
 copy of the license along with this program; if not, please email
 . The license is also available online at
 .

 This program is distributed in the hope that it will be useful, but WITHOUT
 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 FOR A PARTICULAR PURPOSE.  See the license for more details.

 JQuantLib is based on QuantLib. http://quantlib.org/
 When applicable, the original copyright notice follows this notice.
 */
package org.jquantlib.methods.finitedifferences;

import org.jquantlib.math.matrixutilities.Array;

/**
 * @author Srinivas Hasti
 *
 */
// CODE REVIEW: Do we really need this interface. Helps to easily replaces Tridiaginal implementations
public interface Operator {

	public int size();

	public boolean isTimeDependent();

	public void setTime(double t);

	public  T identity(int size);

	public Array applyTo(Array a);

	public Array solveFor(Array a);
    public double[] solveFor(double[] a);

    public  void swap(T from);

    public  T add(T d);

    public  T subtract(T d);

    public  T multiply(double a);


//
// methods not called, not tested
//
//	Array SOR(Array rhs, int tol);
//	 void swap(T op1, T op2);
//	 T add(T a, T b);
//	 T subtract(T a, T b);
//	 T multiply(double a, final T d);
//	 T multiply(T d, double a);
//	 T divide(T d, double a);

}

 

Ads help maintain this website.