public void writeLREigVectors() throws IOException{
		Matrix eigenDictL=(Matrix)_matrices[0];
		Matrix eigenDictR=(Matrix)_matrices[1];
		double[][] eigenDictArrL=eigenDictL.getArray();
		double[][] eigenDictArrR=eigenDictR.getArray();
		
		try {
			System.out.println("write _opt.lSVecName:"+_opt.lSVecName);
			System.out.println("write _opt.rSVecName:"+_opt.rSVecName);
			writer=new BufferedWriter(new OutputStreamWriter(new FileOutputStream(_opt.lSVecName),"UTF8"));
			writer1=new BufferedWriter(new OutputStreamWriter(new FileOutputStream(_opt.rSVecName),"UTF8"));
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		}
		
		for (int i=0;i<_opt.smoothArray.size()*_opt.hiddenStateSize;i++){
			for (int j=0; j<_opt.hiddenStateSize/2;j++){

				if ( j != (_opt.hiddenStateSize/2)-1){
					writer.write(Double.toString(eigenDictArrL[i][j]));
					writer.write(' ');
					
					writer1.write(Double.toString(eigenDictArrR[i][j]));
					writer1.write(' ');

				}
				else{
					writer.write(Double.toString(eigenDictArrL[i][j]));
					writer.write('\n');
					
					writer1.write(Double.toString(eigenDictArrR[i][j]));
					writer1.write('\n');
				}
			}
		}
		writer.close();
		writer1.close();
		
	}