package org.matheclipse.core.reflection.system;
import org.matheclipse.core.expression.F;
import org.matheclipse.core.interfaces.IAST;
import org.matheclipse.core.interfaces.IComplex;
import org.matheclipse.core.interfaces.IComplexNum;
import org.matheclipse.core.interfaces.IExpr;
/**
* Conjugate and transpose a matrix.
*
* See Wikipedia:Complex
* conjugation and Transpose
*/
public class ConjugateTranspose extends Transpose {
public ConjugateTranspose() {
}
@Override
protected IExpr transform(final IExpr expr) {
if (expr.isSignedNumber()) {
return expr;
}
if (expr.isComplex()) {
return ((IComplex) expr).conjugate();
}
if (expr instanceof IComplexNum) {
return ((IComplexNum) expr).conjugate();
}
return F.Conjugate(expr);
}
}
Ads help maintain this website.