CPD Results

The following document contains the results of PMD's CPD 6.13.0.

Duplications

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/interval/scalar/AbstractIntervalComplexNumericalScalar.java 250
org/mklab/cga/interval/scalar/AbstractIntervalComplexNumericalScalar.java 295
    RS b_mid_imag = value.getMiddle().getImaginaryPart();

    manager.setRoundMode(RoundMode.ROUND_DOWN);

    RS c1_real = a_mid_real.multiply(b_mid_real).add(a_mid_imag.unaryMinus().multiply(b_mid_imag));
    RS c1_imag = a_mid_real.multiply(b_mid_imag).add(a_mid_imag.multiply(b_mid_real));
    CS c1 = this.middle.create(c1_real, c1_imag);

    manager.setRoundMode(RoundMode.ROUND_UP);

    RS c2_real = a_mid_real.multiply(b_mid_real).add(a_mid_imag.unaryMinus().multiply(b_mid_imag));
    RS c2_imag = a_mid_real.multiply(b_mid_imag).add(a_mid_imag.multiply(b_mid_real));
    CS c2 = this.middle.create(c2_real, c2_imag);

    CS mid = c1.add(c2.subtract(c1).divide(2));
    RS rad;

    if (this.radius.isZero()) {
      if (value.getRadius().isZero()) {
        rad = mid.subtract(c1).abs().getRealPart();
      } else {
        rad = mid.subtract(c1).abs().getRealPart().add(this.middle.abs().getRealPart()).add(value.getRadius());
      }
    } else if (value.getRadius().isZero()) {
      rad = mid.subtract(c1).abs().getRealPart().add(this.radius.multiply(value.getMiddle().abs().getRealPart()));
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/interval/matrix/AbstractIntervalComplexNumericalMatrix.java 569
org/mklab/cga/interval/matrix/DoubleComplexIntervalMatrix.java 560
    RM rad;

    if (isPointMatrix()) {
      if (y.isPointMatrix()) {
        rad = (mid.subtract(c1)).absElementWise().getRealPart();
      } else {
        rad = (mid.subtract(c1)).absElementWise().getRealPart().add((this.middle).absElementWise().getRealPart().multiply(y.getRadius()));
      }
    } else if (y.isPointMatrix()) {
      rad = (mid.subtract(c1)).absElementWise().getRealPart().add(this.radius.multiply((y.getMiddle()).absElementWise().getRealPart()));
    } else {
      rad = (mid.subtract(c1)).absElementWise().getRealPart().add(this.radius.multiply((y.getMiddle()).absElementWise().getRealPart().add(y.getRadius())))
          .add((this.middle).absElementWise().getRealPart().multiply(y.getRadius()));
    }
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/nonlinear/ComplexNonlinearEquationVerifier.java 100
org/mklab/cga/nonlinear/RealNonlinearEquationVerifier.java 100
    List<CIM> value1;

    while (dxsnew.compareElementWise(".<", dxs.multiply(5)).anyTrue() //$NON-NLS-1$
        && (dxsnew).norm(NormType.TWO).isGreaterThan((xs).norm(NormType.TWO).multiply(sqrtN * 1e-14)) && k < 100 || k < 3) {
      k = k + 1;
      dxs = dxsnew.createClone();
      xsold = xss.createClone();

      for (int i = 0; i < xss.getRowSize(); i++) {
        idxss[i] = ids.create(is.create((xss).getElement(i + 1)), is.create(element.createUnit()));
      }
      value1 = nee.getValues(idxss);
      // f(x)
      y_x = value1.get(0).getMiddle();
      // ヤコビ行列
      y_dx = value1.get(2).getMiddle();
      xss = xss.subtract(y_dx.leftDivide(y_x));
      dxsnew = xss.subtract(xsold).absElementWise();
    }
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/scalar/AbstractIntervalComplexNumericalScalar.java 621
org/mklab/cga/interval/scalar/AbstractIntervalComplexNumericalScalar.java 649
  public boolean compare(String operator, int opponent) {
    if (operator.equals(".==")) { //$NON-NLS-1$
      if (this.infimum.equals(this.infimum.create(opponent)) && this.supremum.equals(this.supremum.create(opponent))) {
        return true;
      }
    } else if (operator.equals(".!=")) { //$NON-NLS-1$
      if (this.infimum.equals(this.infimum.create(opponent)) == false || this.supremum.equals(this.supremum.create(opponent)) == false) {
        return true;
      }
      return false;
    } else if (operator.equals(".<")) { //$NON-NLS-1$
      throw new UnsupportedOperationException();
    } else if (operator.equals(".<=")) { //$NON-NLS-1$
      throw new UnsupportedOperationException();
    } else if (operator.equals(".>")) { //$NON-NLS-1$
      throw new UnsupportedOperationException();
    } else if (operator.equals(".>=")) { //$NON-NLS-1$
      throw new UnsupportedOperationException();
    } else {
      throw new UnsupportedOperationException();
    }

    return true;
  }

  /**
   * {@inheritDoc}
   */
  public boolean compare(String operator, double opponent) {
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/AbstractIntervalComplexNumericalMatrix.java 189
org/mklab/cga/interval/matrix/DoubleComplexIntervalMatrix.java 175
    return create(this.middle.createUnit(rowSize, columnSize));
  }

  /**
   * {@inheritDoc}
   */
  public boolean isZero(final double tolerance) {
    return this.middle.isZero(tolerance) && this.radius.isZero(tolerance);
  }

  /**
   * {@inheritDoc}
   */
  public boolean isUnit(final double tolerance) {
    return this.middle.isUnit(tolerance) && this.radius.isZero(tolerance);
  }

  /**
   * {@inheritDoc}
   */
  public BooleanMatrix isNanElementWise() {
    return (this.middle.isNanElementWise()).orElementWise(this.radius.isNanElementWise());
  }

  /**
   * {@inheritDoc}
   */
  public BooleanMatrix isInfiniteElementWise() {
    return (this.middle.isInfiniteElementWise()).orElementWise(this.radius.isInfiniteElementWise());
  }

  /**
   * {@inheritDoc}
   */
  public BooleanMatrix isFiniteElementWise() {
    return (this.middle.isFiniteElementWise()).andElementWise(this.radius.isFiniteElementWise());
  }

  /**
   * {@inheritDoc}
   */
  public boolean isReal() {
    return false;
  }

  /**
   * {@inheritDoc}
   */
  public boolean isComplex() {
    return true;
  }

  /**
   * {@inheritDoc}
   */
  public CIM add(final CIM y) {
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 比較演算子(". &lt;", ". &lt;=", ".&gt;", ".&gt;=", ".==", ".!=")
   * @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/interval/matrix/AbstractIntervalRealNumericalMatrix.java 869
org/mklab/cga/interval/matrix/DoubleIntervalMatrix.java 974
  }

  /**
   * {@inheritDoc}
   */
  public boolean isZero(final double tolerance) {
    return this.infimum.isZero(tolerance) && this.supremum.isZero(tolerance);
  }

  /**
   * {@inheritDoc}
   */
  public boolean isUnit(final double tolerance) {
    return this.infimum.isUnit(tolerance) && this.supremum.isUnit(tolerance);
  }

  /**
   * {@inheritDoc}
   */
  public BooleanMatrix isNanElementWise() {
    return this.infimum.isNanElementWise().orElementWise(this.supremum.isNanElementWise());
  }

  /**
   * {@inheritDoc}
   */
  public BooleanMatrix isInfiniteElementWise() {
    return this.infimum.isInfiniteElementWise().orElementWise(this.supremum.isInfiniteElementWise());
  }

  /**
   * {@inheritDoc}
   */
  public BooleanMatrix isFiniteElementWise() {
    return this.infimum.isFiniteElementWise().andElementWise(this.supremum.isFiniteElementWise());
  }

  /**
   * {@inheritDoc}
   */
  public boolean isReal() {
    return true;
  }

  /**
   * {@inheritDoc}
   */
  public boolean isComplex() {
    return false;
  }
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/AbstractIntervalComplexNumericalMatrix.java 601
org/mklab/cga/interval/matrix/AbstractIntervalComplexNumericalMatrix.java 760
    RM b_imag = y.getImaginaryPart();

    manager.setRoundMode(RoundMode.ROUND_DOWN);
    RM c1_real = a_mid_real.multiply(b_real).add(a_mid_imag.unaryMinus().multiply(b_imag));
    RM c1_imag = a_mid_real.multiply(b_imag).add(a_mid_imag.multiply(b_real));
    CM c1 = this.radius.createComplex(c1_real, c1_imag);

    manager.setRoundMode(RoundMode.ROUND_UP);
    RM c2_real = a_mid_real.multiply(b_real).add(a_mid_imag.unaryMinus().multiply(b_imag));
    RM c2_imag = a_mid_real.multiply(b_imag).add(a_mid_imag.multiply(b_real));
    CM c2 = this.radius.createComplex(c2_real, c2_imag);

    CM mid = c1.add(c2.subtract(c1).divide(2));
    RM rad;
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/scalar/AbstractIntervalComplexNumericalScalar.java 250
org/mklab/cga/interval/scalar/AbstractIntervalComplexNumericalScalar.java 366
    RS b_mid_imag = value.getMiddle().getImaginaryPart();

    manager.setRoundMode(RoundMode.ROUND_DOWN);

    RS c1_real = a_mid_real.multiply(b_mid_real).add(a_mid_imag.unaryMinus().multiply(b_mid_imag));
    RS c1_imag = a_mid_real.multiply(b_mid_imag).add(a_mid_imag.multiply(b_mid_real));
    CS c1 = this.middle.create(c1_real, c1_imag);

    manager.setRoundMode(RoundMode.ROUND_UP);

    RS c2_real = a_mid_real.multiply(b_mid_real).add(a_mid_imag.unaryMinus().multiply(b_mid_imag));
    RS c2_imag = a_mid_real.multiply(b_mid_imag).add(a_mid_imag.multiply(b_mid_real));
    CS c2 = this.middle.create(c2_real, c2_imag);

    CS mid = c1.add(c2.subtract(c1).divide(2));
    RS rad;
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/interval/scalar/AbstractIntervalComplexNumericalScalar.java 295
org/mklab/cga/interval/scalar/AbstractIntervalComplexNumericalScalar.java 366
    RS b_mid_imag = value.getMiddle().createZero();

    manager.setRoundMode(RoundMode.ROUND_DOWN);

    RS c1_real = a_mid_real.multiply(b_mid_real).add(a_mid_imag.unaryMinus().multiply(b_mid_imag));
    RS c1_imag = a_mid_real.multiply(b_mid_imag).add(a_mid_imag.multiply(b_mid_real));
    CS c1 = this.middle.create(c1_real, c1_imag);

    manager.setRoundMode(RoundMode.ROUND_UP);

    RS c2_real = a_mid_real.multiply(b_mid_real).add(a_mid_imag.unaryMinus().multiply(b_mid_imag));
    RS c2_imag = a_mid_real.multiply(b_mid_imag).add(a_mid_imag.multiply(b_mid_real));
    CS c2 = this.middle.create(c2_real, c2_imag);

    CS mid = c1.add(c2.subtract(c1).divide(2));
    RS rad;
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/eigen/ComplexRumpMethod.java 266
org/mklab/cga/eigen/ComplexRumpMethod.java 378
        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 {
      CS nanElement = intervalMatrix.getMiddle().getElement(1).getNaN();
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/eigen/ComplexRumpMethod.java 378
org/mklab/cga/eigen/RealRumpMethod.java 321
        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/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/interval/matrix/DoubleComplexIntervalMatrix.java 314
org/mklab/cga/interval/matrix/DoubleComplexIntervalMatrix.java 338
  public DoubleComplexIntervalMatrix addElementWise(final int y) {
    RoundModeManager manager = RoundModeManager.getManager();
    RoundMode oldRoundMode = manager.getRoundMode();

    manager.setRoundMode(RoundMode.ROUND_DOWN);
    DoubleComplexMatrix c1 = this.middle.addElementWise(y);

    manager.setRoundMode(RoundMode.ROUND_UP);
    DoubleComplexMatrix mid = this.middle.addElementWise(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 addElementWise(final double y) {
File Line
org/mklab/cga/interval/matrix/DoubleComplexIntervalMatrix.java 466
org/mklab/cga/interval/matrix/DoubleComplexIntervalMatrix.java 490
  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/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/AbstractIntervalComplexNumericalMatrix.java 324
org/mklab/cga/interval/matrix/AbstractIntervalComplexNumericalMatrix.java 348
  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);
    }

    CIM ans = createMidRad(mid, rad);
    manager.setRoundMode(oldRoundMode);
    return ans;
  }

  /**
   * {@inheritDoc}
   */
  public CIM addElementWise(final double y) {
File Line
org/mklab/cga/interval/matrix/AbstractIntervalComplexNumericalMatrix.java 474
org/mklab/cga/interval/matrix/AbstractIntervalComplexNumericalMatrix.java 498
  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/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/interval/scalar/AbstractIntervalRealNumericalScalar.java 499
org/mklab/cga/interval/scalar/AbstractIntervalRealNumericalScalar.java 534
      if (this.infimum.equals(opponent) && this.supremum.equals(opponent)) {
        return true;
      }
    } else if (operator.equals(".<")) { //$NON-NLS-1$
      if (this.supremum.isLessThan(opponent)) {
        return true;
      }
    } else if (operator.equals(".<=")) { //$NON-NLS-1$
      if (this.supremum.isLessThanOrEquals(opponent)) {
        return true;
      }
    } else if (operator.equals(".>")) { //$NON-NLS-1$
      if (this.infimum.isGreaterThan(opponent)) {
        return true;
      }
    } else if (operator.equals(".>=")) { //$NON-NLS-1$
      if (this.infimum.isGreaterThanOrEquals(opponent)) {
        return true;
      }
    } else {
      throw new UnsupportedOperationException();
    }

    return false;
  }

  /**
   * {@inheritDoc}
   */
  public boolean compare(String operator, double opponent) {
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/linear/ComplexIntlabMethod.java 334
org/mklab/cga/linear/RealIntlabMethod.java 334
      CIM E = yRadius.multiply(minusPlusOneInterval).addElementWise(disk);

      int localk = 0;
      final int kmax = 7;
      boolean ready = false;

      while ((!ready) & (localk < kmax) & (!Y.isNanElementWise().anyTrue())) {
        localk = localk + 1;
        X = Y.add(E);
        Y = Z.add(C.multiply(X));
        ready = IntervalUtil.in0(Y, X).allTrue();
      }

      if (ready) {// SUCCESS FIRST STAGE
        X = Y.add(createInterval(xs));
        manager.setRoundMode(oldRoundMode);
        return X;
      }
    }
File Line
org/mklab/cga/util/IntervalUtil.java 237
org/mklab/cga/util/IntervalUtil.java 323
    manager.setRoundMode(RoundMode.ROUND_DOWN);
    RM R1 = B.getMiddle().getRealPart().subtract(A.getMiddle().getRealPart());
    RM L1 = B.getMiddle().getImaginaryPart().subtract(A.getMiddle().getImaginaryPart());

    manager.setRoundMode(RoundMode.ROUND_UP);
    RM R2 = B.getMiddle().getRealPart().subtract(A.getMiddle().getRealPart());
    RM L2 = B.getMiddle().getImaginaryPart().subtract(A.getMiddle().getImaginaryPart());

    RM R = (R1).absElementWise().maxElementWise((R2).absElementWise());
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/interval/scalar/AbstractIntervalComplexNumericalScalar.java 476
org/mklab/cga/interval/scalar/AbstractIntervalComplexNumericalScalar.java 496
  public CIS subtract(final CIS value) {// IC-IR, IC-IC
    RoundModeManager manager = RoundModeManager.getManager();
    RoundMode oldRoundMode = manager.getRoundMode();

    manager.setRoundMode(RoundMode.ROUND_DOWN);
    CS c1 = this.middle.subtract(value.getMiddle());

    manager.setRoundMode(RoundMode.ROUND_UP);
    CS mid = this.middle.subtract(value.getMiddle());
    
    RS rad = mid.subtract(c1).abs().add(this.radius).add(value.getRadius()).getRealPart();

    manager.setRoundMode(oldRoundMode);
    return createMidRad(mid, rad);
  }
  

  /**
   * {@inheritDoc}
   */
  public CIS subtract(RIS value) {
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/eigen/RealRumpMethod.java 288
org/mklab/cga/eigen/RealRumpMethod.java 399
    RM Z_row_abs = Z_row.abssElementWise().getRealPart();
    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/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/interval/matrix/DoubleComplexIntervalMatrix.java 314
org/mklab/cga/interval/matrix/DoubleComplexIntervalMatrix.java 338
org/mklab/cga/interval/matrix/DoubleComplexIntervalMatrix.java 362
  public DoubleComplexIntervalMatrix addElementWise(final int y) {
    RoundModeManager manager = RoundModeManager.getManager();
    RoundMode oldRoundMode = manager.getRoundMode();

    manager.setRoundMode(RoundMode.ROUND_DOWN);
    DoubleComplexMatrix c1 = this.middle.addElementWise(y);

    manager.setRoundMode(RoundMode.ROUND_UP);
    DoubleComplexMatrix mid = this.middle.addElementWise(y);
    DoubleMatrix 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/vuls/ComplexVULS.java 430
org/mklab/cga/vuls/RealVULS.java 431
    CS unit1 = sparseVectorFi[0][0].createUnit();
    int p = 0;
    for(int i = 0; i < sparseVectorFi.length; i++) {
      for (int j = 0; j < sparseVectorFi[0].length; j++) {
        if (sparseVectorFi[i][j].abs().equals(unit1) || sparseVectorFi[i][j].abs().equals(unit1.multiply(2))) {
          I[p] = j+1;
          p++;
          break;
        }
      }
    }
    return I;
  }
}
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/interval/matrix/AbstractIntervalRealNumericalMatrix.java 631
org/mklab/cga/interval/matrix/AbstractIntervalRealNumericalMatrix.java 649
  public RIM divide(final int value) {
    RoundModeManager manager = RoundModeManager.getManager();
    RoundMode oldRoundMode = manager.getRoundMode();

    manager.setRoundMode(RoundMode.ROUND_DOWN);
    RM inf = (this.infimum.divide(value)).minElementWise(this.supremum.divide(value));

    manager.setRoundMode(RoundMode.ROUND_UP);
    RM sup = (this.infimum.divide(value)).maxElementWise(this.supremum.divide(value));

    RIM c = createInfSup(inf, sup);
    manager.setRoundMode(oldRoundMode);
    return c;
  }

  /**
   * {@inheritDoc}
   */
  public RIM divide(final double value) {
File Line
org/mklab/cga/interval/matrix/DoubleIntervalMatrix.java 753
org/mklab/cga/interval/matrix/DoubleIntervalMatrix.java 771
  public DoubleIntervalMatrix divide(final int value) {
    RoundModeManager manager = RoundModeManager.getManager();
    RoundMode oldRoundMode = manager.getRoundMode();

    manager.setRoundMode(RoundMode.ROUND_DOWN);
    DoubleMatrix inf = (this.infimum.divide(value)).minElementWise(this.supremum.divide(value));

    manager.setRoundMode(RoundMode.ROUND_UP);
    DoubleMatrix sup = (this.infimum.divide(value)).maxElementWise(this.supremum.divide(value));

    DoubleIntervalMatrix c = createInfSup(inf, sup);
    manager.setRoundMode(oldRoundMode);
    return c;
  }

  /**
   * {@inheritDoc}
   */
  public DoubleIntervalMatrix divide(final double value) {
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/interval/matrix/AbstractIntervalRealNumericalMatrix.java 548
org/mklab/cga/interval/matrix/AbstractIntervalRealNumericalMatrix.java 565
  public RIM multiply(final int y) {// IR*R
    RoundModeManager manager = RoundModeManager.getManager();
    RoundMode oldRoundMode = manager.getRoundMode();

    manager.setRoundMode(RoundMode.ROUND_DOWN);
    RM inf = (this.infimum.multiply(y)).minElementWise(this.supremum.multiply(y));

    manager.setRoundMode(RoundMode.ROUND_UP);
    RM sup = (this.infimum.multiply(y)).maxElementWise(this.supremum.multiply(y));

    manager.setRoundMode(oldRoundMode);
    return createInfSup(inf, sup);
  }

  /**
   * {@inheritDoc}
   */
  public RIM multiply(final double y) {// IR*R
File Line
org/mklab/cga/interval/matrix/DoubleIntervalMatrix.java 665
org/mklab/cga/interval/matrix/DoubleIntervalMatrix.java 682
  public DoubleIntervalMatrix multiply(final int y) {// IR*R
    RoundModeManager manager = RoundModeManager.getManager();
    RoundMode oldRoundMode = manager.getRoundMode();

    manager.setRoundMode(RoundMode.ROUND_DOWN);
    DoubleMatrix inf = (this.infimum.multiply(y)).minElementWise(this.supremum.multiply(y));

    manager.setRoundMode(RoundMode.ROUND_UP);
    DoubleMatrix sup = (this.infimum.multiply(y)).maxElementWise(this.supremum.multiply(y));

    manager.setRoundMode(oldRoundMode);
    return createInfSup(inf, sup);
  }

  /**
   * {@inheritDoc}
   */
  public DoubleIntervalMatrix multiply(final double y) {// IR*R
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/interval/matrix/AbstractIntervalComplexNumericalMatrix.java 916
org/mklab/cga/interval/matrix/AbstractIntervalRealNumericalMatrix.java 771
    CS[] d2 = rUnit.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;
  }

  /**
   * {@inheritDoc}
   */
  public CM abssElementWise() {
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) {
File Line
org/mklab/cga/interval/matrix/AbstractIntervalRealNumericalMatrix.java 1386
org/mklab/cga/interval/matrix/DoubleIntervalMatrix.java 1622
  private void updateMiddleRadius() {
    this.middle = mid(this.infimum, this.supremum);
    this.radius = rad(this.middle, this.infimum);
  }

  /**
   * 要素に区間内の浮動小数点数の個数を持つ整数行列を返します。
   * 
   * @return 要素に区間内の浮動小数点数の個数を持つ整数行列
   */
  public long[][] getPointsNumber() {
    long[][] count = new long[getRowSize()][getColumnSize()];

    for (int row = 0; row < getRowSize(); row++) {
      for (int column = 0; column < getColumnSize(); column++) {
        count[row][column] = ((DoubleIntervalNumber)getElement((row + 1) * (column + 1))).getPointsNumber();