File |
Line |
org/mklab/cga/interval/matrix/AbstractIntervalComplexNumericalMatrix.java |
1868 |
org/mklab/cga/interval/matrix/AbstractIntervalRealNumericalMatrix.java |
1791 |
public CM getMiddle() {
return this.middle;
}
/**
* {@inheritDoc}
*/
public RM getRadius() {
return this.radius;
}
/**
* {@inheritDoc}
*/
public boolean isPointMatrix() {
return this.radius.isZero();
}
/**
* {@inheritDoc}
*/
public void printInfSup(String name, Writer output) {
//TODO
this.infimum.setElementFormat("%26.30E"); //$NON-NLS-1$
this.supremum.setElementFormat("%26.30E"); //$NON-NLS-1$
this.infimum.print(name + Messages.getString("RealIntervalMatrix.2"), output); //$NON-NLS-1$
this.supremum.print(name + Messages.getString("RealIntervalMatrix.3"), output); //$NON-NLS-1$
}
/**
* {@inheritDoc}
*/
public void printMidRad(String name, Writer output) {
//TODO
this.middle.setElementFormat("%26.30E"); //$NON-NLS-1$
this.radius.setElementFormat("%26.30E"); //$NON-NLS-1$
this.middle.print(name + Messages.getString("RealIntervalMatrix.4"), output); //$NON-NLS-1$
this.radius.print(name + Messages.getString("RealIntervalMatrix.5"), output); //$NON-NLS-1$
}
/**
* 行列を1行の文字列に変換します。
*
* @param elementFormat 成分の出力フォーマット
* @return 1行の文字列
*/
public String toString(final String elementFormat) {
final int rowSize = getRowSize();
final int columnSize = getColumnSize();
final StringBuffer sb = new StringBuffer();
if (rowSize == 0 || columnSize == 0) {
return "[[]]"; //$NON-NLS-1$
}
if (columnSize == 1 && rowSize != 1) {
return transpose().toString(elementFormat) + "'"; //$NON-NLS-1$
}
if (rowSize != 1) {
sb.append("["); //$NON-NLS-1$
}
final int displayColumnSize = 1;
for (int i = 0; i < rowSize; i++) {
if (i != 0) {
sb.append(" "); //$NON-NLS-1$
}
for (int k = 0; k < columnSize;) {
if (k == 0) {
sb.append("["); //$NON-NLS-1$
} else {
sb.append(" "); //$NON-NLS-1$
if (rowSize != 1) {
sb.append(" "); //$NON-NLS-1$
}
}
int j;
for (j = k; j < k + displayColumnSize && j < columnSize; j++) {
sb.append((getElement(i + 1, j + 1)).toString(elementFormat));
if (j != columnSize - 1) {
sb.append(","); //$NON-NLS-1$
}
}
if (j == columnSize) {
sb.append("]"); //$NON-NLS-1$
}
k += displayColumnSize;
}
}
if (rowSize != 1) {
sb.append("]"); //$NON-NLS-1$
}
return sb.toString();
}
/**
* {@inheritDoc}
*/
public boolean contains(final CM point) { |
File |
Line |
org/mklab/cga/interval/matrix/AbstractIntervalRealNumericalMatrix.java |
1616 |
org/mklab/cga/interval/matrix/DoubleIntervalMatrix.java |
1842 |
return createInfSup(inf, sup);
}
/**
* {@inheritDoc}
*/
public BooleanMatrix compareElementWise(String operator, int value) {
if (operator.equals(".==")) { //$NON-NLS-1$
return this.infimum.compareElementWise(operator, value).andElementWise(this.supremum.compareElementWise(operator, value));
}
if (operator.equals(".!=")) { //$NON-NLS-1$
return this.infimum.compareElementWise(operator, value).andElementWise(this.supremum.compareElementWise(operator, value));
}
if (operator.equals(".<")) { //$NON-NLS-1$
return this.supremum.compareElementWise(operator, value);
}
if (operator.equals(".<=")) { //$NON-NLS-1$
return this.supremum.compareElementWise(operator, value);
}
if (operator.equals(".>")) { //$NON-NLS-1$
return this.infimum.compareElementWise(operator, value);
}
if (operator.equals(".>=")) { //$NON-NLS-1$
return this.infimum.compareElementWise(operator, value);
}
throw new UnsupportedOperationException();
}
/**
* {@inheritDoc}
*/
public BooleanMatrix compareElementWise(String operator, double value) {
if (operator.equals(".==")) { //$NON-NLS-1$
return this.infimum.compareElementWise(operator, value).andElementWise(this.supremum.compareElementWise(operator, value));
}
if (operator.equals(".!=")) { //$NON-NLS-1$
return this.infimum.compareElementWise(operator, value).andElementWise(this.supremum.compareElementWise(operator, value));
}
if (operator.equals(".<")) { //$NON-NLS-1$
return this.supremum.compareElementWise(operator, value);
}
if (operator.equals(".<=")) { //$NON-NLS-1$
return this.supremum.compareElementWise(operator, value);
}
if (operator.equals(".>")) { //$NON-NLS-1$
return this.infimum.compareElementWise(operator, value);
}
if (operator.equals(".>=")) { //$NON-NLS-1$
return this.infimum.compareElementWise(operator, value);
}
throw new UnsupportedOperationException();
}
/**
* @param operator operator
* @param value value
* @return result
*/
public BooleanMatrix compareElementWise(String operator, RS value) { |
File |
Line |
org/mklab/cga/eigen/ComplexRumpMethod.java |
249 |
org/mklab/cga/eigen/RealRumpMethod.java |
304 |
XX.setRowVectors(v, XX.createZero(v.getColumnSize(), XX.getColumnSize()));
IY = IZ.add(IC.multiply(X)).add(IR.multiply(XX.multiply(X.getRowVectors(v))));
ready = IntervalUtil.in0forRump(IY, X).allTrue();
}
CIM L = null;
if (ready) {
RM M = (IY.getRowVectors(v)).abssElementWise().getRealPart();
if (v.length() == 1) {
CS[] value = locallambda.createArray(1);
value[0] = locallambda;
CM mid = locallambda.createGrid(value);
L = createMidRad(mid, M);
} else {
EigenSolution<RS,RM,CS,CM> EV = (M).eigenDecompose();
ElementHolder<?> list = ((EV.getValue().diagonalToVector()).absElementWise()).maximum();
int index = list.getRow();
CM Perronx = EV.getVector().getColumnVector(index);
manager.setRoundMode(RoundMode.ROUND_UP);
/* upper bound for Perron root */
RM rad = ((M.toComplex().multiply(Perronx).divideElementWise(Perronx))).maxColumnWise().getRealPart();
manager.setRoundMode(RoundMode.ROUND_NEAR);
CS[] value = locallambda.createArray(1);
value[0] = locallambda;
CM mid = locallambda.createGrid(value);
L = createMidRad(mid, rad);
}
IY.setRowVectors(v, IY.createZero(v.getColumnSize(), IY.getColumnSize()));
X = createInterval(xs).add(IY);
} else { |
File |
Line |
org/mklab/cga/eigen/ComplexRumpMethod.java |
358 |
org/mklab/cga/eigen/RealRumpMethod.java |
413 |
X = IY.add(Eps);
XX.copy(X);
XX.setRowVectors(v, XX.createZero(v.getColumnSize(), XX.getColumnSize()));
CIM b = IZ.add(XX.multiply(X.getRowVectors(v)));
IY = G.inverse().multiply(b);
ready = IntervalUtil.in0forRump(IY, X).allTrue();
}
CIM L = null;
if (ready) {
RM M = (IY.getRowVectors(v)).abssElementWise().getRealPart();
if (v.length() == 1) {
CS[] value = locallambda.createArray(1);
value[0] = locallambda;
CM mid = locallambda.createGrid(value);
L = createMidRad(mid, M);
} else {
EigenSolution<RS,RM,CS,CM> EV = (M).eigenDecompose();
ElementHolder<?> list = (EV.getValue().diagonalToVector()).absElementWise().maximum();
int index = list.getRow();
CM Perronx = EV.getVector().getColumnVector(index);
manager.setRoundMode(RoundMode.ROUND_UP);
/* upper bound for Perron root */
RM rad = ((M.toComplex().multiply(Perronx).divideElementWise(Perronx))).maxColumnWise().getRealPart();
manager.setRoundMode(RoundMode.ROUND_NEAR);
CS[] value = locallambda.createArray(1);
value[0] = locallambda;
CM mid = locallambda.createGrid(value);
L = createMidRad(mid, rad);
}
IY.setRowVectors(v, IY.createZero(v.getColumnSize(), IY.getColumnSize())); |
File |
Line |
org/mklab/cga/interval/matrix/AbstractIntervalComplexNumericalMatrix.java |
1785 |
org/mklab/cga/interval/matrix/AbstractIntervalRealNumericalMatrix.java |
1708 |
return this.middle.compareElementWise(operator, value).andElementWise(this.radius.compareElementWise(operator, value.getRealPart().createZero()).notElementWise());
}
throw new UnsupportedOperationException();
}
/**
* {@inheritDoc}
*/
public void exchangeRow(int row1, int row2) {
this.infimum.exchangeRow(row1, row2);
this.supremum.exchangeRow(row1, row2);
this.middle.exchangeRow(row1, row2);
this.radius.exchangeRow(row1, row2);
}
/**
* {@inheritDoc}
*/
public void exchangeColumn(int column1, int column2) {
this.infimum.exchangeColumn(column1, column2);
this.supremum.exchangeColumn(column1, column2);
this.middle.exchangeColumn(column1, column2);
this.radius.exchangeColumn(column1, column2);
}
/**
* {@inheritDoc}
*/
public void removeRowVectors(int rowMinimum, int rowMaximum) {
this.infimum.removeRowVectors(rowMinimum, rowMaximum);
this.supremum.removeRowVectors(rowMinimum, rowMaximum);
this.middle.removeRowVectors(rowMinimum, rowMaximum);
this.radius.removeRowVectors(rowMinimum, rowMaximum);
}
/**
* {@inheritDoc}
*/
public void removeRowVectors(IntMatrix rowIndex) {
this.infimum.removeRowVectors(rowIndex);
this.supremum.removeRowVectors(rowIndex);
this.middle.removeRowVectors(rowIndex);
this.radius.removeRowVectors(rowIndex);
}
/**
* {@inheritDoc}
*/
public void removeColumnVectors(int columnMinimum, int columnMaximum) {
this.infimum.removeColumnVectors(columnMinimum, columnMaximum);
this.supremum.removeColumnVectors(columnMinimum, columnMaximum);
this.middle.removeColumnVectors(columnMinimum, columnMaximum);
this.radius.removeColumnVectors(columnMinimum, columnMaximum);
}
/**
* {@inheritDoc}
*/
public void removeColumnVectors(IntMatrix columnIndex) {
this.infimum.removeColumnVectors(columnIndex);
this.supremum.removeColumnVectors(columnIndex);
this.middle.removeColumnVectors(columnIndex);
this.radius.removeColumnVectors(columnIndex);
}
/**
* {@inheritDoc}
*/
public CM getInfimum() { |
File |
Line |
org/mklab/cga/vuls/ComplexVULS.java |
128 |
org/mklab/cga/vuls/RealVULS.java |
129 |
CIM BI = createInterval(nB);
return BI;
}
/**
* get a index array from P matrix.
*
* @param n dimension of P matrix
* @param p dimension of index array
* @param P P matrix of LU decomposition
* @return index array
*/
private int[] getIndexArray(final int n, final int p, IntMatrix P) {
int[] I = new int[p];
for (int nRow = 0; nRow < p; nRow++) {
int pRow = 0, pCol = n;
for (int iRow = 1; iRow <= n; iRow++) {
for (int iCol = 1; iCol <= n; iCol++) {
if (P.getIntElement(iRow, iCol) == 1) {
if (iCol < pCol) {
pCol = iCol;
pRow = iRow;
}
}
}
}
P.setElement(pRow, pCol, 0);
if (pRow - 1 == 0) {
pRow = n + 1;
}
I[nRow] = pRow - 1;
}
return I;
}
/**
* get a non-index array from index array based on P matrix.
*
* @param n dimension of P matrix
* @param p p
* @param I index array
* @return non-index array from index array
*/
private int[] getNonIndexArray(final int n, final int p, int[] I) {
int[] N = new int[n - p];
int countIndex = 0;
for (int nRow = 1; nRow <= n; nRow++) {
if (this.isI(I, nRow) == false) {
N[countIndex++] = nRow;
}
}
return N;
}
/**
* check data whether is the value of array or not.
*
* @param i array data
* @param target target value
* @return if it is the value of array <code>i</code>, true; else, false.
*/
private boolean isI(int[] i, int target) {
for (int nRow = 0; nRow < i.length; nRow++) {
if (i[nRow] == target) {
return true;
}
}
return false;
}
/**
* @param sparseVectorFi information of sparse block-matrices <code>F</code>
* @param c2 vector <code>c</code>
* @param sparseVectorY information of sparse matrix <code>Y</code>
* @return a verified sparse matrix <code>Y</code>
*/
public CS[] getVULS(CS[][] sparseVectorFi, CS[] c2, CS[] sparseVectorY) { |
File |
Line |
org/mklab/cga/nonlinear/ComplexNonlinearEquationVerifier.java |
46 |
org/mklab/cga/nonlinear/RealNonlinearEquationVerifier.java |
46 |
public class ComplexNonlinearEquationVerifier<RIDS extends IntervalDerivativeRealNumber<RIDS,RIDM,CIDS,CIDM,RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RIDM extends IntervalDerivativeRealMatrix<RIDS,RIDM,CIDS,CIDM,RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIDS extends IntervalDerivativeComplexNumber<RIDS,RIDM,CIDS,CIDM,RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIDM extends IntervalDerivativeComplexMatrix<RIDS,RIDM,CIDS,CIDM,RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RIS extends IntervalRealNumericalScalar<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RIM extends IntervalRealNumericalMatrix<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIS extends IntervalComplexNumericalScalar<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIM extends IntervalComplexNumericalMatrix<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RS extends RealNumericalScalar<RS,RM,CS,CM>, RM extends RealNumericalMatrix<RS,RM,CS,CM>, CS extends ComplexNumericalScalar<RS,RM,CS,CM>, CM extends ComplexNumericalMatrix<RS,RM,CS,CM>>{
/** 関数オブジェクト */
private IntervalDerivativeFunction<CIDS,CIDM,CIS,CIM,CS,CM> function; |
File |
Line |
org/mklab/cga/derivative/AbstractIntervalDerivativeComplexMatrix.java |
43 |
org/mklab/cga/derivative/AbstractIntervalDerivativeRealMatrix.java |
43 |
public abstract class AbstractIntervalDerivativeComplexMatrix<RIDS extends IntervalDerivativeRealNumber<RIDS,RIDM,CIDS,CIDM,RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RIDM extends IntervalDerivativeRealMatrix<RIDS,RIDM,CIDS,CIDM,RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIDS extends IntervalDerivativeComplexNumber<RIDS,RIDM,CIDS,CIDM,RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIDM extends IntervalDerivativeComplexMatrix<RIDS,RIDM,CIDS,CIDM,RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RIS extends IntervalRealNumericalScalar<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RIM extends IntervalRealNumericalMatrix<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIS extends IntervalComplexNumericalScalar<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIM extends IntervalComplexNumericalMatrix<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RS extends RealNumericalScalar<RS,RM,CS,CM>, RM extends RealNumericalMatrix<RS,RM,CS,CM>, CS extends ComplexNumericalScalar<RS,RM,CS,CM>, CM extends ComplexNumericalMatrix<RS,RM,CS,CM>> extends AbstractIntervalDerivativeMatrix<CIDS, CIDM, CIS, CIM, CS, CM> |
File |
Line |
org/mklab/cga/derivative/AbstractIntervalDerivativeComplexNumber.java |
43 |
org/mklab/cga/derivative/AbstractIntervalDerivativeRealNumber.java |
43 |
public abstract class AbstractIntervalDerivativeComplexNumber<RIDS extends IntervalDerivativeRealNumber<RIDS,RIDM,CIDS,CIDM,RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RIDM extends IntervalDerivativeRealMatrix<RIDS,RIDM,CIDS,CIDM,RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIDS extends IntervalDerivativeComplexNumber<RIDS,RIDM,CIDS,CIDM,RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIDM extends IntervalDerivativeComplexMatrix<RIDS,RIDM,CIDS,CIDM,RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RIS extends IntervalRealNumericalScalar<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RIM extends IntervalRealNumericalMatrix<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIS extends IntervalComplexNumericalScalar<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIM extends IntervalComplexNumericalMatrix<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RS extends RealNumericalScalar<RS,RM,CS,CM>, RM extends RealNumericalMatrix<RS,RM,CS,CM>, CS extends ComplexNumericalScalar<RS,RM,CS,CM>, CM extends ComplexNumericalMatrix<RS,RM,CS,CM>> extends AbstractIntervalDerivativeNumber<CIDS, CIDM, CIS, CIM, CS, CM> |
File |
Line |
org/mklab/cga/derivative/IntervalDerivativeComplexMatrix.java |
43 |
org/mklab/cga/derivative/IntervalDerivativeRealMatrix.java |
43 |
public interface IntervalDerivativeComplexMatrix<RIDS extends IntervalDerivativeRealNumber<RIDS,RIDM,CIDS,CIDM,RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RIDM extends IntervalDerivativeRealMatrix<RIDS,RIDM,CIDS,CIDM,RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIDS extends IntervalDerivativeComplexNumber<RIDS,RIDM,CIDS,CIDM,RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIDM extends IntervalDerivativeComplexMatrix<RIDS,RIDM,CIDS,CIDM,RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RIS extends IntervalRealNumericalScalar<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RIM extends IntervalRealNumericalMatrix<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIS extends IntervalComplexNumericalScalar<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIM extends IntervalComplexNumericalMatrix<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RS extends RealNumericalScalar<RS,RM,CS,CM>, RM extends RealNumericalMatrix<RS,RM,CS,CM>, CS extends ComplexNumericalScalar<RS,RM,CS,CM>, CM extends ComplexNumericalMatrix<RS,RM,CS,CM>> extends IntervalDerivativeMatrix<CIDS, CIDM, CIS, CIM, CS, CM> { |
File |
Line |
org/mklab/cga/derivative/IntervalDerivativeComplexNumber.java |
43 |
org/mklab/cga/derivative/IntervalDerivativeRealNumber.java |
43 |
public interface IntervalDerivativeComplexNumber<RIDS extends IntervalDerivativeRealNumber<RIDS,RIDM,CIDS,CIDM,RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RIDM extends IntervalDerivativeRealMatrix<RIDS,RIDM,CIDS,CIDM,RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIDS extends IntervalDerivativeComplexNumber<RIDS,RIDM,CIDS,CIDM,RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIDM extends IntervalDerivativeComplexMatrix<RIDS,RIDM,CIDS,CIDM,RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RIS extends IntervalRealNumericalScalar<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RIM extends IntervalRealNumericalMatrix<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIS extends IntervalComplexNumericalScalar<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIM extends IntervalComplexNumericalMatrix<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RS extends RealNumericalScalar<RS,RM,CS,CM>, RM extends RealNumericalMatrix<RS,RM,CS,CM>, CS extends ComplexNumericalScalar<RS,RM,CS,CM>, CM extends ComplexNumericalMatrix<RS,RM,CS,CM>> extends IntervalDerivativeNumber<CIDS, CIDM, CIS, CIM, CS, CM> { |
File |
Line |
org/mklab/cga/derivative/AbstractIntervalDerivativeComplexMatrix.java |
43 |
org/mklab/cga/derivative/AbstractIntervalDerivativeComplexNumber.java |
43 |
org/mklab/cga/derivative/AbstractIntervalDerivativeRealMatrix.java |
43 |
org/mklab/cga/derivative/AbstractIntervalDerivativeRealNumber.java |
43 |
org/mklab/cga/derivative/IntervalDerivativeComplexMatrix.java |
43 |
org/mklab/cga/derivative/IntervalDerivativeComplexNumber.java |
43 |
org/mklab/cga/derivative/IntervalDerivativeRealMatrix.java |
43 |
org/mklab/cga/derivative/IntervalDerivativeRealNumber.java |
43 |
public abstract class AbstractIntervalDerivativeComplexMatrix<RIDS extends IntervalDerivativeRealNumber<RIDS,RIDM,CIDS,CIDM,RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RIDM extends IntervalDerivativeRealMatrix<RIDS,RIDM,CIDS,CIDM,RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIDS extends IntervalDerivativeComplexNumber<RIDS,RIDM,CIDS,CIDM,RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIDM extends IntervalDerivativeComplexMatrix<RIDS,RIDM,CIDS,CIDM,RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RIS extends IntervalRealNumericalScalar<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RIM extends IntervalRealNumericalMatrix<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIS extends IntervalComplexNumericalScalar<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIM extends IntervalComplexNumericalMatrix<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RS extends RealNumericalScalar<RS,RM,CS,CM>, RM extends RealNumericalMatrix<RS,RM,CS,CM>, CS extends ComplexNumericalScalar<RS,RM,CS,CM>, CM extends ComplexNumericalMatrix<RS,RM,CS,CM>> extends AbstractIntervalDerivativeMatrix<CIDS, CIDM, CIS, CIM, CS, CM> |
File |
Line |
org/mklab/cga/derivative/AbstractIntervalDerivativeComplexMatrix.java |
43 |
org/mklab/cga/derivative/AbstractIntervalDerivativeComplexNumber.java |
43 |
org/mklab/cga/derivative/AbstractIntervalDerivativeRealMatrix.java |
43 |
org/mklab/cga/derivative/AbstractIntervalDerivativeRealNumber.java |
43 |
org/mklab/cga/derivative/IntervalDerivativeComplexMatrix.java |
43 |
org/mklab/cga/derivative/IntervalDerivativeComplexNumber.java |
43 |
org/mklab/cga/derivative/IntervalDerivativeRealMatrix.java |
43 |
org/mklab/cga/derivative/IntervalDerivativeRealNumber.java |
43 |
org/mklab/cga/nonlinear/ComplexNonlinearEquationVerifier.java |
46 |
org/mklab/cga/nonlinear/RealNonlinearEquationVerifier.java |
46 |
public abstract class AbstractIntervalDerivativeComplexMatrix<RIDS extends IntervalDerivativeRealNumber<RIDS,RIDM,CIDS,CIDM,RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RIDM extends IntervalDerivativeRealMatrix<RIDS,RIDM,CIDS,CIDM,RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIDS extends IntervalDerivativeComplexNumber<RIDS,RIDM,CIDS,CIDM,RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIDM extends IntervalDerivativeComplexMatrix<RIDS,RIDM,CIDS,CIDM,RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RIS extends IntervalRealNumericalScalar<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RIM extends IntervalRealNumericalMatrix<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIS extends IntervalComplexNumericalScalar<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIM extends IntervalComplexNumericalMatrix<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RS extends RealNumericalScalar<RS,RM,CS,CM>, RM extends RealNumericalMatrix<RS,RM,CS,CM>, CS extends ComplexNumericalScalar<RS,RM,CS,CM>, CM extends ComplexNumericalMatrix<RS,RM,CS,CM>> extends AbstractIntervalDerivativeMatrix<CIDS, CIDM, CIS, CIM, CS, CM> |
File |
Line |
org/mklab/cga/util/IntervalUtil.java |
425 |
org/mklab/cga/util/IntervalUtil.java |
458 |
S[] d2 = unit.createArray(M.length());
for (int i = 0; i < D.length(); i++) {
d1[i] = D.getElement(i + 1, 1);
d2[i] = M.getElement(i + 1, 1);
}
Ac = Ac.subtract(d1[0].createGrid(d1).vectorToDiagonal()).add(d2[0].createGrid(d2).vectorToDiagonal());
return Ac;
}
/**
* Comparison Matrixを求めます。
*
* @param <RIS> 実区間スカラーの型
* @param <RIM> 実区間行列の型
* @param <CIS> 複素区間スカラーの型
* @param <CIM> 複素区間行列の型
* @param <RS> 実スカラーの型
* @param <RM> 実行列の型
* @param <CS> 複素スカラーの型
* @param <CM> 複素行列の型
* @param im 区間行列
* @return ComparisonMatrix
*/
public static <RIS extends IntervalRealNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RIM extends IntervalRealNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIS extends IntervalComplexNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIM extends IntervalComplexNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RS extends RealNumericalScalar<RS, RM, CS, CM>, RM extends RealNumericalMatrix<RS, RM, CS, CM>, CS extends ComplexNumericalScalar<RS, RM, CS, CM>, CM extends ComplexNumericalMatrix<RS, RM, CS, CM>> RM comparisonMatrix( |
File |
Line |
org/mklab/cga/eigen/ComplexRumpMethod.java |
227 |
org/mklab/cga/eigen/ComplexRumpMethod.java |
338 |
IC = II.subtract(IR.multiply(IC));// C=I-RC
CIM IY = IZ.createClone();// Y=Z
CIM Eps = createInterval(IY.abssElementWise().multiply(0.1)).multiply(createIntervalInfSup(-1.0, 1.0)).addElementWise(createMidRad(0, Double.MIN_VALUE));
// TODO こうしたらいいのかな?(NumericalMatrixElementIntervalの実装が必要みたい)
CIM Z_row = IZ.getRowVectors(v);
CM Z_row_abs = Z_row.abssElementWise();
BooleanMatrix Z_flag = Z_row_abs.compareElementWise(".>", 0.1); //$NON-NLS-1$
int z_sum = Z_flag.find().length();
double m = 0;
double mmax = Math.min(15 * (z_sum + 1), 20);
boolean ready = false;
CIM X = null;
CIM XX = createInterval(R.createZero(IY.getRowSize(), IY.getColumnSize()));
while ((!ready) && (m < mmax) && (!IY.isNanElementWise().anyTrue())) {
m = m + 1;
X = IY.add(Eps);
XX.copy(X);
XX.setRowVectors(v, XX.createZero(v.getColumnSize(), XX.getColumnSize())); |
File |
Line |
org/mklab/cga/interval/matrix/AbstractIntervalRealNumericalMatrix.java |
1257 |
org/mklab/cga/interval/matrix/DoubleIntervalMatrix.java |
1389 |
public BooleanMatrix compareElementWise(String operator, RIM opponent) {
if (operator.equals(".==")) { //$NON-NLS-1$
return this.infimum.compareElementWise(operator, opponent.getInfimum()).andElementWise(this.supremum.compareElementWise(operator, opponent.getSupremum()));
}
if (operator.equals(".!=")) { //$NON-NLS-1$
return this.infimum.compareElementWise(operator, opponent.getInfimum()).andElementWise(this.supremum.compareElementWise(operator, opponent.getSupremum()));
}
if (operator.equals(".<")) { //$NON-NLS-1$
return this.supremum.compareElementWise(operator, opponent.getInfimum());
}
if (operator.equals(".<=")) { //$NON-NLS-1$
return this.supremum.compareElementWise(operator, opponent.getInfimum());
}
if (operator.equals(".>")) { //$NON-NLS-1$
return this.infimum.compareElementWise(operator, opponent.getSupremum());
}
if (operator.equals(".>=")) { //$NON-NLS-1$
return this.infimum.compareElementWise(operator, opponent.getSupremum());
}
throw new UnsupportedOperationException();
}
/**
* {@inheritDoc}
*/
public RIM getSubVector(final IntMatrix index) { |
File |
Line |
org/mklab/cga/eigen/ComplexBFMethod.java |
36 |
org/mklab/cga/eigen/ComplexOhishiMethod.java |
36 |
public class ComplexBFMethod<RIS extends IntervalRealNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RIM extends IntervalRealNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIS extends IntervalComplexNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIM extends IntervalComplexNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RS extends RealNumericalScalar<RS, RM, CS, CM>, RM extends RealNumericalMatrix<RS, RM, CS, CM>, CS extends ComplexNumericalScalar<RS, RM, CS, CM>, CM extends ComplexNumericalMatrix<RS, RM, CS, CM>> implements ComplexEigenVerifier<RIS,RIM,CIS,CIM,RS,RM,CS,CM> {
/** 対象となる行列 */
private CM A;
/** 対象となる区間行列 */
private CIM IA;
/** 精度保証付き固有値 */
private CIM verifiedValue;
// /** 精度保証付き固有ベクトル */
// private CIM verifiedVector;
// /**
// * コンストラクタ
// *
// */
// /**
// * Creates {@link ComplexBFMethod}.
// */
// public ComplexBFMethod() {
// // nothing to do
// }
// /**
// * 新しく生成された<code>BFMethod</code>オブジェクトを初期化します。
// *
// * @param A matrix
// *
// * @param IA interval matrix
// */
// public ComplexBFMethod(CM A, CIM IA) {
// this.A = A;
// this.IA = IA;
// }
// /**
// * 新しく生成された<code>BFMethod</code>オブジェクトを初期化します。
// *
// * @param IA 対象となる区間行列
// */
// public ComplexBFMethod(CIM IA) {
// this.IA = IA;
// this.A = IA.getMiddle();
// }
// /**
// * {@inheritDoc}
// */
// public void solve() {
// EigenSolution<RS,RM,CS,CM> eigen = this.A.eigenDecompose();
// CM value = eigen.getValues();
// CM vector = eigen.getVectors();
// this.verifiedValue = solve(value, vector);
// }
// /**
// * @see org.mklab.cga.eigen.EigenVerifier#solveAsSparse()
// */
// public void solveAsSparse() {
// if (this.A != null) {
// solveAsSparse(this.A);
// } else if (this.IA != null) {
// solveAsSparse(this.IA);
// } else {
// throw new RuntimeException("Target matrix is not given."); //$NON-NLS-1$
// }
// }
// /**
// * {@inheritDoc}
// */
// public void solve(final CM a) {
// this.A = a;
// EigenSolution<RS,RM,CS,CM> eigen = (this.A).eigenDecompose();
// CM value = eigen.getValues();
// CM vector = eigen.getVectors();
// this.verifiedValue = solve(value, vector);
// }
/**
* {@inheritDoc}
*/
public void solve(final CIM a) {
this.IA = a;
this.A = a.getMiddle();
EigenSolution<RS,RM,CS,CM> eigen = this.A.eigenDecompose(); |
File |
Line |
org/mklab/cga/eigen/ComplexBFMethod.java |
122 |
org/mklab/cga/eigen/RealBFMethod.java |
115 |
EigenSolution<RS,RM,CS,CM> eigen = this.A.eigenDecompose();
CM value = eigen.getValue();
CM vector = eigen.getVector();
this.verifiedValue = solve(value, vector);
}
// /**
// * {@inheritDoc}
// */
// public void solveAsSparse(CM a) {
// throw new UnsupportedOperationException();
// }
// /**
// * @see org.mklab.cga.eigen.EigenVerifier#getSolution()
// */
// public EigenVerifiedSolution<E> getSolution() {
// return new EigenVerifiedSolution<>(this.verifiedValue);
// }
/**
* @param value 近似固有値
* @param vector 近似固有ベクトル
* @return 精度保証付き固有値
*/
private CIM solve(CM value, CM vector) {
RoundModeManager manager = RoundModeManager.getManager();
RoundMode oldRoundMode = manager.getRoundMode();
manager.setRoundMode(RoundMode.ROUND_DOWN);
CM v_down = vector.multiply(value);
manager.setRoundMode(RoundMode.ROUND_UP);
CM v_up = vector.multiply(value);
CM v_m = v_down.add((v_up.subtract(v_down)).divide(2));
CM v_r = v_m.subtract(v_down);
manager.setRoundMode(RoundMode.ROUND_DOWN);
CM e_down = v_m.multiply(vector.inverse()).add(v_r.multiply(-1).multiply((vector.inverse()).absElementWise())).subtract(this.A); |
File |
Line |
org/mklab/cga/interval/matrix/AbstractIntervalComplexNumericalMatrix.java |
1741 |
org/mklab/cga/interval/matrix/DoubleComplexIntervalMatrix.java |
1934 |
return createMidRad(mid, rad);
}
/**
* {@inheritDoc}
*/
public BooleanMatrix compareElementWise(String operator, int value) {
if (operator.equals(".==")) { //$NON-NLS-1$
return this.middle.compareElementWise(operator, value).andElementWise(this.radius.compareElementWise(operator, value));
}
if (operator.equals(".!=")) { //$NON-NLS-1$
return this.middle.compareElementWise(operator, value).andElementWise(this.radius.compareElementWise(operator, value));
}
throw new UnsupportedOperationException();
}
/**
* {@inheritDoc}
*/
public BooleanMatrix compareElementWise(String operator, double value) {
if (operator.equals(".==")) { //$NON-NLS-1$
return this.middle.compareElementWise(operator, value).andElementWise(this.radius.compareElementWise(operator, value));
}
if (operator.equals(".!=")) { //$NON-NLS-1$
return this.middle.compareElementWise(operator, value).andElementWise(this.radius.compareElementWise(operator, value));
}
throw new UnsupportedOperationException();
}
/**
* @param operator operator
* @param value value
* @return result result
*/
public BooleanMatrix compareElementWise(String operator, CS value) { |
File |
Line |
org/mklab/cga/eigen/ComplexOhishiMethod.java |
110 |
org/mklab/cga/eigen/RealOhishiMethod.java |
155 |
CM vector = this.A.createZero(D1.getRowSize(), D1.getColumnSize());
vector.setColumnVectors((D1.diagonalToVector()).sort().getIndices().transpose(), P1);
this.verifiedValue = solve(value, vector);
}
// /**
// * @see org.mklab.cga.eigen.EigenVerifier#getSolution()
// */
// public EigenVerifiedSolution<E> getSolution() {
// return new EigenVerifiedSolution<>(this.verifiedValue);
// }
// /**
// * {@inheritDoc}
// */
// public void solve(final CIM a) {
// this.IA = a;
// this.A = a.getMiddle();
// solve();
// }
// /**
// * {@inheritDoc}
// */
// public void solveAsSparse(CM a) {
// throw new UnsupportedOperationException();
// }
/**
* 精度保証付き固有値を返します。
*
* @param value 近似固有値
* @param vector 近似固有ベクトル
*
* @return 精度保証付き固有値
*/
private CIM solve(CM value, CM vector) {
RoundModeManager manager = RoundModeManager.getManager();
RoundMode oldRoundMode = manager.getRoundMode();
manager.setRoundMode(RoundMode.ROUND_DOWN);
CM v_down = vector.multiply(value);
manager.setRoundMode(RoundMode.ROUND_UP);
CM v_up = vector.multiply(value);
CM mV = v_down.add((v_up.subtract(v_down)).divide(2));
CM rV = mV.subtract(v_down);
manager.setRoundMode(RoundMode.ROUND_DOWN);
CM e_down = mV.multiply(vector.transpose()).add(rV.multiply(-1).multiply((vector.transpose()).absElementWise())).subtract(this.A); |
File |
Line |
org/mklab/cga/interval/matrix/AbstractIntervalRealNumericalMatrix.java |
1622 |
org/mklab/cga/interval/matrix/AbstractIntervalRealNumericalMatrix.java |
1653 |
org/mklab/cga/interval/matrix/DoubleIntervalMatrix.java |
1848 |
org/mklab/cga/interval/matrix/DoubleIntervalMatrix.java |
1879 |
public BooleanMatrix compareElementWise(String operator, int value) {
if (operator.equals(".==")) { //$NON-NLS-1$
return this.infimum.compareElementWise(operator, value).andElementWise(this.supremum.compareElementWise(operator, value));
}
if (operator.equals(".!=")) { //$NON-NLS-1$
return this.infimum.compareElementWise(operator, value).andElementWise(this.supremum.compareElementWise(operator, value));
}
if (operator.equals(".<")) { //$NON-NLS-1$
return this.supremum.compareElementWise(operator, value);
}
if (operator.equals(".<=")) { //$NON-NLS-1$
return this.supremum.compareElementWise(operator, value);
}
if (operator.equals(".>")) { //$NON-NLS-1$
return this.infimum.compareElementWise(operator, value);
}
if (operator.equals(".>=")) { //$NON-NLS-1$
return this.infimum.compareElementWise(operator, value);
}
throw new UnsupportedOperationException();
}
/**
* {@inheritDoc}
*/
public BooleanMatrix compareElementWise(String operator, double value) { |
File |
Line |
org/mklab/cga/interval/matrix/AbstractIntervalRealNumericalMatrix.java |
1622 |
org/mklab/cga/interval/matrix/AbstractIntervalRealNumericalMatrix.java |
1653 |
org/mklab/cga/interval/matrix/AbstractIntervalRealNumericalMatrix.java |
1686 |
org/mklab/cga/interval/matrix/DoubleIntervalMatrix.java |
1848 |
org/mklab/cga/interval/matrix/DoubleIntervalMatrix.java |
1879 |
org/mklab/cga/interval/matrix/DoubleIntervalMatrix.java |
1910 |
public BooleanMatrix compareElementWise(String operator, int value) {
if (operator.equals(".==")) { //$NON-NLS-1$
return this.infimum.compareElementWise(operator, value).andElementWise(this.supremum.compareElementWise(operator, value));
}
if (operator.equals(".!=")) { //$NON-NLS-1$
return this.infimum.compareElementWise(operator, value).andElementWise(this.supremum.compareElementWise(operator, value));
}
if (operator.equals(".<")) { //$NON-NLS-1$
return this.supremum.compareElementWise(operator, value);
}
if (operator.equals(".<=")) { //$NON-NLS-1$
return this.supremum.compareElementWise(operator, value);
}
if (operator.equals(".>")) { //$NON-NLS-1$
return this.infimum.compareElementWise(operator, value);
}
if (operator.equals(".>=")) { //$NON-NLS-1$
return this.infimum.compareElementWise(operator, value);
}
throw new UnsupportedOperationException();
}
/**
* {@inheritDoc}
*/
public BooleanMatrix compareElementWise(String operator, double value) { |
File |
Line |
org/mklab/cga/interval/matrix/DoubleIntervalMatrix.java |
1425 |
org/mklab/cga/interval/matrix/DoubleIntervalMatrix.java |
1461 |
public BooleanMatrix compareElementWise(String operator, IntMatrix opponent) {
if (operator.equals(".==")) { //$NON-NLS-1$
return this.infimum.compareElementWise(operator, opponent).andElementWise(this.supremum.compareElementWise(operator, opponent));
}
if (operator.equals(".!=")) { //$NON-NLS-1$
return this.infimum.compareElementWise(operator, opponent).andElementWise(this.supremum.compareElementWise(operator, opponent));
}
if (operator.equals(".<")) { //$NON-NLS-1$
return this.supremum.compareElementWise(operator, opponent);
}
if (operator.equals(".<=")) { //$NON-NLS-1$
return this.supremum.compareElementWise(operator, opponent);
}
if (operator.equals(".>")) { //$NON-NLS-1$
return this.infimum.compareElementWise(operator, opponent);
}
if (operator.equals(".>=")) { //$NON-NLS-1$
return this.infimum.compareElementWise(operator, opponent);
}
throw new UnsupportedOperationException();
}
/**
* 行列<code>opponent</code>の各成分と成分毎に<code>operator</code>で指定された演算子で比較し, それぞれの結果を成分とする{@link BooleanMatrix}を生成します。
*
* @param operator 比較演算子(". <", ". <=", ".>", ".>=", ".==", ".!=")
* @param opponent 比較対象
*
* @return 比較結果を成分とする{@link BooleanMatrix}
*/
public BooleanMatrix compareElementWise(String operator, DoubleMatrix opponent) { |
File |
Line |
org/mklab/cga/interval/scalar/AbstractIntervalScalar.java |
67 |
org/mklab/cga/interval/scalar/AbstractIntervalScalar.java |
240 |
RS mid = inf.add(sup.subtract(inf).divide(2));
manager.setRoundMode(oldRoundMode);
return mid;
}
/**
* 区間の半径を求めます。
*
* @param <RIS> 実区間スカラーの型
* @param <RIM> 実区間行列の型
* @param <CIS> 複素区間スカラーの型
* @param <CIM> 複素区間行列の型
* @param <RS> 実スカラーの型
* @param <RM> 実行列の型
* @param <CS> 複素スカラーの型
* @param <CM> 複素行列の型
* @param inf infimum
* @param sup supremum
*
* @return 区間の半径。
*/
public static <RIS extends IntervalRealNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RIM extends IntervalRealNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIS extends IntervalComplexNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIM extends IntervalComplexNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RS extends RealNumericalScalar<RS, RM, CS, CM>, RM extends RealNumericalMatrix<RS, RM, CS, CM>, CS extends ComplexNumericalScalar<RS, RM, CS, CM>, CM extends ComplexNumericalMatrix<RS, RM, CS, CM>> RS radius( |
File |
Line |
org/mklab/cga/eigen/RealBFMethod.java |
36 |
org/mklab/cga/eigen/RealOhishiMethod.java |
36 |
public class RealBFMethod<RIS extends IntervalRealNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RIM extends IntervalRealNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIS extends IntervalComplexNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIM extends IntervalComplexNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RS extends RealNumericalScalar<RS, RM, CS, CM>, RM extends RealNumericalMatrix<RS, RM, CS, CM>, CS extends ComplexNumericalScalar<RS, RM, CS, CM>, CM extends ComplexNumericalMatrix<RS, RM, CS, CM>> implements RealEigenVerifier<RIS,RIM,CIS,CIM,RS,RM,CS,CM> {
/** 対象となる行列 */
private RM A;
/** 対象となる区間行列 */
private RIM IA;
/** 精度保証付き固有値 */
private CIM verifiedValue;
// /** 精度保証付き固有ベクトル */
// private CIM verifiedVector;
// /**
// * コンストラクタ
// *
// */
// public RealBFMethod() {
// //
// }
// /**
// * 新しく生成された<code>BFMethod</code>オブジェクトを初期化します。
// *
// * @param A matrix
// * @param IA interval matrix
// */
// public RealBFMethod(RM A, RIM IA) {
// this.A = A;
// this.IA = IA;
// }
/**
* 新しく生成された<code>BFMethod</code>オブジェクトを初期化します。
*
* @param IA 対象となる区間行列
*/
public RealBFMethod(RIM IA) { |
File |
Line |
org/mklab/cga/interval/matrix/AbstractIntervalMatrix.java |
176 |
org/mklab/cga/interval/scalar/AbstractIntervalScalar.java |
67 |
org/mklab/cga/interval/scalar/AbstractIntervalScalar.java |
240 |
CM mid = inf.add(sup.subtract(inf).divide(2));
manager.setRoundMode(oldRoundMode);
return mid;
}
/**
* 区間の半径を求めます。
*
* @param <RIS> 実区間スカラーの型
* @param <RIM> 実区間行列の型
* @param <CIS> 複素区間スカラーの型
* @param <CIM> 複素区間行列の型
* @param <RS> 実スカラーの型
* @param <RM> 実行列の型
* @param <CS> 複素スカラーの型
* @param <CM> 複素行列の型
* @param inf infimum
* @param sup supremum
* @return 区間の半径。
*/
public static <RIS extends IntervalRealNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RIM extends IntervalRealNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIS extends IntervalComplexNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIM extends IntervalComplexNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RS extends RealNumericalScalar<RS, RM, CS, CM>, RM extends RealNumericalMatrix<RS, RM, CS, CM>, CS extends ComplexNumericalScalar<RS, RM, CS, CM>, CM extends ComplexNumericalMatrix<RS, RM, CS, CM>> RM radius(CM inf, CM sup) { |
File |
Line |
org/mklab/cga/eigen/ComplexBFMethod.java |
36 |
org/mklab/cga/eigen/ComplexOhishiMethod.java |
36 |
org/mklab/cga/eigen/ComplexRumpMethod.java |
39 |
public class ComplexBFMethod<RIS extends IntervalRealNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RIM extends IntervalRealNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIS extends IntervalComplexNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIM extends IntervalComplexNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RS extends RealNumericalScalar<RS, RM, CS, CM>, RM extends RealNumericalMatrix<RS, RM, CS, CM>, CS extends ComplexNumericalScalar<RS, RM, CS, CM>, CM extends ComplexNumericalMatrix<RS, RM, CS, CM>> implements ComplexEigenVerifier<RIS,RIM,CIS,CIM,RS,RM,CS,CM> {
/** 対象となる行列 */
private CM A;
/** 対象となる区間行列 */
private CIM IA;
/** 精度保証付き固有値 */
private CIM verifiedValue; |
File |
Line |
org/mklab/cga/eigen/RealBFMethod.java |
36 |
org/mklab/cga/eigen/RealOhishiMethod.java |
36 |
org/mklab/cga/eigen/RealRumpMethod.java |
39 |
public class RealBFMethod<RIS extends IntervalRealNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RIM extends IntervalRealNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIS extends IntervalComplexNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIM extends IntervalComplexNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RS extends RealNumericalScalar<RS, RM, CS, CM>, RM extends RealNumericalMatrix<RS, RM, CS, CM>, CS extends ComplexNumericalScalar<RS, RM, CS, CM>, CM extends ComplexNumericalMatrix<RS, RM, CS, CM>> implements RealEigenVerifier<RIS,RIM,CIS,CIM,RS,RM,CS,CM> {
/** 対象となる行列 */
private RM A;
/** 対象となる区間行列 */
private RIM IA;
/** 精度保証付き固有値 */
private CIM verifiedValue; |
File |
Line |
org/mklab/cga/eigen/ComplexRumpMethod.java |
230 |
org/mklab/cga/eigen/ComplexRumpMethod.java |
342 |
org/mklab/cga/eigen/RealRumpMethod.java |
397 |
CIM Eps = createInterval(IY.abssElementWise().multiply(0.1)).multiply(createIntervalInfSup(-1.0, 1.0)).addElementWise(createMidRad(0, Double.MIN_VALUE));
// TODO こうしたらいいのかな?(NumericalMatrixElementIntervalの実装が必要みたい)
CIM Z_row = IZ.getRowVectors(v);
CM Z_row_abs = Z_row.abssElementWise();
BooleanMatrix Z_flag = Z_row_abs.compareElementWise(".>", 0.1); //$NON-NLS-1$
int z_sum = Z_flag.find().length();
double m = 0;
double mmax = Math.min(15 * (z_sum + 1), 20);
boolean ready = false;
CIM X = null;
CIM XX = createInterval(R.createZero(IY.getRowSize(), IY.getColumnSize()));
while ((!ready) && (m < mmax) && (!IY.isNanElementWise().anyTrue())) {
m = m + 1;
X = IY.add(Eps); |
File |
Line |
org/mklab/cga/linear/ResidualImprover.java |
44 |
org/mklab/cga/linear/ResidualImprover.java |
86 |
final M A, final M x, final M b) {
return residual(A, x, b);
}
/**
* 残差を求めます。
*
* @param <RIS> 実区間スカラーの型
* @param <RIM> 実区間行列の型
* @param <CIS> 複素区間スカラーの型
* @param <CIM> 複素区間行列の型
* @param <RS> 実スカラーの型
* @param <RM> 実行列の型
* @param <CS> 複素スカラーの型
* @param <CM> 複素行列の型
* @param A 係数行列
* @param x 解
* @param b 右辺ベクトル
* @return 残差
*/
public static <RIS extends IntervalRealNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RIM extends IntervalRealNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIS extends IntervalComplexNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIM extends IntervalComplexNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RS extends RealNumericalScalar<RS, RM, CS, CM>, RM extends RealNumericalMatrix<RS, RM, CS, CM>, CS extends ComplexNumericalScalar<RS, RM, CS, CM>, CM extends ComplexNumericalMatrix<RS, RM, CS, CM>> RM lssresidual(
final RM A, final RM x, final RM b) { |
File |
Line |
org/mklab/cga/util/IntervalUtil.java |
212 |
org/mklab/cga/util/IntervalUtil.java |
279 |
BooleanMatrix res = B.getInfimum().compareElementWise(".<", A.getInfimum()).andElementWise(A.getSupremum().compareElementWise(".<", B.getSupremum())); //$NON-NLS-1$ //$NON-NLS-2$
manager.setRoundMode(oldRoundMode);
return res;
}
/**
* 区間行列Aが区間行列B内に含まれるかどうかを判定します。
*
* @param A 区間
* @param B 区間
* @param <RIS> 実区間スカラーの型
* @param <RIM> 実区間行列の型
* @param <CIS> 複素区間スカラーの型
* @param <CIM> 複素区間行列の型
* @param <RS> 実スカラーの型
* @param <RM> 実行列の型
* @param <CS> 複素スカラーの型
* @param <CM> 複素行列の型
* @return 区間に含まれる要素はtrue, 含まれない要素はfalse
*/
public static <RIS extends IntervalRealNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RIM extends IntervalRealNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIS extends IntervalComplexNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIM extends IntervalComplexNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RS extends RealNumericalScalar<RS, RM, CS, CM>, RM extends RealNumericalMatrix<RS, RM, CS, CM>, CS extends ComplexNumericalScalar<RS, RM, CS, CM>, CM extends ComplexNumericalMatrix<RS, RM, CS, CM>> BooleanMatrix in0( |
File |
Line |
org/mklab/cga/util/IntervalUtil.java |
254 |
org/mklab/cga/util/IntervalUtil.java |
339 |
res = d.add(A.getRadius()).compareElementWise(".<", B.getRadius()); //$NON-NLS-1$
}
manager.setRoundMode(oldRoundMode);
return res;
}
/**
* @param A A
* @param B B
* @param <RIS> 実区間スカラーの型
* @param <RIM> 実区間行列の型
* @param <CIS> 複素区間スカラーの型
* @param <CIM> 複素区間行列の型
* @param <RS> 実スカラーの型
* @param <RM> 実行列の型
* @param <CS> 複素スカラーの型
* @param <CM> 複素行列の型
* @return boolean
*/
public static <RIS extends IntervalRealNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RIM extends IntervalRealNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIS extends IntervalComplexNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIM extends IntervalComplexNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RS extends RealNumericalScalar<RS, RM, CS, CM>, RM extends RealNumericalMatrix<RS, RM, CS, CM>, CS extends ComplexNumericalScalar<RS, RM, CS, CM>, CM extends ComplexNumericalMatrix<RS, RM, CS, CM>> BooleanMatrix in0forRump( |
File |
Line |
org/mklab/cga/interval/matrix/AbstractIntervalMatrix.java |
229 |
org/mklab/cga/interval/scalar/AbstractIntervalScalar.java |
124 |
RM inf = mid.subtract(rad);
manager.setRoundMode(oldRoundMode);
return inf;
}
/**
* 上限を返します。
*
* @param <RIS> 実区間スカラーの型
* @param <RIM> 実区間行列の型
* @param <CIS> 複素区間スカラーの型
* @param <CIM> 複素区間行列の型
* @param <RS> 実スカラーの型
* @param <RM> 実行列の型
* @param <CS> 複素スカラーの型
* @param <CM> 複素行列の型
* @param mid 中心
* @param radus 半径
* @return 上限
*/
public static <RIS extends IntervalRealNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RIM extends IntervalRealNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIS extends IntervalComplexNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIM extends IntervalComplexNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RS extends RealNumericalScalar<RS, RM, CS, CM>, RM extends RealNumericalMatrix<RS, RM, CS, CM>, CS extends ComplexNumericalScalar<RS, RM, CS, CM>, CM extends ComplexNumericalMatrix<RS, RM, CS, CM>> RM supremum(RM mid, RM radus) { |
File |
Line |
org/mklab/cga/util/IntervalUtil.java |
119 |
org/mklab/cga/util/IntervalUtil.java |
212 |
org/mklab/cga/util/IntervalUtil.java |
279 |
boolean res = (b.getInfimum().isLessThan(a.getInfimum())) & (a.getSupremum().isLessThan(b.getSupremum()));
manager.setRoundMode(oldRoundMode);
return res;
}
/**
* 区間aが区間b内に含まれるかどうかを判定します。
*
* @param <RIS> 実区間スカラーの型
* @param <RIM> 実区間行列の型
* @param <CIS> 複素区間スカラーの型
* @param <CIM> 複素区間行列の型
* @param <RS> 実スカラーの型
* @param <RM> 実行列の型
* @param <CS> 複素スカラーの型
* @param <CM> 複素行列の型
* @param a 区間。
* @param b 区間。
* @return 含まれていればtrue, そうでなければfalse。
*/
public static <RIS extends IntervalRealNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RIM extends IntervalRealNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIS extends IntervalComplexNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIM extends IntervalComplexNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RS extends RealNumericalScalar<RS, RM, CS, CM>, RM extends RealNumericalMatrix<RS, RM, CS, CM>, CS extends ComplexNumericalScalar<RS, RM, CS, CM>, CM extends ComplexNumericalMatrix<RS, RM, CS, CM>> boolean in0( |
File |
Line |
org/mklab/cga/linear/ResidualImprover.java |
44 |
org/mklab/cga/linear/ResidualImprover.java |
65 |
org/mklab/cga/linear/ResidualImprover.java |
86 |
final M A, final M x, final M b) {
return residual(A, x, b);
}
/**
* 残差を求めます。
*
* @param <RIS> 実区間スカラーの型
* @param <RIM> 実区間行列の型
* @param <CIS> 複素区間スカラーの型
* @param <CIM> 複素区間行列の型
* @param <RS> 実スカラーの型
* @param <RM> 実行列の型
* @param <CS> 複素スカラーの型
* @param <CM> 複素行列の型
* @param A 係数行列
* @param x 解
* @param b 右辺ベクトル
* @return 残差
*/
public static <RIS extends IntervalRealNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RIM extends IntervalRealNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIS extends IntervalComplexNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIM extends IntervalComplexNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RS extends RealNumericalScalar<RS, RM, CS, CM>, RM extends RealNumericalMatrix<RS, RM, CS, CM>, CS extends ComplexNumericalScalar<RS, RM, CS, CM>, CM extends ComplexNumericalMatrix<RS, RM, CS, CM>> RM lssresidual( |
File |
Line |
org/mklab/cga/util/IntervalUtil.java |
213 |
org/mklab/cga/util/IntervalUtil.java |
342 |
manager.setRoundMode(oldRoundMode);
return res;
}
/**
* 区間行列Aが区間行列B内に含まれるかどうかを判定します。
*
* @param A 区間
* @param B 区間
* @param <RIS> 実区間スカラーの型
* @param <RIM> 実区間行列の型
* @param <CIS> 複素区間スカラーの型
* @param <CIM> 複素区間行列の型
* @param <RS> 実スカラーの型
* @param <RM> 実行列の型
* @param <CS> 複素スカラーの型
* @param <CM> 複素行列の型
* @return 区間に含まれる要素はtrue, 含まれない要素はfalse
*/
public static <RIS extends IntervalRealNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RIM extends IntervalRealNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIS extends IntervalComplexNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIM extends IntervalComplexNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RS extends RealNumericalScalar<RS, RM, CS, CM>, RM extends RealNumericalMatrix<RS, RM, CS, CM>, CS extends ComplexNumericalScalar<RS, RM, CS, CM>, CM extends ComplexNumericalMatrix<RS, RM, CS, CM>> BooleanMatrix in0(
final CIM A, final CIM B) { |
File |
Line |
org/mklab/cga/util/IntervalUtil.java |
257 |
org/mklab/cga/util/IntervalUtil.java |
280 |
manager.setRoundMode(oldRoundMode);
return res;
}
/**
* @param A A
* @param B B
* @param <RIS> 実区間スカラーの型
* @param <RIM> 実区間行列の型
* @param <CIS> 複素区間スカラーの型
* @param <CIM> 複素区間行列の型
* @param <RS> 実スカラーの型
* @param <RM> 実行列の型
* @param <CS> 複素スカラーの型
* @param <CM> 複素行列の型
* @return boolean
*/
public static <RIS extends IntervalRealNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RIM extends IntervalRealNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIS extends IntervalComplexNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIM extends IntervalComplexNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RS extends RealNumericalScalar<RS, RM, CS, CM>, RM extends RealNumericalMatrix<RS, RM, CS, CM>, CS extends ComplexNumericalScalar<RS, RM, CS, CM>, CM extends ComplexNumericalMatrix<RS, RM, CS, CM>> BooleanMatrix in0forRump(
final RIM A, final RIM B) { |
File |
Line |
org/mklab/cga/interval/matrix/IntervalMatrixFactory.java |
63 |
org/mklab/cga/interval/matrix/IntervalMatrixFactory.java |
89 |
}
return ris.createGrid(riss);
}
/**
* Creates interval matrix.
*
* @param rs RS
* @param ris RIS
* @return RIM
* @param <RIS> 実区間スカラーの型
* @param <RIM> 実区間行列の型
* @param <CIS> 複素区間スカラーの型
* @param <CIM> 複素区間行列の型
* @param <RS> 実スカラーの型
* @param <RM> 実行列の型
* @param <CS> 複素スカラーの型
* @param <CM> 複素行列の型
*/
public static <RIS extends IntervalRealNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RIM extends IntervalRealNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIS extends IntervalComplexNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIM extends IntervalComplexNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RS extends RealNumericalScalar<RS, RM, CS, CM>, RM extends RealNumericalMatrix<RS, RM, CS, CM>, CS extends ComplexNumericalScalar<RS, RM, CS, CM>, CM extends ComplexNumericalMatrix<RS, RM, CS, CM>> RIM create( |
File |
Line |
org/mklab/cga/interval/matrix/IntervalMatrixFactory.java |
140 |
org/mklab/cga/interval/matrix/IntervalMatrixFactory.java |
168 |
}
return cis.createGrid(ciss);
}
/**
* Creates interval matrix.
*
* @param cs CS
* @param ris RIS
* @return RIM
* @param <RIS> 実区間スカラーの型
* @param <RIM> 実区間行列の型
* @param <CIS> 複素区間スカラーの型
* @param <CIM> 複素区間行列の型
* @param <RS> 実スカラーの型
* @param <RM> 実行列の型
* @param <CS> 複素スカラーの型
* @param <CM> 複素行列の型
*/
public static <RIS extends IntervalRealNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RIM extends IntervalRealNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIS extends IntervalComplexNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIM extends IntervalComplexNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RS extends RealNumericalScalar<RS, RM, CS, CM>, RM extends RealNumericalMatrix<RS, RM, CS, CM>, CS extends ComplexNumericalScalar<RS, RM, CS, CM>, CM extends ComplexNumericalMatrix<RS, RM, CS, CM>> CIM create( |
File |
Line |
org/mklab/cga/interval/matrix/AbstractIntervalMatrix.java |
176 |
org/mklab/cga/interval/scalar/AbstractIntervalScalar.java |
67 |
org/mklab/cga/interval/scalar/AbstractIntervalScalar.java |
240 |
org/mklab/cga/util/IntervalUtil.java |
63 |
CM mid = inf.add(sup.subtract(inf).divide(2));
manager.setRoundMode(oldRoundMode);
return mid;
}
/**
* 区間の半径を求めます。
*
* @param <RIS> 実区間スカラーの型
* @param <RIM> 実区間行列の型
* @param <CIS> 複素区間スカラーの型
* @param <CIM> 複素区間行列の型
* @param <RS> 実スカラーの型
* @param <RM> 実行列の型
* @param <CS> 複素スカラーの型
* @param <CM> 複素行列の型
* @param inf infimum
* @param sup supremum
* @return 区間の半径。
*/
public static <RIS extends IntervalRealNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RIM extends IntervalRealNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIS extends IntervalComplexNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIM extends IntervalComplexNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RS extends RealNumericalScalar<RS, RM, CS, CM>, RM extends RealNumericalMatrix<RS, RM, CS, CM>, CS extends ComplexNumericalScalar<RS, RM, CS, CM>, CM extends ComplexNumericalMatrix<RS, RM, CS, CM>> RM radius(CM inf, CM sup) { |
File |
Line |
org/mklab/cga/interval/scalar/AbstractIntervalScalar.java |
152 |
org/mklab/cga/interval/scalar/AbstractIntervalScalar.java |
183 |
RS sup = mid.add(rad);
manager.setRoundMode(oldRoundMode);
return sup;
}
/**
* 上限を求めます。
*
* @param <RIS> 実区間スカラーの型
* @param <RIM> 実区間行列の型
* @param <CIS> 複素区間スカラーの型
* @param <CIM> 複素区間行列の型
* @param <RS> 実スカラーの型
* @param <RM> 実行列の型
* @param <CS> 複素スカラーの型
* @param <CM> 複素行列の型
*
* @param mid middle
* @param rad radius
* @return 上限
*/
public static <RIS extends IntervalRealNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RIM extends IntervalRealNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIS extends IntervalComplexNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIM extends IntervalComplexNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RS extends RealNumericalScalar<RS, RM, CS, CM>, RM extends RealNumericalMatrix<RS, RM, CS, CM>, CS extends ComplexNumericalScalar<RS, RM, CS, CM>, CM extends ComplexNumericalMatrix<RS, RM, CS, CM>> CS supremum( |
File |
Line |
org/mklab/cga/interval/matrix/AbstractIntervalMatrix.java |
203 |
org/mklab/cga/interval/scalar/AbstractIntervalScalar.java |
96 |
RM rad = mid.subtract(inf).absElementWise().getRealPart();
manager.setRoundMode(oldRoundMode);
return rad;
}
/**
* 下限を返します。
*
* @param <RIS> 実区間スカラーの型
* @param <RIM> 実区間行列の型
* @param <CIS> 複素区間スカラーの型
* @param <CIM> 複素区間行列の型
* @param <RS> 実スカラーの型
* @param <RM> 実行列の型
* @param <CS> 複素スカラーの型
* @param <CM> 複素行列の型
* @param mid 中心
* @param rad 半径
* @return 下限
*/
public static <RIS extends IntervalRealNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RIM extends IntervalRealNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIS extends IntervalComplexNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIM extends IntervalComplexNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RS extends RealNumericalScalar<RS, RM, CS, CM>, RM extends RealNumericalMatrix<RS, RM, CS, CM>, CS extends ComplexNumericalScalar<RS, RM, CS, CM>, CM extends ComplexNumericalMatrix<RS, RM, CS, CM>> RM infimum(RM mid, RM rad) { |
File |
Line |
org/mklab/cga/interval/matrix/AbstractIntervalMatrix.java |
229 |
org/mklab/cga/interval/scalar/AbstractIntervalScalar.java |
124 |
org/mklab/cga/interval/scalar/AbstractIntervalScalar.java |
213 |
RM inf = mid.subtract(rad);
manager.setRoundMode(oldRoundMode);
return inf;
}
/**
* 上限を返します。
*
* @param <RIS> 実区間スカラーの型
* @param <RIM> 実区間行列の型
* @param <CIS> 複素区間スカラーの型
* @param <CIM> 複素区間行列の型
* @param <RS> 実スカラーの型
* @param <RM> 実行列の型
* @param <CS> 複素スカラーの型
* @param <CM> 複素行列の型
* @param mid 中心
* @param radus 半径
* @return 上限
*/
public static <RIS extends IntervalRealNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RIM extends IntervalRealNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIS extends IntervalComplexNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIM extends IntervalComplexNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RS extends RealNumericalScalar<RS, RM, CS, CM>, RM extends RealNumericalMatrix<RS, RM, CS, CM>, CS extends ComplexNumericalScalar<RS, RM, CS, CM>, CM extends ComplexNumericalMatrix<RS, RM, CS, CM>> RM supremum(RM mid, RM radus) { |
File |
Line |
org/mklab/cga/util/IntervalUtil.java |
119 |
org/mklab/cga/util/IntervalUtil.java |
212 |
org/mklab/cga/util/IntervalUtil.java |
279 |
org/mklab/cga/util/IntervalUtil.java |
622 |
boolean res = (b.getInfimum().isLessThan(a.getInfimum())) & (a.getSupremum().isLessThan(b.getSupremum()));
manager.setRoundMode(oldRoundMode);
return res;
}
/**
* 区間aが区間b内に含まれるかどうかを判定します。
*
* @param <RIS> 実区間スカラーの型
* @param <RIM> 実区間行列の型
* @param <CIS> 複素区間スカラーの型
* @param <CIM> 複素区間行列の型
* @param <RS> 実スカラーの型
* @param <RM> 実行列の型
* @param <CS> 複素スカラーの型
* @param <CM> 複素行列の型
* @param a 区間。
* @param b 区間。
* @return 含まれていればtrue, そうでなければfalse。
*/
public static <RIS extends IntervalRealNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RIM extends IntervalRealNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIS extends IntervalComplexNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIM extends IntervalComplexNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RS extends RealNumericalScalar<RS, RM, CS, CM>, RM extends RealNumericalMatrix<RS, RM, CS, CM>, CS extends ComplexNumericalScalar<RS, RM, CS, CM>, CM extends ComplexNumericalMatrix<RS, RM, CS, CM>> boolean in0( |
File |
Line |
org/mklab/cga/util/IntervalUtil.java |
213 |
org/mklab/cga/util/IntervalUtil.java |
257 |
manager.setRoundMode(oldRoundMode);
return res;
}
/**
* 区間行列Aが区間行列B内に含まれるかどうかを判定します。
*
* @param A 区間
* @param B 区間
* @param <RIS> 実区間スカラーの型
* @param <RIM> 実区間行列の型
* @param <CIS> 複素区間スカラーの型
* @param <CIM> 複素区間行列の型
* @param <RS> 実スカラーの型
* @param <RM> 実行列の型
* @param <CS> 複素スカラーの型
* @param <CM> 複素行列の型
* @return 区間に含まれる要素はtrue, 含まれない要素はfalse
*/
public static <RIS extends IntervalRealNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RIM extends IntervalRealNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIS extends IntervalComplexNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIM extends IntervalComplexNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RS extends RealNumericalScalar<RS, RM, CS, CM>, RM extends RealNumericalMatrix<RS, RM, CS, CM>, CS extends ComplexNumericalScalar<RS, RM, CS, CM>, CM extends ComplexNumericalMatrix<RS, RM, CS, CM>> BooleanMatrix in0( |
File |
Line |
org/mklab/cga/util/IntervalUtil.java |
280 |
org/mklab/cga/util/IntervalUtil.java |
342 |
manager.setRoundMode(oldRoundMode);
return res;
}
// /**
// * @param A A
// * @param B B
// * @param <IS> 実区間スカラーの型
// * @param <IM> 実区間行列の型
// * @param <S> 実スカラーの型
// * @param <M> 実行列の型
// * @return boolean
// */
// public static <IS extends IntervalNumericalScalar<IS, IM, S, M>, IM extends IntervalNumericalMatrix<IS, IM, S, M>, S extends NumericalScalar<S, M>, M extends NumericalMatrix<S, M>> BooleanMatrix in0forRump(
// final IM A, final IM B) {
// RoundModeManager manager = RoundModeManager.getManager();
// RoundMode oldRoundMode = manager.getRoundMode();
//
// BooleanMatrix res = B.getInfimum().compareElementWise(".<=", A.getInfimum()).andElementWise(A.getSupremum().compareElementWise(".<=", B.getSupremum())); //$NON-NLS-1$ //$NON-NLS-2$
// manager.setRoundMode(oldRoundMode);
// return res;
// }
/**
* @param A A
* @param B B
* @param <RIS> 実区間スカラーの型
* @param <RIM> 実区間行列の型
* @param <CIS> 複素区間スカラーの型
* @param <CIM> 複素区間行列の型
* @param <RS> 実スカラーの型
* @param <RM> 実行列の型
* @param <CS> 複素スカラーの型
* @param <CM> 複素行列の型
* @return boolean
*/
public static <RIS extends IntervalRealNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RIM extends IntervalRealNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIS extends IntervalComplexNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIM extends IntervalComplexNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RS extends RealNumericalScalar<RS, RM, CS, CM>, RM extends RealNumericalMatrix<RS, RM, CS, CM>, CS extends ComplexNumericalScalar<RS, RM, CS, CM>, CM extends ComplexNumericalMatrix<RS, RM, CS, CM>> BooleanMatrix in0forRump( |
File |
Line |
org/mklab/cga/util/IntervalUtil.java |
120 |
org/mklab/cga/util/IntervalUtil.java |
257 |
org/mklab/cga/util/IntervalUtil.java |
342 |
org/mklab/cga/util/IntervalUtil.java |
624 |
manager.setRoundMode(oldRoundMode);
return res;
}
/**
* 区間aが区間b内に含まれるかどうかを判定します。
*
* @param <RIS> 実区間スカラーの型
* @param <RIM> 実区間行列の型
* @param <CIS> 複素区間スカラーの型
* @param <CIM> 複素区間行列の型
* @param <RS> 実スカラーの型
* @param <RM> 実行列の型
* @param <CS> 複素スカラーの型
* @param <CM> 複素行列の型
* @param a 区間。
* @param b 区間。
* @return 含まれていればtrue, そうでなければfalse。
*/
public static <RIS extends IntervalRealNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RIM extends IntervalRealNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIS extends IntervalComplexNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIM extends IntervalComplexNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RS extends RealNumericalScalar<RS, RM, CS, CM>, RM extends RealNumericalMatrix<RS, RM, CS, CM>, CS extends ComplexNumericalScalar<RS, RM, CS, CM>, CM extends ComplexNumericalMatrix<RS, RM, CS, CM>> boolean in0( |
File |
Line |
org/mklab/cga/interval/matrix/IntervalMatrixFactory.java |
111 |
org/mklab/cga/interval/matrix/IntervalMatrixFactory.java |
142 |
return create(rm.getElements(), ris);
}
/**
* Creates interval matrix.
*
* @param cs CS
* @param ris RIS
* @return RIM
* @param <RIS> 実区間スカラーの型
* @param <RIM> 実区間行列の型
* @param <CIS> 複素区間スカラーの型
* @param <CIM> 複素区間行列の型
* @param <RS> 実スカラーの型
* @param <RM> 実行列の型
* @param <CS> 複素スカラーの型
* @param <CM> 複素行列の型
*/
public static <RIS extends IntervalRealNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RIM extends IntervalRealNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIS extends IntervalComplexNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIM extends IntervalComplexNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RS extends RealNumericalScalar<RS, RM, CS, CM>, RM extends RealNumericalMatrix<RS, RM, CS, CM>, CS extends ComplexNumericalScalar<RS, RM, CS, CM>, CM extends ComplexNumericalMatrix<RS, RM, CS, CM>> CIM create(
CS[][] cs, RIS ris) { |
File |
Line |
org/mklab/cga/interval/matrix/IntervalMatrixFactory.java |
37 |
org/mklab/cga/interval/matrix/IntervalMatrixFactory.java |
66 |
}
/**
* Creates interval matrix.
*
* @param rs RS
* @param ris RIS
* @return RIM
* @param <RIS> 実区間スカラーの型
* @param <RIM> 実区間行列の型
* @param <CIS> 複素区間スカラーの型
* @param <CIM> 複素区間行列の型
* @param <RS> 実スカラーの型
* @param <RM> 実行列の型
* @param <CS> 複素スカラーの型
* @param <CM> 複素行列の型
*/
public static <RIS extends IntervalRealNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RIM extends IntervalRealNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIS extends IntervalComplexNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIM extends IntervalComplexNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RS extends RealNumericalScalar<RS, RM, CS, CM>, RM extends RealNumericalMatrix<RS, RM, CS, CM>, CS extends ComplexNumericalScalar<RS, RM, CS, CM>, CM extends ComplexNumericalMatrix<RS, RM, CS, CM>> RIM create(
RS[][] rs, RIS ris) { |
File |
Line |
org/mklab/cga/linear/ResidualImprover.java |
66 |
org/mklab/cga/linear/ResidualImprover.java |
107 |
return residual(A, x, b);
}
/**
* 残差を求めます。
*
* @param <RIS> 実区間スカラーの型
* @param <RIM> 実区間行列の型
* @param <CIS> 複素区間スカラーの型
* @param <CIM> 複素区間行列の型
* @param <RS> 実スカラーの型
* @param <RM> 実行列の型
* @param <CS> 複素スカラーの型
* @param <CM> 複素行列の型
* @param A 係数行列
* @param x 解
* @param b 右辺ベクトル
* @return 残差
*/
public static <RIS extends IntervalRealNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RIM extends IntervalRealNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIS extends IntervalComplexNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIM extends IntervalComplexNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RS extends RealNumericalScalar<RS, RM, CS, CM>, RM extends RealNumericalMatrix<RS, RM, CS, CM>, CS extends ComplexNumericalScalar<RS, RM, CS, CM>, CM extends ComplexNumericalMatrix<RS, RM, CS, CM>> CM lssresidual(
final CM A, final CM x, final CM b) { |
File |
Line |
org/mklab/cga/util/IntervalUtil.java |
189 |
org/mklab/cga/util/IntervalUtil.java |
364 |
return in0(interval_a, b);
}
/**
* 区間行列Aが区間行列B内に含まれるかどうかを判定します。
*
* @param A 区間
* @param B 区間
* @param <RIS> 実区間スカラーの型
* @param <RIM> 実区間行列の型
* @param <CIS> 複素区間スカラーの型
* @param <CIM> 複素区間行列の型
* @param <RS> 実スカラーの型
* @param <RM> 実行列の型
* @param <CS> 複素スカラーの型
* @param <CM> 複素行列の型
* @return 区間に含まれる要素はtrue, 含まれない要素はfalse
*/
public static <RIS extends IntervalRealNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RIM extends IntervalRealNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIS extends IntervalComplexNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIM extends IntervalComplexNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RS extends RealNumericalScalar<RS, RM, CS, CM>, RM extends RealNumericalMatrix<RS, RM, CS, CM>, CS extends ComplexNumericalScalar<RS, RM, CS, CM>, CM extends ComplexNumericalMatrix<RS, RM, CS, CM>> BooleanMatrix in0(
final RIM A, final RIM B) { |
File |
Line |
org/mklab/cga/interval/matrix/IntervalMatrixFactory.java |
111 |
org/mklab/cga/interval/matrix/IntervalMatrixFactory.java |
170 |
return create(rm.getElements(), ris);
}
/**
* Creates interval matrix.
*
* @param cs CS
* @param ris RIS
* @return RIM
* @param <RIS> 実区間スカラーの型
* @param <RIM> 実区間行列の型
* @param <CIS> 複素区間スカラーの型
* @param <CIM> 複素区間行列の型
* @param <RS> 実スカラーの型
* @param <RM> 実行列の型
* @param <CS> 複素スカラーの型
* @param <CM> 複素行列の型
*/
public static <RIS extends IntervalRealNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RIM extends IntervalRealNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIS extends IntervalComplexNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIM extends IntervalComplexNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RS extends RealNumericalScalar<RS, RM, CS, CM>, RM extends RealNumericalMatrix<RS, RM, CS, CM>, CS extends ComplexNumericalScalar<RS, RM, CS, CM>, CM extends ComplexNumericalMatrix<RS, RM, CS, CM>> CIM create( |
File |
Line |
org/mklab/cga/util/IntervalUtil.java |
67 |
org/mklab/cga/util/IntervalUtil.java |
122 |
}
// /**
// * 区間aが区間b内に含まれるかどうかを判定します。
// *
// * @param <IS> 区間スカラーの型
// * @param <IM> 区間行列の型
// * @param <S> 成分の型
// * @param <M> 行列の型
// * @param a 区間。
// * @param b 区間。
// * @return 含まれていればtrue, そうでなければfalse。
// */
// public static <IS extends IntervalNumericalScalar<IS, IM, S, M>, IM extends IntervalNumericalMatrix<IS, IM, S, M>, S extends NumericalScalar<S, M>, M extends NumericalMatrix<S, M>> BooleanMatrix in0(
// final IM a, final IM b) {
// RoundModeManager manager = RoundModeManager.getManager();
// RoundMode oldRoundMode = manager.getRoundMode();
//
// BooleanMatrix ans = new BooleanMatrix(a.getRowSize(), a.getColumnSize());
// for (int i = 0; i < a.getRowSize(); i++) {
// for (int j = 0; j < a.getColumnSize(); j++) {
// IS bb = b.getElement(i + 1, j + 1);
// IS aa = a.getElement(i + 1, j + 1);
// boolean res = (bb.getInfimum().isLessThan(aa.getInfimum())) & (aa.getSupremum().isLessThan(bb.getSupremum()));
// ans.setElement(i + 1, j + 1, res);
// }
// }
//
// manager.setRoundMode(oldRoundMode);
// return ans;
// }
/**
* 区間aが区間b内に含まれるかどうかを判定します。
*
* @param <RIS> 実区間スカラーの型
* @param <RIM> 実区間行列の型
* @param <CIS> 複素区間スカラーの型
* @param <CIM> 複素区間行列の型
* @param <RS> 実スカラーの型
* @param <RM> 実行列の型
* @param <CS> 複素スカラーの型
* @param <CM> 複素行列の型
* @param a 区間。
* @param b 区間。
* @return 含まれていればtrue, そうでなければfalse。
*/
public static <RIS extends IntervalRealNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RIM extends IntervalRealNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIS extends IntervalComplexNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIM extends IntervalComplexNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RS extends RealNumericalScalar<RS, RM, CS, CM>, RM extends RealNumericalMatrix<RS, RM, CS, CM>, CS extends ComplexNumericalScalar<RS, RM, CS, CM>, CM extends ComplexNumericalMatrix<RS, RM, CS, CM>> boolean in0(
final RIS a, final RIS b) { |
File |
Line |
org/mklab/cga/util/IntervalUtil.java |
190 |
org/mklab/cga/util/IntervalUtil.java |
215 |
org/mklab/cga/util/IntervalUtil.java |
344 |
org/mklab/cga/util/IntervalUtil.java |
365 |
}
/**
* 区間行列Aが区間行列B内に含まれるかどうかを判定します。
*
* @param A 区間
* @param B 区間
* @param <RIS> 実区間スカラーの型
* @param <RIM> 実区間行列の型
* @param <CIS> 複素区間スカラーの型
* @param <CIM> 複素区間行列の型
* @param <RS> 実スカラーの型
* @param <RM> 実行列の型
* @param <CS> 複素スカラーの型
* @param <CM> 複素行列の型
* @return 区間に含まれる要素はtrue, 含まれない要素はfalse
*/
public static <RIS extends IntervalRealNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RIM extends IntervalRealNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIS extends IntervalComplexNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIM extends IntervalComplexNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RS extends RealNumericalScalar<RS, RM, CS, CM>, RM extends RealNumericalMatrix<RS, RM, CS, CM>, CS extends ComplexNumericalScalar<RS, RM, CS, CM>, CM extends ComplexNumericalMatrix<RS, RM, CS, CM>> BooleanMatrix in0(
final RIM A, final RIM B) { |
File |
Line |
org/mklab/cga/interval/matrix/IntervalMatrixFactory.java |
37 |
org/mklab/cga/interval/matrix/IntervalMatrixFactory.java |
92 |
}
/**
* Creates interval matrix.
*
* @param rs RS
* @param ris RIS
* @return RIM
* @param <RIS> 実区間スカラーの型
* @param <RIM> 実区間行列の型
* @param <CIS> 複素区間スカラーの型
* @param <CIM> 複素区間行列の型
* @param <RS> 実スカラーの型
* @param <RM> 実行列の型
* @param <CS> 複素スカラーの型
* @param <CM> 複素行列の型
*/
public static <RIS extends IntervalRealNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RIM extends IntervalRealNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIS extends IntervalComplexNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIM extends IntervalComplexNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RS extends RealNumericalScalar<RS, RM, CS, CM>, RM extends RealNumericalMatrix<RS, RM, CS, CM>, CS extends ComplexNumericalScalar<RS, RM, CS, CM>, CM extends ComplexNumericalMatrix<RS, RM, CS, CM>> RIM create( |
File |
Line |
org/mklab/cga/linear/ResidualImprover.java |
45 |
org/mklab/cga/linear/ResidualImprover.java |
66 |
org/mklab/cga/linear/ResidualImprover.java |
87 |
org/mklab/cga/util/IntervalUtil.java |
189 |
return residual(A, x, b);
}
/**
* 残差を求めます。
*
* @param <RIS> 実区間スカラーの型
* @param <RIM> 実区間行列の型
* @param <CIS> 複素区間スカラーの型
* @param <CIM> 複素区間行列の型
* @param <RS> 実スカラーの型
* @param <RM> 実行列の型
* @param <CS> 複素スカラーの型
* @param <CM> 複素行列の型
* @param A 係数行列
* @param x 解
* @param b 右辺ベクトル
* @return 残差
*/
public static <RIS extends IntervalRealNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RIM extends IntervalRealNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIS extends IntervalComplexNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIM extends IntervalComplexNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RS extends RealNumericalScalar<RS, RM, CS, CM>, RM extends RealNumericalMatrix<RS, RM, CS, CM>, CS extends ComplexNumericalScalar<RS, RM, CS, CM>, CM extends ComplexNumericalMatrix<RS, RM, CS, CM>> RM lssresidual( |
File |
Line |
org/mklab/cga/interval/matrix/AbstractIntervalMatrix.java |
152 |
org/mklab/cga/linear/ResidualImprover.java |
66 |
org/mklab/cga/linear/ResidualImprover.java |
107 |
return xyZeroMean.conjugateTranspose().multiply(xyZeroMean).divide(size - 1);
}
/**
* 区間の中心を求めます。
*
* @param <RIS> 実区間スカラーの型
* @param <RIM> 実区間行列の型
* @param <CIS> 複素区間スカラーの型
* @param <CIM> 複素区間行列の型
* @param <RS> 実スカラーの型
* @param <RM> 実行列の型
* @param <CS> 複素スカラーの型
* @param <CM> 複素行列の型
* @param inf infimum
* @param sup supremum
* @return 区間の中心。
*/
public static <RIS extends IntervalRealNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RIM extends IntervalRealNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIS extends IntervalComplexNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIM extends IntervalComplexNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RS extends RealNumericalScalar<RS, RM, CS, CM>, RM extends RealNumericalMatrix<RS, RM, CS, CM>, CS extends ComplexNumericalScalar<RS, RM, CS, CM>, CM extends ComplexNumericalMatrix<RS, RM, CS, CM>> CM middle( |
File |
Line |
org/mklab/cga/interval/matrix/IntervalMatrixFactory.java |
111 |
org/mklab/cga/interval/matrix/IntervalMatrixFactory.java |
142 |
org/mklab/cga/interval/matrix/IntervalMatrixFactory.java |
170 |
org/mklab/cga/util/IntervalUtil.java |
685 |
return create(rm.getElements(), ris);
}
/**
* Creates interval matrix.
*
* @param cs CS
* @param ris RIS
* @return RIM
* @param <RIS> 実区間スカラーの型
* @param <RIM> 実区間行列の型
* @param <CIS> 複素区間スカラーの型
* @param <CIM> 複素区間行列の型
* @param <RS> 実スカラーの型
* @param <RM> 実行列の型
* @param <CS> 複素スカラーの型
* @param <CM> 複素行列の型
*/
public static <RIS extends IntervalRealNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RIM extends IntervalRealNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIS extends IntervalComplexNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIM extends IntervalComplexNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RS extends RealNumericalScalar<RS, RM, CS, CM>, RM extends RealNumericalMatrix<RS, RM, CS, CM>, CS extends ComplexNumericalScalar<RS, RM, CS, CM>, CM extends ComplexNumericalMatrix<RS, RM, CS, CM>> CIM create( |
File |
Line |
org/mklab/cga/vuls/ComplexVULS.java |
38 |
org/mklab/cga/vuls/RealVULS.java |
38 |
public class ComplexVULS<RIS extends IntervalRealNumericalScalar<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RIM extends IntervalRealNumericalMatrix<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIS extends IntervalComplexNumericalScalar<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIM extends IntervalComplexNumericalMatrix<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RS extends RealNumericalScalar<RS,RM,CS,CM>, RM extends RealNumericalMatrix<RS,RM,CS,CM>, CS extends ComplexNumericalScalar<RS,RM,CS,CM>, CM extends ComplexNumericalMatrix<RS,RM,CS,CM>> {
/**
* The number of matrix
*/
private int m;
/**
* The constant <code>unit</code> based on a general data type
*/
private CS unit; |
File |
Line |
org/mklab/cga/eigen/ComplexEigenVerifier.java |
32 |
org/mklab/cga/eigen/RealEigenVerifier.java |
32 |
public interface ComplexEigenVerifier<RIS extends IntervalRealNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RIM extends IntervalRealNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIS extends IntervalComplexNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIM extends IntervalComplexNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RS extends RealNumericalScalar<RS, RM, CS, CM>, RM extends RealNumericalMatrix<RS, RM, CS, CM>, CS extends ComplexNumericalScalar<RS, RM, CS, CM>, CM extends ComplexNumericalMatrix<RS, RM, CS, CM>> {
/**
* 精度保証付き固有値と精度保証付き固有ベクトルを求めます。
*
* @param A 固有値を求める区間行列
*/
void solve(final CIM A); |
File |
Line |
org/mklab/cga/eigen/ComplexRumpMethod.java |
401 |
org/mklab/cga/eigen/RealRumpMethod.java |
456 |
CM nan = IA.getMiddle().getElement(1).createGrid(value);
CM nanL = xs.createZero(1, 1);
nanL.setRowVector(1, nan);
CM nanX = xs.createZero(IA.getRowSize(), 1);
for (int i = 0; i < IA.getColumnSize(); i++) {
nanX.setRowVector(i + 1, nanL);
}
L = createMidRad(nanL, nanL.getRealPart());
X = createMidRad(nanX, nanX.getRealPart());
System.err.println("no inclusion achieved"); //$NON-NLS-1$
//throw new RuntimeException("no inclusion achieved"); //$NON-NLS-1$
}
manager.setRoundMode(oldRoundMode);
CIM[] ans = (CIM[])new IntervalComplexNumericalMatrix[2];
ans[0] = L;
ans[1] = X;
return ans;
}
// /**
// * {@inheritDoc}
// */
// public void solveAsSparse(CM A) {
// throw new UnsupportedOperationException();
// }
/**
* {@inheritDoc}
*/
public void solveAsSparse(CIM a) { |
File |
Line |
org/mklab/cga/interval/matrix/AbstractIntervalMatrix.java |
152 |
org/mklab/cga/interval/matrix/IntervalMatrixFactory.java |
65 |
org/mklab/cga/interval/matrix/IntervalMatrixFactory.java |
91 |
org/mklab/cga/interval/matrix/IntervalMatrixFactory.java |
111 |
org/mklab/cga/interval/matrix/IntervalMatrixFactory.java |
142 |
org/mklab/cga/interval/matrix/IntervalMatrixFactory.java |
170 |
org/mklab/cga/interval/scalar/AbstractIntervalScalar.java |
42 |
org/mklab/cga/linear/ResidualImprover.java |
45 |
org/mklab/cga/linear/ResidualImprover.java |
66 |
org/mklab/cga/linear/ResidualImprover.java |
87 |
org/mklab/cga/linear/ResidualImprover.java |
107 |
org/mklab/cga/util/IntervalUtil.java |
189 |
org/mklab/cga/util/IntervalUtil.java |
364 |
org/mklab/cga/util/IntervalUtil.java |
685 |
return xyZeroMean.conjugateTranspose().multiply(xyZeroMean).divide(size - 1);
}
/**
* 区間の中心を求めます。
*
* @param <RIS> 実区間スカラーの型
* @param <RIM> 実区間行列の型
* @param <CIS> 複素区間スカラーの型
* @param <CIM> 複素区間行列の型
* @param <RS> 実スカラーの型
* @param <RM> 実行列の型
* @param <CS> 複素スカラーの型
* @param <CM> 複素行列の型
* @param inf infimum
* @param sup supremum
* @return 区間の中心。
*/
public static <RIS extends IntervalRealNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RIM extends IntervalRealNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIS extends IntervalComplexNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIM extends IntervalComplexNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RS extends RealNumericalScalar<RS, RM, CS, CM>, RM extends RealNumericalMatrix<RS, RM, CS, CM>, CS extends ComplexNumericalScalar<RS, RM, CS, CM>, CM extends ComplexNumericalMatrix<RS, RM, CS, CM>> CM middle( |
File |
Line |
org/mklab/cga/interval/matrix/AbstractIntervalMatrix.java |
153 |
org/mklab/cga/linear/ResidualImprover.java |
67 |
org/mklab/cga/linear/ResidualImprover.java |
108 |
org/mklab/cga/util/IntervalUtil.java |
467 |
}
/**
* 区間の中心を求めます。
*
* @param <RIS> 実区間スカラーの型
* @param <RIM> 実区間行列の型
* @param <CIS> 複素区間スカラーの型
* @param <CIM> 複素区間行列の型
* @param <RS> 実スカラーの型
* @param <RM> 実行列の型
* @param <CS> 複素スカラーの型
* @param <CM> 複素行列の型
* @param inf infimum
* @param sup supremum
* @return 区間の中心。
*/
public static <RIS extends IntervalRealNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RIM extends IntervalRealNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIS extends IntervalComplexNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIM extends IntervalComplexNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RS extends RealNumericalScalar<RS, RM, CS, CM>, RM extends RealNumericalMatrix<RS, RM, CS, CM>, CS extends ComplexNumericalScalar<RS, RM, CS, CM>, CM extends ComplexNumericalMatrix<RS, RM, CS, CM>> CM middle( |
File |
Line |
org/mklab/cga/interval/matrix/AbstractIntervalMatrix.java |
180 |
org/mklab/cga/interval/matrix/AbstractIntervalMatrix.java |
207 |
org/mklab/cga/interval/matrix/AbstractIntervalMatrix.java |
233 |
org/mklab/cga/linear/ResidualImprover.java |
46 |
org/mklab/cga/linear/ResidualImprover.java |
88 |
org/mklab/cga/util/IntervalUtil.java |
434 |
}
/**
* 区間の半径を求めます。
*
* @param <RIS> 実区間スカラーの型
* @param <RIM> 実区間行列の型
* @param <CIS> 複素区間スカラーの型
* @param <CIM> 複素区間行列の型
* @param <RS> 実スカラーの型
* @param <RM> 実行列の型
* @param <CS> 複素スカラーの型
* @param <CM> 複素行列の型
* @param inf infimum
* @param sup supremum
* @return 区間の半径。
*/
public static <RIS extends IntervalRealNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RIM extends IntervalRealNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIS extends IntervalComplexNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIM extends IntervalComplexNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RS extends RealNumericalScalar<RS, RM, CS, CM>, RM extends RealNumericalMatrix<RS, RM, CS, CM>, CS extends ComplexNumericalScalar<RS, RM, CS, CM>, CM extends ComplexNumericalMatrix<RS, RM, CS, CM>> RM radius(CM inf, CM sup) { |
File |
Line |
org/mklab/cga/interval/matrix/IntervalMatrixFactory.java |
37 |
org/mklab/cga/interval/matrix/IntervalMatrixFactory.java |
66 |
org/mklab/cga/interval/matrix/IntervalMatrixFactory.java |
92 |
org/mklab/cga/util/IntervalUtil.java |
626 |
}
/**
* Creates interval matrix.
*
* @param rs RS
* @param ris RIS
* @return RIM
* @param <RIS> 実区間スカラーの型
* @param <RIM> 実区間行列の型
* @param <CIS> 複素区間スカラーの型
* @param <CIM> 複素区間行列の型
* @param <RS> 実スカラーの型
* @param <RM> 実行列の型
* @param <CS> 複素スカラーの型
* @param <CM> 複素行列の型
*/
public static <RIS extends IntervalRealNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RIM extends IntervalRealNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIS extends IntervalComplexNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIM extends IntervalComplexNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RS extends RealNumericalScalar<RS, RM, CS, CM>, RM extends RealNumericalMatrix<RS, RM, CS, CM>, CS extends ComplexNumericalScalar<RS, RM, CS, CM>, CM extends ComplexNumericalMatrix<RS, RM, CS, CM>> RIM create( |
File |
Line |
org/mklab/cga/interval/scalar/AbstractIntervalScalar.java |
43 |
org/mklab/cga/interval/scalar/AbstractIntervalScalar.java |
71 |
org/mklab/cga/interval/scalar/AbstractIntervalScalar.java |
100 |
org/mklab/cga/interval/scalar/AbstractIntervalScalar.java |
128 |
org/mklab/cga/interval/scalar/AbstractIntervalScalar.java |
244 |
}
/**
* 区間の中心を求めます。
*
* @param <RIS> 実区間スカラーの型
* @param <RIM> 実区間行列の型
* @param <CIS> 複素区間スカラーの型
* @param <CIM> 複素区間行列の型
* @param <RS> 実スカラーの型
* @param <RM> 実行列の型
* @param <CS> 複素スカラーの型
* @param <CM> 複素行列の型
* @param inf infimum
* @param sup supremum
*
* @return 区間の中心。
*/
public static <RIS extends IntervalRealNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RIM extends IntervalRealNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIS extends IntervalComplexNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIM extends IntervalComplexNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RS extends RealNumericalScalar<RS, RM, CS, CM>, RM extends RealNumericalMatrix<RS, RM, CS, CM>, CS extends ComplexNumericalScalar<RS, RM, CS, CM>, CM extends ComplexNumericalMatrix<RS, RM, CS, CM>> RS middle( |
File |
Line |
org/mklab/cga/interval/scalar/AbstractIntervalScalar.java |
156 |
org/mklab/cga/interval/scalar/AbstractIntervalScalar.java |
187 |
org/mklab/cga/interval/scalar/AbstractIntervalScalar.java |
217 |
}
/**
* 上限を求めます。
*
* @param <RIS> 実区間スカラーの型
* @param <RIM> 実区間行列の型
* @param <CIS> 複素区間スカラーの型
* @param <CIM> 複素区間行列の型
* @param <RS> 実スカラーの型
* @param <RM> 実行列の型
* @param <CS> 複素スカラーの型
* @param <CM> 複素行列の型
*
* @param mid middle
* @param rad radius
* @return 上限
*/
public static <RIS extends IntervalRealNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RIM extends IntervalRealNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIS extends IntervalComplexNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIM extends IntervalComplexNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RS extends RealNumericalScalar<RS, RM, CS, CM>, RM extends RealNumericalMatrix<RS, RM, CS, CM>, CS extends ComplexNumericalScalar<RS, RM, CS, CM>, CM extends ComplexNumericalMatrix<RS, RM, CS, CM>> CS supremum( |
File |
Line |
org/mklab/cga/util/IntervalUtil.java |
190 |
org/mklab/cga/util/IntervalUtil.java |
259 |
org/mklab/cga/util/IntervalUtil.java |
282 |
org/mklab/cga/util/IntervalUtil.java |
365 |
}
/**
* 区間行列Aが区間行列B内に含まれるかどうかを判定します。
*
* @param A 区間
* @param B 区間
* @param <RIS> 実区間スカラーの型
* @param <RIM> 実区間行列の型
* @param <CIS> 複素区間スカラーの型
* @param <CIM> 複素区間行列の型
* @param <RS> 実スカラーの型
* @param <RM> 実行列の型
* @param <CS> 複素スカラーの型
* @param <CM> 複素行列の型
* @return 区間に含まれる要素はtrue, 含まれない要素はfalse
*/
public static <RIS extends IntervalRealNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RIM extends IntervalRealNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIS extends IntervalComplexNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIM extends IntervalComplexNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RS extends RealNumericalScalar<RS, RM, CS, CM>, RM extends RealNumericalMatrix<RS, RM, CS, CM>, CS extends ComplexNumericalScalar<RS, RM, CS, CM>, CM extends ComplexNumericalMatrix<RS, RM, CS, CM>> BooleanMatrix in0( |
File |
Line |
org/mklab/cga/derivative/AnyIntervalDerivativeComplexMatrix.java |
39 |
org/mklab/cga/derivative/AnyIntervalDerivativeRealMatrix.java |
39 |
public class AnyIntervalDerivativeComplexMatrix<RIS extends IntervalRealNumericalScalar<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RIM extends IntervalRealNumericalMatrix<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIS extends IntervalComplexNumericalScalar<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIM extends IntervalComplexNumericalMatrix<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RS extends RealNumericalScalar<RS,RM,CS,CM>, RM extends RealNumericalMatrix<RS,RM,CS,CM>, CS extends ComplexNumericalScalar<RS,RM,CS,CM>, CM extends ComplexNumericalMatrix<RS,RM,CS,CM> > extends AbstractIntervalDerivativeMatrix<AnyIntervalDerivativeComplexNumber<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, AnyIntervalDerivativeComplexMatrix<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIS, CIM, CS, CM> implements IntervalDerivativeComplexMatrix<AnyIntervalDerivativeRealNumber<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, AnyIntervalDerivativeRealMatrix<RIS,RIM,CIS,CIM,RS,RM,CS,CM>,AnyIntervalDerivativeComplexNumber<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, AnyIntervalDerivativeComplexMatrix<RIS,RIM,CIS,CIM,RS,RM,CS,CM>,RIS,RIM,CIS,CIM,RS,RM,CS,CM>{ |
File |
Line |
org/mklab/cga/derivative/AnyIntervalDerivativeComplexNumber.java |
40 |
org/mklab/cga/derivative/AnyIntervalDerivativeRealNumber.java |
40 |
public class AnyIntervalDerivativeComplexNumber<RIS extends IntervalRealNumericalScalar<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RIM extends IntervalRealNumericalMatrix<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIS extends IntervalComplexNumericalScalar<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIM extends IntervalComplexNumericalMatrix<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RS extends RealNumericalScalar<RS,RM,CS,CM>, RM extends RealNumericalMatrix<RS,RM,CS,CM>, CS extends ComplexNumericalScalar<RS,RM,CS,CM>, CM extends ComplexNumericalMatrix<RS,RM,CS,CM> > extends AbstractIntervalDerivativeNumber<AnyIntervalDerivativeComplexNumber<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, AnyIntervalDerivativeComplexMatrix<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIS, CIM, CS, CM> implements IntervalDerivativeComplexNumber<AnyIntervalDerivativeRealNumber<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, AnyIntervalDerivativeRealMatrix<RIS,RIM,CIS,CIM,RS,RM,CS,CM>,AnyIntervalDerivativeComplexNumber<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, AnyIntervalDerivativeComplexMatrix<RIS,RIM,CIS,CIM,RS,RM,CS,CM>,RIS,RIM,CIS,CIM,RS,RM,CS,CM>{ |
File |
Line |
org/mklab/cga/interval/matrix/AbstractIntervalComplexNumericalMatrix.java |
41 |
org/mklab/cga/interval/matrix/AbstractIntervalRealNumericalMatrix.java |
43 |
public abstract class AbstractIntervalComplexNumericalMatrix<RIS extends IntervalRealNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RIM extends IntervalRealNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIS extends IntervalComplexNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIM extends IntervalComplexNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RS extends RealNumericalScalar<RS, RM, CS, CM>, RM extends RealNumericalMatrix<RS, RM, CS, CM>, CS extends ComplexNumericalScalar<RS, RM, CS, CM>, CM extends ComplexNumericalMatrix<RS, RM, CS, CM>>
extends AbstractIntervalNumericalMatrix<CIS, CIM, CS, CM> implements IntervalComplexNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM> { |
File |
Line |
org/mklab/cga/interval/matrix/AbstractIntervalMatrix.java |
153 |
org/mklab/cga/interval/matrix/AbstractIntervalMatrix.java |
180 |
org/mklab/cga/interval/matrix/AbstractIntervalMatrix.java |
207 |
org/mklab/cga/interval/matrix/AbstractIntervalMatrix.java |
233 |
org/mklab/cga/interval/matrix/IntervalMatrixFactory.java |
37 |
org/mklab/cga/interval/matrix/IntervalMatrixFactory.java |
66 |
org/mklab/cga/interval/matrix/IntervalMatrixFactory.java |
92 |
org/mklab/cga/interval/matrix/IntervalMatrixFactory.java |
112 |
org/mklab/cga/interval/matrix/IntervalMatrixFactory.java |
143 |
org/mklab/cga/interval/matrix/IntervalMatrixFactory.java |
171 |
org/mklab/cga/interval/scalar/AbstractIntervalScalar.java |
43 |
org/mklab/cga/interval/scalar/AbstractIntervalScalar.java |
71 |
org/mklab/cga/interval/scalar/AbstractIntervalScalar.java |
100 |
org/mklab/cga/interval/scalar/AbstractIntervalScalar.java |
128 |
org/mklab/cga/interval/scalar/AbstractIntervalScalar.java |
156 |
org/mklab/cga/interval/scalar/AbstractIntervalScalar.java |
187 |
org/mklab/cga/interval/scalar/AbstractIntervalScalar.java |
217 |
org/mklab/cga/interval/scalar/AbstractIntervalScalar.java |
244 |
org/mklab/cga/linear/ResidualImprover.java |
46 |
org/mklab/cga/linear/ResidualImprover.java |
67 |
org/mklab/cga/linear/ResidualImprover.java |
88 |
org/mklab/cga/linear/ResidualImprover.java |
108 |
org/mklab/cga/util/IntervalUtil.java |
67 |
org/mklab/cga/util/IntervalUtil.java |
122 |
org/mklab/cga/util/IntervalUtil.java |
190 |
org/mklab/cga/util/IntervalUtil.java |
215 |
org/mklab/cga/util/IntervalUtil.java |
259 |
org/mklab/cga/util/IntervalUtil.java |
282 |
org/mklab/cga/util/IntervalUtil.java |
344 |
org/mklab/cga/util/IntervalUtil.java |
365 |
org/mklab/cga/util/IntervalUtil.java |
434 |
org/mklab/cga/util/IntervalUtil.java |
467 |
org/mklab/cga/util/IntervalUtil.java |
626 |
org/mklab/cga/util/IntervalUtil.java |
686 |
}
/**
* 区間の中心を求めます。
*
* @param <RIS> 実区間スカラーの型
* @param <RIM> 実区間行列の型
* @param <CIS> 複素区間スカラーの型
* @param <CIM> 複素区間行列の型
* @param <RS> 実スカラーの型
* @param <RM> 実行列の型
* @param <CS> 複素スカラーの型
* @param <CM> 複素行列の型
* @param inf infimum
* @param sup supremum
* @return 区間の中心。
*/
public static <RIS extends IntervalRealNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RIM extends IntervalRealNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIS extends IntervalComplexNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIM extends IntervalComplexNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RS extends RealNumericalScalar<RS, RM, CS, CM>, RM extends RealNumericalMatrix<RS, RM, CS, CM>, CS extends ComplexNumericalScalar<RS, RM, CS, CM>, CM extends ComplexNumericalMatrix<RS, RM, CS, CM>> CM middle( |
File |
Line |
org/mklab/cga/interval/matrix/IntervalComplexNumericalMatrix.java |
38 |
org/mklab/cga/interval/matrix/IntervalRealNumericalMatrix.java |
38 |
public interface IntervalComplexNumericalMatrix<RIS extends IntervalRealNumericalScalar<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RIM extends IntervalRealNumericalMatrix<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIS extends IntervalComplexNumericalScalar<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIM extends IntervalComplexNumericalMatrix<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RS extends RealNumericalScalar<RS,RM,CS,CM>, RM extends RealNumericalMatrix<RS,RM,CS,CM>, CS extends ComplexNumericalScalar<RS,RM,CS,CM>, CM extends ComplexNumericalMatrix<RS,RM,CS,CM>> extends IntervalNumericalMatrix<CIS, CIM, CS, CM>, ComplexNumericalMatrix<RIS, RIM, CIS, CIM> { |
File |
Line |
org/mklab/cga/interval/scalar/AbstractIntervalComplexNumericalScalar.java |
33 |
org/mklab/cga/interval/scalar/AbstractIntervalRealNumericalScalar.java |
36 |
public abstract class AbstractIntervalComplexNumericalScalar<RIS extends IntervalRealNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RIM extends IntervalRealNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIS extends IntervalComplexNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIM extends IntervalComplexNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RS extends RealNumericalScalar<RS, RM, CS, CM>, RM extends RealNumericalMatrix<RS, RM, CS, CM>, CS extends ComplexNumericalScalar<RS, RM, CS, CM>, CM extends ComplexNumericalMatrix<RS, RM, CS, CM>>
extends AbstractIntervalScalar<CIS, CIM, CS, CM> implements IntervalComplexNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM> { |
File |
Line |
org/mklab/cga/interval/scalar/IntervalComplexNumericalScalar.java |
38 |
org/mklab/cga/interval/scalar/IntervalRealNumericalScalar.java |
38 |
public interface IntervalComplexNumericalScalar<RIS extends IntervalRealNumericalScalar<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RIM extends IntervalRealNumericalMatrix<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIS extends IntervalComplexNumericalScalar<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIM extends IntervalComplexNumericalMatrix<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RS extends RealNumericalScalar<RS,RM,CS,CM>, RM extends RealNumericalMatrix<RS,RM,CS,CM>, CS extends ComplexNumericalScalar<RS,RM,CS,CM>, CM extends ComplexNumericalMatrix<RS,RM,CS,CM>> extends IntervalNumericalScalar<CIS,CIM,CS, CM>, ComplexNumericalScalar<RIS, RIM, CIS, CIM> { |
File |
Line |
org/mklab/cga/linear/ComplexIntlabMethod.java |
42 |
org/mklab/cga/linear/RealIntlabMethod.java |
42 |
public class ComplexIntlabMethod<RIS extends IntervalRealNumericalScalar<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RIM extends IntervalRealNumericalMatrix<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIS extends IntervalComplexNumericalScalar<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIM extends IntervalComplexNumericalMatrix<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RS extends RealNumericalScalar<RS,RM,CS,CM>, RM extends RealNumericalMatrix<RS,RM,CS,CM>, CS extends ComplexNumericalScalar<RS,RM,CS,CM>, CM extends ComplexNumericalMatrix<RS,RM,CS,CM>>
implements LinearEquationVerifier<CIS, CIM, CS, CM> { |
File |
Line |
org/mklab/cga/linear/ResidualImprover.java |
128 |
org/mklab/cga/linear/ResidualImprover.java |
162 |
}
/**
* @param <RIS> 実区間スカラーの型
* @param <RIM> 実区間行列の型
* @param <CIS> 複素区間スカラーの型
* @param <CIM> 複素区間行列の型
* @param <RS> 実スカラーの型
* @param <RM> 実行列の型
* @param <CS> 複素スカラーの型
* @param <CM> 複素行列の型
* @param A A
* @param x x
* @param b b
* @return ?
*/
private static <RIS extends IntervalRealNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RIM extends IntervalRealNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIS extends IntervalComplexNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIM extends IntervalComplexNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RS extends RealNumericalScalar<RS, RM, CS, CM>, RM extends RealNumericalMatrix<RS, RM, CS, CM>, CS extends ComplexNumericalScalar<RS, RM, CS, CM>, CM extends ComplexNumericalMatrix<RS, RM, CS, CM>> RM residual( |
File |
Line |
org/mklab/cga/derivative/AbstractIntervalDerivativeComplexMatrix.java |
43 |
org/mklab/cga/derivative/AbstractIntervalDerivativeRealMatrix.java |
43 |
org/mklab/cga/derivative/AnyIntervalDerivativeComplexMatrix.java |
39 |
org/mklab/cga/derivative/AnyIntervalDerivativeRealMatrix.java |
39 |
public abstract class AbstractIntervalDerivativeComplexMatrix<RIDS extends IntervalDerivativeRealNumber<RIDS,RIDM,CIDS,CIDM,RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RIDM extends IntervalDerivativeRealMatrix<RIDS,RIDM,CIDS,CIDM,RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIDS extends IntervalDerivativeComplexNumber<RIDS,RIDM,CIDS,CIDM,RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIDM extends IntervalDerivativeComplexMatrix<RIDS,RIDM,CIDS,CIDM,RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RIS extends IntervalRealNumericalScalar<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RIM extends IntervalRealNumericalMatrix<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIS extends IntervalComplexNumericalScalar<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIM extends IntervalComplexNumericalMatrix<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RS extends RealNumericalScalar<RS,RM,CS,CM>, RM extends RealNumericalMatrix<RS,RM,CS,CM>, CS extends ComplexNumericalScalar<RS,RM,CS,CM>, CM extends ComplexNumericalMatrix<RS,RM,CS,CM>> extends AbstractIntervalDerivativeMatrix<CIDS, CIDM, CIS, CIM, CS, CM> |
File |
Line |
org/mklab/cga/derivative/AbstractIntervalDerivativeComplexNumber.java |
43 |
org/mklab/cga/derivative/AbstractIntervalDerivativeRealNumber.java |
43 |
org/mklab/cga/derivative/AnyIntervalDerivativeComplexNumber.java |
40 |
org/mklab/cga/derivative/AnyIntervalDerivativeRealNumber.java |
40 |
public abstract class AbstractIntervalDerivativeComplexNumber<RIDS extends IntervalDerivativeRealNumber<RIDS,RIDM,CIDS,CIDM,RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RIDM extends IntervalDerivativeRealMatrix<RIDS,RIDM,CIDS,CIDM,RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIDS extends IntervalDerivativeComplexNumber<RIDS,RIDM,CIDS,CIDM,RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIDM extends IntervalDerivativeComplexMatrix<RIDS,RIDM,CIDS,CIDM,RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RIS extends IntervalRealNumericalScalar<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RIM extends IntervalRealNumericalMatrix<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIS extends IntervalComplexNumericalScalar<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIM extends IntervalComplexNumericalMatrix<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RS extends RealNumericalScalar<RS,RM,CS,CM>, RM extends RealNumericalMatrix<RS,RM,CS,CM>, CS extends ComplexNumericalScalar<RS,RM,CS,CM>, CM extends ComplexNumericalMatrix<RS,RM,CS,CM>> extends AbstractIntervalDerivativeNumber<CIDS, CIDM, CIS, CIM, CS, CM> |
File |
Line |
org/mklab/cga/eigen/SequentialMethod.java |
35 |
org/mklab/cga/vuls/ComplexVULS.java |
38 |
org/mklab/cga/vuls/RealVULS.java |
38 |
public class SequentialMethod<RIS extends IntervalRealNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RIM extends IntervalRealNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIS extends IntervalComplexNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIM extends IntervalComplexNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RS extends RealNumericalScalar<RS, RM, CS, CM>, RM extends RealNumericalMatrix<RS, RM, CS, CM>, CS extends ComplexNumericalScalar<RS, RM, CS, CM>, CM extends ComplexNumericalMatrix<RS, RM, CS, CM>> {
/** 任意の行列 */
private RM matrix; |
File |
Line |
org/mklab/cga/interval/matrix/AbstractIntervalMatrix.java |
170 |
org/mklab/cga/linear/ResidualImprover.java |
85 |
org/mklab/cga/linear/ResidualImprover.java |
124 |
org/mklab/cga/linear/ResidualImprover.java |
178 |
org/mklab/cga/util/IntervalUtil.java |
483 |
public static <RIS extends IntervalRealNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RIM extends IntervalRealNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIS extends IntervalComplexNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIM extends IntervalComplexNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RS extends RealNumericalScalar<RS, RM, CS, CM>, RM extends RealNumericalMatrix<RS, RM, CS, CM>, CS extends ComplexNumericalScalar<RS, RM, CS, CM>, CM extends ComplexNumericalMatrix<RS, RM, CS, CM>> CM middle( |
File |
Line |
org/mklab/cga/interval/matrix/AbstractIntervalMatrix.java |
197 |
org/mklab/cga/interval/matrix/AbstractIntervalMatrix.java |
224 |
org/mklab/cga/interval/matrix/AbstractIntervalMatrix.java |
250 |
org/mklab/cga/linear/ResidualImprover.java |
64 |
org/mklab/cga/linear/ResidualImprover.java |
104 |
org/mklab/cga/linear/ResidualImprover.java |
144 |
org/mklab/cga/util/IntervalUtil.java |
450 |
public static <RIS extends IntervalRealNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RIM extends IntervalRealNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIS extends IntervalComplexNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIM extends IntervalComplexNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RS extends RealNumericalScalar<RS, RM, CS, CM>, RM extends RealNumericalMatrix<RS, RM, CS, CM>, CS extends ComplexNumericalScalar<RS, RM, CS, CM>, CM extends ComplexNumericalMatrix<RS, RM, CS, CM>> RM radius(CM inf, CM sup) { |
File |
Line |
org/mklab/cga/derivative/AnyIntervalDerivativeComplexMatrix.java |
39 |
org/mklab/cga/derivative/AnyIntervalDerivativeComplexNumber.java |
40 |
org/mklab/cga/derivative/AnyIntervalDerivativeRealMatrix.java |
39 |
org/mklab/cga/derivative/AnyIntervalDerivativeRealNumber.java |
40 |
org/mklab/cga/interval/matrix/AbstractIntervalComplexNumericalMatrix.java |
41 |
org/mklab/cga/interval/matrix/AbstractIntervalRealNumericalMatrix.java |
43 |
org/mklab/cga/interval/matrix/IntervalComplexNumericalMatrix.java |
38 |
org/mklab/cga/interval/matrix/IntervalRealNumericalMatrix.java |
38 |
org/mklab/cga/interval/scalar/AbstractIntervalComplexNumericalScalar.java |
33 |
org/mklab/cga/interval/scalar/AbstractIntervalRealNumericalScalar.java |
36 |
org/mklab/cga/interval/scalar/IntervalComplexNumericalScalar.java |
38 |
org/mklab/cga/interval/scalar/IntervalRealNumericalScalar.java |
38 |
public class AnyIntervalDerivativeComplexMatrix<RIS extends IntervalRealNumericalScalar<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RIM extends IntervalRealNumericalMatrix<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIS extends IntervalComplexNumericalScalar<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIM extends IntervalComplexNumericalMatrix<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RS extends RealNumericalScalar<RS,RM,CS,CM>, RM extends RealNumericalMatrix<RS,RM,CS,CM>, CS extends ComplexNumericalScalar<RS,RM,CS,CM>, CM extends ComplexNumericalMatrix<RS,RM,CS,CM> > extends AbstractIntervalDerivativeMatrix<AnyIntervalDerivativeComplexNumber<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, AnyIntervalDerivativeComplexMatrix<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIS, CIM, CS, CM> implements IntervalDerivativeComplexMatrix<AnyIntervalDerivativeRealNumber<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, AnyIntervalDerivativeRealMatrix<RIS,RIM,CIS,CIM,RS,RM,CS,CM>,AnyIntervalDerivativeComplexNumber<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, AnyIntervalDerivativeComplexMatrix<RIS,RIM,CIS,CIM,RS,RM,CS,CM>,RIS,RIM,CIS,CIM,RS,RM,CS,CM>{ |
File |
Line |
org/mklab/cga/eigen/ComplexBFMethod.java |
36 |
org/mklab/cga/eigen/ComplexOhishiMethod.java |
36 |
org/mklab/cga/eigen/ComplexRumpMethod.java |
39 |
org/mklab/cga/eigen/RealBFMethod.java |
36 |
org/mklab/cga/eigen/RealOhishiMethod.java |
36 |
org/mklab/cga/eigen/RealRumpMethod.java |
39 |
org/mklab/cga/linear/ComplexIntlabMethod.java |
42 |
org/mklab/cga/linear/RealIntlabMethod.java |
42 |
public class ComplexBFMethod<RIS extends IntervalRealNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RIM extends IntervalRealNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIS extends IntervalComplexNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIM extends IntervalComplexNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RS extends RealNumericalScalar<RS, RM, CS, CM>, RM extends RealNumericalMatrix<RS, RM, CS, CM>, CS extends ComplexNumericalScalar<RS, RM, CS, CM>, CM extends ComplexNumericalMatrix<RS, RM, CS, CM>> implements ComplexEigenVerifier<RIS,RIM,CIS,CIM,RS,RM,CS,CM> { |
File |
Line |
org/mklab/cga/eigen/ComplexEigenVerifier.java |
32 |
org/mklab/cga/eigen/RealEigenVerifier.java |
32 |
org/mklab/cga/eigen/RealSingularValueVerifier.java |
42 |
org/mklab/cga/eigen/SequentialMethod.java |
35 |
org/mklab/cga/vuls/ComplexVULS.java |
38 |
org/mklab/cga/vuls/RealVULS.java |
38 |
public interface ComplexEigenVerifier<RIS extends IntervalRealNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RIM extends IntervalRealNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIS extends IntervalComplexNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIM extends IntervalComplexNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RS extends RealNumericalScalar<RS, RM, CS, CM>, RM extends RealNumericalMatrix<RS, RM, CS, CM>, CS extends ComplexNumericalScalar<RS, RM, CS, CM>, CM extends ComplexNumericalMatrix<RS, RM, CS, CM>> { |
File |
Line |
org/mklab/cga/eigen/SequentialMethod.java |
35 |
org/mklab/cga/nonlinear/ComplexNonlinearEquationVerifier.java |
46 |
org/mklab/cga/nonlinear/RealNonlinearEquationVerifier.java |
46 |
org/mklab/cga/vuls/ComplexVULS.java |
38 |
org/mklab/cga/vuls/RealVULS.java |
38 |
public class SequentialMethod<RIS extends IntervalRealNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RIM extends IntervalRealNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIS extends IntervalComplexNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIM extends IntervalComplexNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RS extends RealNumericalScalar<RS, RM, CS, CM>, RM extends RealNumericalMatrix<RS, RM, CS, CM>, CS extends ComplexNumericalScalar<RS, RM, CS, CM>, CM extends ComplexNumericalMatrix<RS, RM, CS, CM>> {
/** 任意の行列 */
private RM matrix; |
File |
Line |
org/mklab/cga/interval/matrix/AbstractIntervalMatrix.java |
170 |
org/mklab/cga/interval/matrix/IntervalMatrixFactory.java |
54 |
org/mklab/cga/interval/matrix/IntervalMatrixFactory.java |
83 |
org/mklab/cga/interval/matrix/IntervalMatrixFactory.java |
109 |
org/mklab/cga/interval/matrix/IntervalMatrixFactory.java |
129 |
org/mklab/cga/interval/matrix/IntervalMatrixFactory.java |
160 |
org/mklab/cga/interval/matrix/IntervalMatrixFactory.java |
188 |
org/mklab/cga/interval/scalar/AbstractIntervalScalar.java |
61 |
org/mklab/cga/interval/scalar/AbstractIntervalScalar.java |
89 |
org/mklab/cga/interval/scalar/AbstractIntervalScalar.java |
117 |
org/mklab/cga/interval/scalar/AbstractIntervalScalar.java |
145 |
org/mklab/cga/interval/scalar/AbstractIntervalScalar.java |
174 |
org/mklab/cga/interval/scalar/AbstractIntervalScalar.java |
205 |
org/mklab/cga/interval/scalar/AbstractIntervalScalar.java |
235 |
org/mklab/cga/interval/scalar/AbstractIntervalScalar.java |
262 |
org/mklab/cga/linear/ResidualImprover.java |
85 |
org/mklab/cga/linear/ResidualImprover.java |
124 |
org/mklab/cga/linear/ResidualImprover.java |
144 |
org/mklab/cga/util/IntervalUtil.java |
114 |
org/mklab/cga/util/IntervalUtil.java |
139 |
org/mklab/cga/util/IntervalUtil.java |
207 |
org/mklab/cga/util/IntervalUtil.java |
232 |
org/mklab/cga/util/IntervalUtil.java |
274 |
org/mklab/cga/util/IntervalUtil.java |
316 |
org/mklab/cga/util/IntervalUtil.java |
361 |
org/mklab/cga/util/IntervalUtil.java |
382 |
org/mklab/cga/util/IntervalUtil.java |
483 |
org/mklab/cga/util/IntervalUtil.java |
660 |
org/mklab/cga/util/IntervalUtil.java |
742 |
public static <RIS extends IntervalRealNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RIM extends IntervalRealNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIS extends IntervalComplexNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIM extends IntervalComplexNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RS extends RealNumericalScalar<RS, RM, CS, CM>, RM extends RealNumericalMatrix<RS, RM, CS, CM>, CS extends ComplexNumericalScalar<RS, RM, CS, CM>, CM extends ComplexNumericalMatrix<RS, RM, CS, CM>> CM middle( |
File |
Line |
org/mklab/cga/interval/matrix/AbstractIntervalMatrix.java |
197 |
org/mklab/cga/interval/matrix/AbstractIntervalMatrix.java |
224 |
org/mklab/cga/interval/matrix/AbstractIntervalMatrix.java |
250 |
org/mklab/cga/linear/ResidualImprover.java |
64 |
org/mklab/cga/linear/ResidualImprover.java |
104 |
org/mklab/cga/linear/ResidualImprover.java |
178 |
org/mklab/cga/util/IntervalUtil.java |
450 |
public static <RIS extends IntervalRealNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RIM extends IntervalRealNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIS extends IntervalComplexNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIM extends IntervalComplexNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RS extends RealNumericalScalar<RS, RM, CS, CM>, RM extends RealNumericalMatrix<RS, RM, CS, CM>, CS extends ComplexNumericalScalar<RS, RM, CS, CM>, CM extends ComplexNumericalMatrix<RS, RM, CS, CM>> RM radius(CM inf, CM sup) { |
File |
Line |
org/mklab/cga/derivative/AbstractIntervalDerivativeComplexMatrix.java |
43 |
org/mklab/cga/derivative/AbstractIntervalDerivativeRealMatrix.java |
43 |
org/mklab/cga/derivative/AnyIntervalDerivativeComplexNumber.java |
40 |
org/mklab/cga/derivative/AnyIntervalDerivativeRealNumber.java |
40 |
org/mklab/cga/interval/matrix/AbstractIntervalComplexNumericalMatrix.java |
41 |
org/mklab/cga/interval/matrix/AbstractIntervalRealNumericalMatrix.java |
43 |
org/mklab/cga/interval/matrix/IntervalComplexNumericalMatrix.java |
38 |
org/mklab/cga/interval/matrix/IntervalRealNumericalMatrix.java |
38 |
org/mklab/cga/interval/scalar/AbstractIntervalComplexNumericalScalar.java |
33 |
org/mklab/cga/interval/scalar/AbstractIntervalRealNumericalScalar.java |
36 |
org/mklab/cga/interval/scalar/IntervalComplexNumericalScalar.java |
38 |
org/mklab/cga/interval/scalar/IntervalRealNumericalScalar.java |
38 |
public abstract class AbstractIntervalDerivativeComplexMatrix<RIDS extends IntervalDerivativeRealNumber<RIDS,RIDM,CIDS,CIDM,RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RIDM extends IntervalDerivativeRealMatrix<RIDS,RIDM,CIDS,CIDM,RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIDS extends IntervalDerivativeComplexNumber<RIDS,RIDM,CIDS,CIDM,RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIDM extends IntervalDerivativeComplexMatrix<RIDS,RIDM,CIDS,CIDM,RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RIS extends IntervalRealNumericalScalar<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RIM extends IntervalRealNumericalMatrix<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIS extends IntervalComplexNumericalScalar<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIM extends IntervalComplexNumericalMatrix<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RS extends RealNumericalScalar<RS,RM,CS,CM>, RM extends RealNumericalMatrix<RS,RM,CS,CM>, CS extends ComplexNumericalScalar<RS,RM,CS,CM>, CM extends ComplexNumericalMatrix<RS,RM,CS,CM>> extends AbstractIntervalDerivativeMatrix<CIDS, CIDM, CIS, CIM, CS, CM> |
File |
Line |
org/mklab/cga/derivative/AbstractIntervalDerivativeComplexNumber.java |
43 |
org/mklab/cga/derivative/AbstractIntervalDerivativeRealNumber.java |
43 |
org/mklab/cga/derivative/AnyIntervalDerivativeComplexMatrix.java |
39 |
org/mklab/cga/derivative/AnyIntervalDerivativeRealMatrix.java |
39 |
org/mklab/cga/derivative/IntervalDerivativeComplexMatrix.java |
43 |
org/mklab/cga/derivative/IntervalDerivativeComplexNumber.java |
43 |
org/mklab/cga/derivative/IntervalDerivativeRealMatrix.java |
43 |
org/mklab/cga/derivative/IntervalDerivativeRealNumber.java |
43 |
public abstract class AbstractIntervalDerivativeComplexNumber<RIDS extends IntervalDerivativeRealNumber<RIDS,RIDM,CIDS,CIDM,RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RIDM extends IntervalDerivativeRealMatrix<RIDS,RIDM,CIDS,CIDM,RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIDS extends IntervalDerivativeComplexNumber<RIDS,RIDM,CIDS,CIDM,RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIDM extends IntervalDerivativeComplexMatrix<RIDS,RIDM,CIDS,CIDM,RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RIS extends IntervalRealNumericalScalar<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RIM extends IntervalRealNumericalMatrix<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIS extends IntervalComplexNumericalScalar<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIM extends IntervalComplexNumericalMatrix<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RS extends RealNumericalScalar<RS,RM,CS,CM>, RM extends RealNumericalMatrix<RS,RM,CS,CM>, CS extends ComplexNumericalScalar<RS,RM,CS,CM>, CM extends ComplexNumericalMatrix<RS,RM,CS,CM>> extends AbstractIntervalDerivativeNumber<CIDS, CIDM, CIS, CIM, CS, CM> |
File |
Line |
org/mklab/cga/derivative/AnyIntervalDerivativeComplexMatrix.java |
39 |
org/mklab/cga/derivative/AnyIntervalDerivativeComplexNumber.java |
40 |
org/mklab/cga/derivative/AnyIntervalDerivativeRealMatrix.java |
39 |
org/mklab/cga/derivative/AnyIntervalDerivativeRealNumber.java |
40 |
org/mklab/cga/eigen/ComplexBFMethod.java |
36 |
org/mklab/cga/eigen/ComplexEigenVerifier.java |
32 |
org/mklab/cga/eigen/ComplexOhishiMethod.java |
36 |
org/mklab/cga/eigen/ComplexRumpMethod.java |
39 |
org/mklab/cga/eigen/RealBFMethod.java |
36 |
org/mklab/cga/eigen/RealEigenVerifier.java |
32 |
org/mklab/cga/eigen/RealOhishiMethod.java |
36 |
org/mklab/cga/eigen/RealRumpMethod.java |
39 |
org/mklab/cga/eigen/RealSingularValueVerifier.java |
42 |
org/mklab/cga/eigen/SequentialMethod.java |
35 |
org/mklab/cga/interval/matrix/AbstractIntervalComplexNumericalMatrix.java |
41 |
org/mklab/cga/interval/matrix/AbstractIntervalMatrix.java |
170 |
org/mklab/cga/interval/matrix/AbstractIntervalMatrix.java |
197 |
org/mklab/cga/interval/matrix/AbstractIntervalMatrix.java |
224 |
org/mklab/cga/interval/matrix/AbstractIntervalMatrix.java |
250 |
org/mklab/cga/interval/matrix/AbstractIntervalRealNumericalMatrix.java |
43 |
org/mklab/cga/interval/matrix/IntervalComplexNumericalMatrix.java |
38 |
org/mklab/cga/interval/matrix/IntervalMatrixFactory.java |
54 |
org/mklab/cga/interval/matrix/IntervalMatrixFactory.java |
83 |
org/mklab/cga/interval/matrix/IntervalMatrixFactory.java |
109 |
org/mklab/cga/interval/matrix/IntervalMatrixFactory.java |
129 |
org/mklab/cga/interval/matrix/IntervalMatrixFactory.java |
160 |
org/mklab/cga/interval/matrix/IntervalMatrixFactory.java |
188 |
org/mklab/cga/interval/matrix/IntervalRealNumericalMatrix.java |
38 |
org/mklab/cga/interval/scalar/AbstractIntervalComplexNumericalScalar.java |
33 |
org/mklab/cga/interval/scalar/AbstractIntervalRealNumericalScalar.java |
36 |
org/mklab/cga/interval/scalar/AbstractIntervalScalar.java |
61 |
org/mklab/cga/interval/scalar/AbstractIntervalScalar.java |
89 |
org/mklab/cga/interval/scalar/AbstractIntervalScalar.java |
117 |
org/mklab/cga/interval/scalar/AbstractIntervalScalar.java |
145 |
org/mklab/cga/interval/scalar/AbstractIntervalScalar.java |
174 |
org/mklab/cga/interval/scalar/AbstractIntervalScalar.java |
205 |
org/mklab/cga/interval/scalar/AbstractIntervalScalar.java |
235 |
org/mklab/cga/interval/scalar/AbstractIntervalScalar.java |
262 |
org/mklab/cga/interval/scalar/IntervalComplexNumericalScalar.java |
38 |
org/mklab/cga/interval/scalar/IntervalRealNumericalScalar.java |
38 |
org/mklab/cga/linear/ComplexIntlabMethod.java |
42 |
org/mklab/cga/linear/RealIntlabMethod.java |
42 |
org/mklab/cga/linear/ResidualImprover.java |
64 |
org/mklab/cga/linear/ResidualImprover.java |
85 |
org/mklab/cga/linear/ResidualImprover.java |
104 |
org/mklab/cga/linear/ResidualImprover.java |
124 |
org/mklab/cga/linear/ResidualImprover.java |
144 |
org/mklab/cga/linear/ResidualImprover.java |
178 |
org/mklab/cga/util/IntervalUtil.java |
114 |
org/mklab/cga/util/IntervalUtil.java |
139 |
org/mklab/cga/util/IntervalUtil.java |
207 |
org/mklab/cga/util/IntervalUtil.java |
232 |
org/mklab/cga/util/IntervalUtil.java |
274 |
org/mklab/cga/util/IntervalUtil.java |
316 |
org/mklab/cga/util/IntervalUtil.java |
361 |
org/mklab/cga/util/IntervalUtil.java |
382 |
org/mklab/cga/util/IntervalUtil.java |
450 |
org/mklab/cga/util/IntervalUtil.java |
483 |
org/mklab/cga/util/IntervalUtil.java |
660 |
org/mklab/cga/util/IntervalUtil.java |
742 |
org/mklab/cga/vuls/ComplexVULS.java |
38 |
org/mklab/cga/vuls/RealVULS.java |
38 |
public class AnyIntervalDerivativeComplexMatrix<RIS extends IntervalRealNumericalScalar<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RIM extends IntervalRealNumericalMatrix<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIS extends IntervalComplexNumericalScalar<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIM extends IntervalComplexNumericalMatrix<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RS extends RealNumericalScalar<RS,RM,CS,CM>, RM extends RealNumericalMatrix<RS,RM,CS,CM>, CS extends ComplexNumericalScalar<RS,RM,CS,CM>, CM extends ComplexNumericalMatrix<RS,RM,CS,CM> > extends AbstractIntervalDerivativeMatrix<AnyIntervalDerivativeComplexNumber<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, AnyIntervalDerivativeComplexMatrix<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIS, CIM, CS, CM> implements IntervalDerivativeComplexMatrix<AnyIntervalDerivativeRealNumber<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, AnyIntervalDerivativeRealMatrix<RIS,RIM,CIS,CIM,RS,RM,CS,CM>,AnyIntervalDerivativeComplexNumber<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, AnyIntervalDerivativeComplexMatrix<RIS,RIM,CIS,CIM,RS,RM,CS,CM>,RIS,RIM,CIS,CIM,RS,RM,CS,CM>{ |
File |
Line |
org/mklab/cga/eigen/ComplexEigenVerifier.java |
32 |
org/mklab/cga/eigen/RealEigenVerifier.java |
32 |
org/mklab/cga/eigen/RealSingularValueVerifier.java |
42 |
org/mklab/cga/nonlinear/ComplexNonlinearEquationVerifier.java |
46 |
org/mklab/cga/nonlinear/RealNonlinearEquationVerifier.java |
46 |
public interface ComplexEigenVerifier<RIS extends IntervalRealNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RIM extends IntervalRealNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIS extends IntervalComplexNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIM extends IntervalComplexNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RS extends RealNumericalScalar<RS, RM, CS, CM>, RM extends RealNumericalMatrix<RS, RM, CS, CM>, CS extends ComplexNumericalScalar<RS, RM, CS, CM>, CM extends ComplexNumericalMatrix<RS, RM, CS, CM>> { |
File |
Line |
org/mklab/cga/derivative/AbstractIntervalDerivativeComplexMatrix.java |
43 |
org/mklab/cga/derivative/AbstractIntervalDerivativeComplexNumber.java |
43 |
org/mklab/cga/derivative/AbstractIntervalDerivativeRealMatrix.java |
43 |
org/mklab/cga/derivative/AbstractIntervalDerivativeRealNumber.java |
43 |
org/mklab/cga/derivative/IntervalDerivativeComplexMatrix.java |
43 |
org/mklab/cga/derivative/IntervalDerivativeComplexNumber.java |
43 |
org/mklab/cga/derivative/IntervalDerivativeRealMatrix.java |
43 |
org/mklab/cga/derivative/IntervalDerivativeRealNumber.java |
43 |
org/mklab/cga/eigen/ComplexBFMethod.java |
36 |
org/mklab/cga/eigen/ComplexEigenVerifier.java |
32 |
org/mklab/cga/eigen/ComplexOhishiMethod.java |
36 |
org/mklab/cga/eigen/ComplexRumpMethod.java |
39 |
org/mklab/cga/eigen/RealBFMethod.java |
36 |
org/mklab/cga/eigen/RealEigenVerifier.java |
32 |
org/mklab/cga/eigen/RealOhishiMethod.java |
36 |
org/mklab/cga/eigen/RealRumpMethod.java |
39 |
org/mklab/cga/eigen/RealSingularValueVerifier.java |
42 |
org/mklab/cga/eigen/SequentialMethod.java |
35 |
org/mklab/cga/interval/matrix/AbstractIntervalMatrix.java |
170 |
org/mklab/cga/interval/matrix/AbstractIntervalMatrix.java |
197 |
org/mklab/cga/interval/matrix/AbstractIntervalMatrix.java |
224 |
org/mklab/cga/interval/matrix/AbstractIntervalMatrix.java |
250 |
org/mklab/cga/interval/matrix/IntervalMatrixFactory.java |
54 |
org/mklab/cga/interval/matrix/IntervalMatrixFactory.java |
83 |
org/mklab/cga/interval/matrix/IntervalMatrixFactory.java |
109 |
org/mklab/cga/interval/matrix/IntervalMatrixFactory.java |
129 |
org/mklab/cga/interval/matrix/IntervalMatrixFactory.java |
160 |
org/mklab/cga/interval/matrix/IntervalMatrixFactory.java |
188 |
org/mklab/cga/interval/scalar/AbstractIntervalScalar.java |
61 |
org/mklab/cga/interval/scalar/AbstractIntervalScalar.java |
89 |
org/mklab/cga/interval/scalar/AbstractIntervalScalar.java |
117 |
org/mklab/cga/interval/scalar/AbstractIntervalScalar.java |
145 |
org/mklab/cga/interval/scalar/AbstractIntervalScalar.java |
174 |
org/mklab/cga/interval/scalar/AbstractIntervalScalar.java |
205 |
org/mklab/cga/interval/scalar/AbstractIntervalScalar.java |
235 |
org/mklab/cga/interval/scalar/AbstractIntervalScalar.java |
262 |
org/mklab/cga/linear/ComplexIntlabMethod.java |
42 |
org/mklab/cga/linear/RealIntlabMethod.java |
42 |
org/mklab/cga/linear/ResidualImprover.java |
64 |
org/mklab/cga/linear/ResidualImprover.java |
85 |
org/mklab/cga/linear/ResidualImprover.java |
104 |
org/mklab/cga/linear/ResidualImprover.java |
124 |
org/mklab/cga/linear/ResidualImprover.java |
144 |
org/mklab/cga/linear/ResidualImprover.java |
178 |
org/mklab/cga/util/IntervalUtil.java |
114 |
org/mklab/cga/util/IntervalUtil.java |
139 |
org/mklab/cga/util/IntervalUtil.java |
207 |
org/mklab/cga/util/IntervalUtil.java |
232 |
org/mklab/cga/util/IntervalUtil.java |
274 |
org/mklab/cga/util/IntervalUtil.java |
316 |
org/mklab/cga/util/IntervalUtil.java |
361 |
org/mklab/cga/util/IntervalUtil.java |
382 |
org/mklab/cga/util/IntervalUtil.java |
450 |
org/mklab/cga/util/IntervalUtil.java |
483 |
org/mklab/cga/util/IntervalUtil.java |
660 |
org/mklab/cga/util/IntervalUtil.java |
742 |
org/mklab/cga/vuls/ComplexVULS.java |
38 |
org/mklab/cga/vuls/RealVULS.java |
38 |
public abstract class AbstractIntervalDerivativeComplexMatrix<RIDS extends IntervalDerivativeRealNumber<RIDS,RIDM,CIDS,CIDM,RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RIDM extends IntervalDerivativeRealMatrix<RIDS,RIDM,CIDS,CIDM,RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIDS extends IntervalDerivativeComplexNumber<RIDS,RIDM,CIDS,CIDM,RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIDM extends IntervalDerivativeComplexMatrix<RIDS,RIDM,CIDS,CIDM,RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RIS extends IntervalRealNumericalScalar<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RIM extends IntervalRealNumericalMatrix<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIS extends IntervalComplexNumericalScalar<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIM extends IntervalComplexNumericalMatrix<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RS extends RealNumericalScalar<RS,RM,CS,CM>, RM extends RealNumericalMatrix<RS,RM,CS,CM>, CS extends ComplexNumericalScalar<RS,RM,CS,CM>, CM extends ComplexNumericalMatrix<RS,RM,CS,CM>> extends AbstractIntervalDerivativeMatrix<CIDS, CIDM, CIS, CIM, CS, CM> |
File |
Line |
org/mklab/cga/derivative/AnyIntervalDerivativeComplexMatrix.java |
39 |
org/mklab/cga/derivative/AnyIntervalDerivativeComplexNumber.java |
40 |
org/mklab/cga/derivative/AnyIntervalDerivativeRealMatrix.java |
39 |
org/mklab/cga/derivative/AnyIntervalDerivativeRealNumber.java |
40 |
org/mklab/cga/interval/matrix/AbstractIntervalComplexNumericalMatrix.java |
41 |
org/mklab/cga/interval/matrix/AbstractIntervalRealNumericalMatrix.java |
43 |
org/mklab/cga/interval/matrix/IntervalComplexNumericalMatrix.java |
38 |
org/mklab/cga/interval/matrix/IntervalRealNumericalMatrix.java |
38 |
org/mklab/cga/interval/scalar/AbstractIntervalComplexNumericalScalar.java |
33 |
org/mklab/cga/interval/scalar/AbstractIntervalRealNumericalScalar.java |
36 |
org/mklab/cga/interval/scalar/IntervalComplexNumericalScalar.java |
38 |
org/mklab/cga/interval/scalar/IntervalRealNumericalScalar.java |
38 |
org/mklab/cga/nonlinear/ComplexNonlinearEquationVerifier.java |
46 |
org/mklab/cga/nonlinear/RealNonlinearEquationVerifier.java |
46 |
public class AnyIntervalDerivativeComplexMatrix<RIS extends IntervalRealNumericalScalar<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RIM extends IntervalRealNumericalMatrix<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIS extends IntervalComplexNumericalScalar<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIM extends IntervalComplexNumericalMatrix<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RS extends RealNumericalScalar<RS,RM,CS,CM>, RM extends RealNumericalMatrix<RS,RM,CS,CM>, CS extends ComplexNumericalScalar<RS,RM,CS,CM>, CM extends ComplexNumericalMatrix<RS,RM,CS,CM> > extends AbstractIntervalDerivativeMatrix<AnyIntervalDerivativeComplexNumber<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, AnyIntervalDerivativeComplexMatrix<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIS, CIM, CS, CM> implements IntervalDerivativeComplexMatrix<AnyIntervalDerivativeRealNumber<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, AnyIntervalDerivativeRealMatrix<RIS,RIM,CIS,CIM,RS,RM,CS,CM>,AnyIntervalDerivativeComplexNumber<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, AnyIntervalDerivativeComplexMatrix<RIS,RIM,CIS,CIM,RS,RM,CS,CM>,RIS,RIM,CIS,CIM,RS,RM,CS,CM>{ |
File |
Line |
org/mklab/cga/interval/matrix/AbstractIntervalRealNumericalMatrix.java |
1064 |
org/mklab/cga/interval/matrix/DoubleIntervalMatrix.java |
1170 |
this.infimum.setElement(index, value.getInfimum());
this.supremum.setElement(index, value.getSupremum());
updateMiddleRadius();
}
/**
* {@inheritDoc}
*/
public void setElement(final int row, final int column, final int value) {
this.infimum.setElement(row, column, value);
this.supremum.setElement(row, column, value);
updateMiddleRadius();
}
/**
* {@inheritDoc}
*/
public void setElement(final int row, final int column, final double value) {
this.infimum.setElement(row, column, value);
this.supremum.setElement(row, column, value);
updateMiddleRadius();
}
/**
* @param row row
* @param column column
* @param value value
*/
public void setElement(final int row, final int column, final RS value) { |
File |
Line |
org/mklab/cga/interval/matrix/DoubleComplexIntervalMatrix.java |
466 |
org/mklab/cga/interval/matrix/DoubleComplexIntervalMatrix.java |
490 |
org/mklab/cga/interval/matrix/DoubleComplexIntervalMatrix.java |
514 |
public DoubleComplexIntervalMatrix subtractElementWise(final int y) {// ICM-R
RoundModeManager manager = RoundModeManager.getManager();
RoundMode oldRoundMode = manager.getRoundMode();
manager.setRoundMode(RoundMode.ROUND_DOWN);
DoubleComplexMatrix c1 = this.middle.subtractElementWise(y);
manager.setRoundMode(RoundMode.ROUND_UP);
DoubleComplexMatrix mid = this.middle.subtractElementWise(y);
DoubleMatrix rad;
if (isPointMatrix()) {
rad = (mid.subtract(c1)).absElementWise().getRealPart();
} else {
rad = (mid.subtract(c1)).absElementWise().getRealPart().add(this.radius);
}
DoubleComplexIntervalMatrix ans = new DoubleComplexIntervalMatrix(mid, rad);
manager.setRoundMode(oldRoundMode);
return ans;
}
/**
* {@inheritDoc}
*/
public DoubleComplexIntervalMatrix subtractElementWise(final double y) {// ICM-R |
File |
Line |
org/mklab/cga/interval/matrix/AbstractIntervalComplexNumericalMatrix.java |
474 |
org/mklab/cga/interval/matrix/AbstractIntervalComplexNumericalMatrix.java |
498 |
org/mklab/cga/interval/matrix/AbstractIntervalComplexNumericalMatrix.java |
523 |
public CIM subtractElementWise(final int y) {// ICM-R
RoundModeManager manager = RoundModeManager.getManager();
RoundMode oldRoundMode = manager.getRoundMode();
manager.setRoundMode(RoundMode.ROUND_DOWN);
CM c1 = this.middle.subtractElementWise(y);
manager.setRoundMode(RoundMode.ROUND_UP);
CM mid = this.middle.subtractElementWise(y);
RM rad;
if (isPointMatrix()) {
rad = (mid.subtract(c1)).absElementWise().getRealPart();
} else {
rad = (mid.subtract(c1)).absElementWise().getRealPart().add(this.radius);
}
CIM ans = createMidRad(mid, rad);
manager.setRoundMode(oldRoundMode);
return ans;
}
/**
* {@inheritDoc}
*/
public CIM subtractElementWise(final double y) {// ICM-R |
File |
Line |
org/mklab/cga/eigen/ComplexRumpMethod.java |
401 |
org/mklab/cga/eigen/RealRumpMethod.java |
344 |
org/mklab/cga/eigen/RealRumpMethod.java |
456 |
CM nan = IA.getMiddle().getElement(1).createGrid(value);
CM nanL = xs.createZero(1, 1);
nanL.setRowVector(1, nan);
CM nanX = xs.createZero(IA.getRowSize(), 1);
for (int i = 0; i < IA.getColumnSize(); i++) {
nanX.setRowVector(i + 1, nanL);
}
L = createMidRad(nanL, nanL.getRealPart());
X = createMidRad(nanX, nanX.getRealPart());
System.err.println("no inclusion achieved"); //$NON-NLS-1$
//throw new RuntimeException("no inclusion achieved"); //$NON-NLS-1$
}
manager.setRoundMode(oldRoundMode);
CIM[] ans = (CIM[])new IntervalComplexNumericalMatrix[2];
ans[0] = L;
ans[1] = X;
return ans;
} |
File |
Line |
org/mklab/cga/linear/ComplexIntlabMethod.java |
277 |
org/mklab/cga/linear/RealIntlabMethod.java |
277 |
CM res = R.multiply(midb.unaryMinus().add(midA.multiply(localxs)));
resnorm = (res).norm(NormType.TWO);
if (resnorm.isLessThan(resnormold)) {
localxs = localxs.subtract(res);
}
// TODO 精度に影響しない?
if (resnorm.isLessThanOrEquals(resnormold.multiply(1e-1))) {// beware of zero residual
break;
}
}
} else {
localxs = localxs.add(R.multiply(midb.subtract(midA.multiply(localxs))));
}
List<Object> list = new ArrayList<>();
list.add(localxs);
list.add(Boolean.valueOf(improvedresidual));
return list;
}
/**
* intbalMethod内で使用する計算。
*
* @param ires ires
* @param Z Z
* @param RA RA
* @param R R
* @param xs xs
* @param n n
* @param k k
* @return result
*/
private CIM stage12(CIM ires, CIM Z, CIM RA, CM R, CM xs, int n, int k) { |
File |
Line |
org/mklab/cga/interval/matrix/AbstractIntervalComplexNumericalMatrix.java |
1501 |
org/mklab/cga/interval/matrix/DoubleComplexIntervalMatrix.java |
1687 |
public void setElement(final int index, final CIS value) {
this.middle.setElement(index, value.getMiddle());
this.radius.setElement(index, value.getRadius());
updateInfinumSupremum();
}
/**
* {@inheritDoc}
*/
public void setElement(int row, int column, int value) {
this.middle.setElement(row, column, value);
this.radius.setElement(row, column, 0);
updateInfinumSupremum();
}
/**
* {@inheritDoc}
*/
public void setElement(int row, int column, double value) {
this.middle.setElement(row, column, value);
this.radius.setElement(row, column, 0);
updateInfinumSupremum();
}
/**
* @param row row
* @param column column
* @param value value
*/
public void setElement(int row, int column, CS value) { |
File |
Line |
org/mklab/cga/eigen/ComplexRumpMethod.java |
233 |
org/mklab/cga/eigen/ComplexRumpMethod.java |
344 |
org/mklab/cga/eigen/RealRumpMethod.java |
288 |
CM Z_row_abs = Z_row.abssElementWise();
BooleanMatrix Z_flag = Z_row_abs.compareElementWise(".>", 0.1); //$NON-NLS-1$
int z_sum = Z_flag.find().length();
double m = 0;
double mmax = Math.min(15 * (z_sum + 1), 20);
boolean ready = false;
CIM X = null;
CIM XX = createInterval(R.createZero(IY.getRowSize(), IY.getColumnSize()));
while ((!ready) && (m < mmax) && (!IY.isNanElementWise().anyTrue())) {
m = m + 1;
X = IY.add(Eps);
XX.copy(X);
XX.setRowVectors(v, XX.createZero(v.getColumnSize(), XX.getColumnSize())); |
File |
Line |
org/mklab/cga/derivative/AnyIntervalDerivativeComplexMatrix.java |
87 |
org/mklab/cga/derivative/AnyIntervalDerivativeRealMatrix.java |
87 |
AnyIntervalDerivativeComplexNumber<RIS, RIM, CIS, CIM, RS, RM,CS, CM>[][] elements = getElement(1, 1).createArray(x.getRowSize(), x.getColumnSize());
for (int i = 0; i < x.getRowSize(); i++) {
for (int j = 0; j < x.getColumnSize(); j++) {
elements[i][j] = getElement(1,1).create(x.getElement(i+1,j+1), dx.getElement(i+1,j+1));
}
}
return new AnyIntervalDerivativeComplexMatrix<>(elements); |
File |
Line |
org/mklab/cga/linear/KrawczykMethod.java |
214 |
org/mklab/cga/util/IntervalUtil.java |
672 |
S unit = A.getMiddle().getElement(1);
for (int i = 0; i < index.getRowSize(); i++) {
for (int j = 0; j < index.getColumnSize(); j++) {
if (index.getElement(i + 1, j + 1)) {
(inf).setElement(i + 1, j + 1, unit.getNaN());
(sup).setElement(i + 1, j + 1, unit.getNaN());
}
}
}
}
manager.setRoundMode(oldRoundMode);
return A.createInfSup(inf, sup);
} |
File |
Line |
org/mklab/cga/eigen/ComplexRumpMethod.java |
190 |
org/mklab/cga/eigen/RealRumpMethod.java |
245 |
private CIM[] solve(CIM intervalMatrix, CS lambda, CM xs) {
RoundModeManager manager = RoundModeManager.getManager();
RoundMode oldRoundMode = manager.getRoundMode();
int n = xs.getRowSize();// 行数
int k = xs.getColumnSize();// 列数
manager.setRoundMode(RoundMode.ROUND_NEAR);
CM xss = (xs).absElementWise().sumRowWise();
IndexedMatrix<CS,CM> NI = (xss).sortColumnWise();
IntMatrix I = NI.getIndices();
IntMatrix u = I.getRowVectors(1, n - k).transpose();
IntMatrix v = I.getRowVectors(n - k + 1, n).transpose(); |
File |
Line |
org/mklab/cga/eigen/ComplexRumpMethod.java |
250 |
org/mklab/cga/eigen/ComplexRumpMethod.java |
362 |
org/mklab/cga/eigen/RealRumpMethod.java |
305 |
org/mklab/cga/eigen/RealRumpMethod.java |
417 |
IY = IZ.add(IC.multiply(X)).add(IR.multiply(XX.multiply(X.getRowVectors(v))));
ready = IntervalUtil.in0forRump(IY, X).allTrue();
}
CIM L = null;
if (ready) {
RM M = (IY.getRowVectors(v)).abssElementWise().getRealPart();
if (v.length() == 1) {
CS[] value = locallambda.createArray(1);
value[0] = locallambda;
CM mid = locallambda.createGrid(value);
L = createMidRad(mid, M);
} else {
EigenSolution<RS,RM,CS,CM> EV = (M).eigenDecompose();
ElementHolder<?> list = ((EV.getValue().diagonalToVector()).absElementWise()).maximum(); |
File |
Line |
org/mklab/cga/derivative/AnyIntervalDerivativeComplexNumber.java |
305 |
org/mklab/cga/derivative/AnyIntervalDerivativeRealNumber.java |
305 |
public boolean isGreaterThanOrEquals(AnyIntervalDerivativeComplexNumber<RIS, RIM, CIS, CIM, RS, RM, CS, CM> opponent) {
return false;
}
/**
* {@inheritDoc}
*/
public boolean isLessThan(int opponent) {
return false;
}
/**
* {@inheritDoc}
*/
public boolean isLessThan(double opponent) {
return false;
}
/**
* {@inheritDoc}
*/
public boolean isLessThanOrEquals(int opponent) {
return false;
}
/**
* {@inheritDoc}
*/
public boolean isLessThanOrEquals(double opponent) {
return false;
}
/**
* {@inheritDoc}
*/
public boolean isGreaterThan(int opponent) {
return false;
}
/**
* {@inheritDoc}
*/
public boolean isGreaterThan(double opponent) {
return false;
}
/**
* {@inheritDoc}
*/
public boolean isGreaterThanOrEquals(int opponent) {
return false;
}
/**
* {@inheritDoc}
*/
public boolean isGreaterThanOrEquals(double opponent) {
return false;
}
/**
* {@inheritDoc}
*/
public boolean equals(AnyIntervalDerivativeComplexNumber<RIS, RIM, CIS, CIM, RS, RM, CS, CM> opponent, AnyIntervalDerivativeComplexNumber<RIS, RIM, CIS, CIM, RS, RM, CS, CM> tolerance) { |
File |
Line |
org/mklab/cga/vuls/ComplexVULS.java |
353 |
org/mklab/cga/vuls/RealVULS.java |
354 |
LUDecomposition<CS,CM> lud = (numericalMatrixSparseVectorFi.transpose()).luDecomposeWithPermutation(false);
P = lud.getP();
I = this.getIndexArray(n, p, P);
}
return I;
}
/**
* get a non-index array from index array based on P matrix.
*
* @param N dimension of P matrix
* @param I index array
* @return non-index array from index array
*/
public int[] getN(int[] N, int[] I) {
int countIndex = 0;
int svl = N.length + I.length;
for (int nRow = 1; nRow <= svl; nRow++) {
if (this.isI(I, nRow) == false) {
N[countIndex++] = nRow;
}
}
return N;
}
// private int[] getIwithSortY(S[] sparseVectorY) {
// int[] I = new int[sparseVectorY.length];
// S[] sYwP = sparseVectorY.clone();
// sYwP = quickSort(sYwP,0,sYwP.length-1);
// for (int i = sYwP.length-1; i >=0 ; i--) {
// System.out.println(sYwP[i]);
// int k = I.length-1 - i;
// for (int j = 0; j < sYwP.length; j++) {
// if (sYwP[i].equals(sparseVectorY[j])) {
// I[k] = j;
// break;
// }
// }
// }
// return I;
// }
//
// private S[] quickSort(S[] array, int left, int right) {
// int curleft = left;
// int curright = right;
// S pivot = array[(curleft + curright) / 2];
//
// do {
// while (array[curleft].abs().isLessThan(pivot.abs())) {
// curleft++;
// }
//
// while (array[curright].abs().isGreaterThan(pivot.abs())) {
// curright--;
// }
// if (curleft <= curright) {
// swap (array, curleft++, curright--);
// }
// } while (curleft <= curright);
//
// if (left < curright) {
// quickSort(array, left, curright);
// }
//
// if (curleft < right) {
// quickSort(array, curleft, right);
// }
// return array;
// }
//
// private void swap(S[] array, int idx1, int idx2) {
// S tmp = array[idx1];
// array[idx1] = array[idx2];
// array[idx2] = tmp;
// }
private int[] getSortI(CS[][] sparseVectorFi, int[] I) { |
File |
Line |
org/mklab/cga/eigen/ComplexRumpMethod.java |
266 |
org/mklab/cga/eigen/RealRumpMethod.java |
321 |
org/mklab/cga/eigen/RealRumpMethod.java |
433 |
ElementHolder<?> list = ((EV.getValue().diagonalToVector()).absElementWise()).maximum();
int index = list.getRow();
CM Perronx = EV.getVector().getColumnVector(index);
manager.setRoundMode(RoundMode.ROUND_UP);
/* upper bound for Perron root */
RM rad = ((M.toComplex().multiply(Perronx).divideElementWise(Perronx))).maxColumnWise().getRealPart();
manager.setRoundMode(RoundMode.ROUND_NEAR);
CS[] value = locallambda.createArray(1);
value[0] = locallambda;
CM mid = locallambda.createGrid(value);
L = createMidRad(mid, rad);
}
IY.setRowVectors(v, IY.createZero(v.getColumnSize(), IY.getColumnSize())); |
File |
Line |
org/mklab/cga/interval/matrix/AbstractIntervalComplexNumericalMatrix.java |
324 |
org/mklab/cga/interval/matrix/AbstractIntervalComplexNumericalMatrix.java |
348 |
org/mklab/cga/interval/matrix/AbstractIntervalComplexNumericalMatrix.java |
373 |
public CIM addElementWise(final int y) {
RoundModeManager manager = RoundModeManager.getManager();
RoundMode oldRoundMode = manager.getRoundMode();
manager.setRoundMode(RoundMode.ROUND_DOWN);
CM c1 = this.middle.addElementWise(y);
manager.setRoundMode(RoundMode.ROUND_UP);
CM mid = this.middle.addElementWise(y);
RM rad;
if (isPointMatrix()) {
rad = (mid.subtract(c1)).absElementWise().getRealPart();
} else {
rad = (mid.subtract(c1)).absElementWise().getRealPart().add(this.radius);
} |
File |
Line |
org/mklab/cga/derivative/AnyIntervalDerivativeComplexMatrix.java |
74 |
org/mklab/cga/derivative/AnyIntervalDerivativeRealMatrix.java |
74 |
AnyIntervalDerivativeComplexNumber<RIS, RIM, CIS, CIM, RS, RM, CS, CM>[][] elements = getElement(1, 1).createArray(matrix.getRowSize(), matrix.getColumnSize());
for (int i = 0; i < matrix.getRowSize(); i++) {
for (int j = 0; j < matrix.getColumnSize(); j++) {
elements[i][j] = getElement(1,1).create(matrix.getElement(i+1,j+1));
}
}
return new AnyIntervalDerivativeComplexMatrix<>(elements); |
File |
Line |
org/mklab/cga/nonlinear/ComplexNonlinearEquationVerifier.java |
160 |
org/mklab/cga/nonlinear/RealNonlinearEquationVerifier.java |
160 |
CIM C = im.create(xs.createUnit(n)).subtract(R.multiply(Iy_dx));
int i = 0;
// improved interval iteration
while (!ready && i < 2) {
i = i + 1;
X = Z.add(C.multiply(Y));
ready = IntervalUtil.in0forRump(X, Y).allTrue();
Y = IntervalUtil.intersect(X, Yold);
}
}
if (ready) {
X = Y.add(im.create(xss));
} else {
throw new IllegalArgumentException();
// TODO 例外投げるか、NaNを返すようにする
}
return X;
}
/**
* 非線型方程式の解を精度保証付きで求めます。
*
* <p>初期値区間に真の解が含まれる場合、非線形方程式の真の解を含むより小さな区間を返します。
*
* @param xs 初期値区間
* @param idm idm
* @return 非線形方程式の解
*/
public CIM solve(CIM xs, CIDM idm) { |
File |
Line |
org/mklab/cga/derivative/AnyIntervalDerivativeComplexMatrix.java |
87 |
org/mklab/cga/derivative/AnyIntervalDerivativeMatrix.java |
79 |
org/mklab/cga/derivative/AnyIntervalDerivativeRealMatrix.java |
87 |
AnyIntervalDerivativeComplexNumber<RIS, RIM, CIS, CIM, RS, RM,CS, CM>[][] elements = getElement(1, 1).createArray(x.getRowSize(), x.getColumnSize());
for (int i = 0; i < x.getRowSize(); i++) {
for (int j = 0; j < x.getColumnSize(); j++) {
elements[i][j] = getElement(1,1).create(x.getElement(i+1,j+1), dx.getElement(i+1,j+1));
}
}
return new AnyIntervalDerivativeComplexMatrix<>(elements); |
File |
Line |
org/mklab/cga/eigen/ComplexRumpMethod.java |
318 |
org/mklab/cga/eigen/RealRumpMethod.java |
373 |
private CIM[] solveSparse(CIM IA, CS lambda, CM xs) {
RoundModeManager manager = RoundModeManager.getManager();
RoundMode oldRoundMode = manager.getRoundMode();
int n = xs.getRowSize();// 行数
int k = xs.getColumnSize();// 列数
manager.setRoundMode(RoundMode.ROUND_NEAR);
CM xss = (xs).absElementWise().sumRowWise();
IndexedMatrix<CS,CM> NI = (xss).sortColumnWise();
IntMatrix I = NI.getIndices();
IntMatrix v = I.getRowVectors(n - k + 1, n).transpose(); |
File |
Line |
org/mklab/cga/util/IntervalUtil.java |
425 |
org/mklab/cga/util/IntervalUtil.java |
458 |
org/mklab/cga/util/IntervalUtil.java |
491 |
S[] d2 = unit.createArray(M.length());
for (int i = 0; i < D.length(); i++) {
d1[i] = D.getElement(i + 1, 1);
d2[i] = M.getElement(i + 1, 1);
}
Ac = Ac.subtract(d1[0].createGrid(d1).vectorToDiagonal()).add(d2[0].createGrid(d2).vectorToDiagonal());
return Ac;
}
/**
* Comparison Matrixを求めます。
*
* @param <RIS> 実区間スカラーの型
* @param <RIM> 実区間行列の型
* @param <CIS> 複素区間スカラーの型
* @param <CIM> 複素区間行列の型
* @param <RS> 実スカラーの型
* @param <RM> 実行列の型
* @param <CS> 複素スカラーの型
* @param <CM> 複素行列の型
* @param im 区間行列
* @return ComparisonMatrix
*/
public static <RIS extends IntervalRealNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RIM extends IntervalRealNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIS extends IntervalComplexNumericalScalar<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, CIM extends IntervalComplexNumericalMatrix<RIS, RIM, CIS, CIM, RS, RM, CS, CM>, RS extends RealNumericalScalar<RS, RM, CS, CM>, RM extends RealNumericalMatrix<RS, RM, CS, CM>, CS extends ComplexNumericalScalar<RS, RM, CS, CM>, CM extends ComplexNumericalMatrix<RS, RM, CS, CM>> RM comparisonMatrix( |
File |
Line |
org/mklab/cga/derivative/AnyIntervalDerivativeComplexMatrix.java |
39 |
org/mklab/cga/derivative/AnyIntervalDerivativeComplexNumber.java |
40 |
org/mklab/cga/derivative/AnyIntervalDerivativeRealMatrix.java |
39 |
org/mklab/cga/derivative/AnyIntervalDerivativeRealNumber.java |
40 |
public class AnyIntervalDerivativeComplexMatrix<RIS extends IntervalRealNumericalScalar<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RIM extends IntervalRealNumericalMatrix<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIS extends IntervalComplexNumericalScalar<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIM extends IntervalComplexNumericalMatrix<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, RS extends RealNumericalScalar<RS,RM,CS,CM>, RM extends RealNumericalMatrix<RS,RM,CS,CM>, CS extends ComplexNumericalScalar<RS,RM,CS,CM>, CM extends ComplexNumericalMatrix<RS,RM,CS,CM> > extends AbstractIntervalDerivativeMatrix<AnyIntervalDerivativeComplexNumber<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, AnyIntervalDerivativeComplexMatrix<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, CIS, CIM, CS, CM> implements IntervalDerivativeComplexMatrix<AnyIntervalDerivativeRealNumber<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, AnyIntervalDerivativeRealMatrix<RIS,RIM,CIS,CIM,RS,RM,CS,CM>,AnyIntervalDerivativeComplexNumber<RIS,RIM,CIS,CIM,RS,RM,CS,CM>, AnyIntervalDerivativeComplexMatrix<RIS,RIM,CIS,CIM,RS,RM,CS,CM>,RIS,RIM,CIS,CIM,RS,RM,CS,CM>{
/** */
private static final long serialVersionUID = 1L;
/**
* Creates {@link AnyIntervalDerivativeComplexMatrix}.
* @param elements elements
*/
public AnyIntervalDerivativeComplexMatrix(AnyIntervalDerivativeComplexNumber<RIS, RIM, CIS, CIM, RS, RM, CS, CM>[] elements) { |