Kronsum.java

/*
 * $Id: Kronsum.java,v 1.8 2008/03/03 15:18:35 koga Exp $
 * 
 * Copyright (C) 2004 Koga Laboratory. All rights reserved.
 */
package org.mklab.tool.matrix;

import org.mklab.nfc.matrix.DoubleMatrix;


/**
 * クロネッカー和を計算するクラスです。
 * 
 * <p> Kronecker sum
 * 
 * @author koga
 * @version $Revision: 1.8 $
 * @see org.mklab.tool.matrix.Kronprod
 */
public class Kronsum {

  /**
   * <code>A</code>と<code>B</code>のクロネッカー和を返します。
   * 
   * @param A データ1
   * @param B データ2
   * @return クロネッカー和(kronecker sum)
   */
  public static DoubleMatrix kronsum(DoubleMatrix A, DoubleMatrix B) {
    DoubleMatrix K = Kronprod.kronprod(A.createUnit(B.getRowSize(), B.getColumnSize()), A).add(Kronprod.kronprod(B, A.createUnit(A.getRowSize(), A.getColumnSize())));

    return K;
  }

}