#ifndef OPERATOR_H
#define OPERATOR_H
#include"Ctridiag.h"
#include<complex>
typedef std::complex<double> Creal;

class Operator:public Ctridiag {
public:
	Operator();
	Operator(const Ctridiag& in);
	~Operator();

	void init(int n);

	// set sub/sup to 0-vectors with length (in.size-1) and diag to "in"
	Operator operator=(Cvec& in);

	// set sub/sup/diag to Ctridiag-sub/sup/diag
	Operator operator=(Ctridiag& in);

	// divide every element of Ctridiag by "in"
	Operator operator/=(double& in);

	// element-by-element addition of Ctridiag and "in"
	Operator operator+=(const Operator& in);
};

#endif
