package org.jquantlib.math.matrixutilities;
import java.util.EnumSet;
import java.util.Set;
import org.jquantlib.lang.annotation.QualityAssurance;
import org.jquantlib.lang.annotation.QualityAssurance.Quality;
import org.jquantlib.lang.annotation.QualityAssurance.Version;
import org.jquantlib.math.matrixutilities.internal.Address;
/**
* Identity Matrix
*
* @author Richard Gomes
*/
@QualityAssurance(quality = Quality.Q1_TRANSLATION, version = Version.OTHER, reviewers = { "Richard Gomes" })
public class Identity extends Matrix {
/**
* Creates an identity matrix
*
* @return An m-by-n matrix with ones on the diagonal and zeros elsewhere.
*/
public Identity(final int dim) {
this(dim, EnumSet.noneOf(Address.Flags.class));
}
/**
* Default constructor
*
* Builds a Matrix with dimensions 1x1
*
* @param flags is a Set<Address.Flags>
*
* @see Address.Flags
*/
public Identity(final int dim, final Set
flags) {
super(dim, dim, flags);
final int offset = addr.isFortran() ? 1 : 0;
for (int i = offset; i < dim+offset; i++) {
this.set(i, i, 1.0);
}
}
}
Ads help maintain this website.