/*
 * $Id$
 */

package edu.jas.structure;


/**
 * Algabra element interface.
 * @param  algebra type
 * @param  scalar type
 * @author Heinz Kredel
 */
public interface AlgebraElem, C extends RingElem> extends RingElem {


    /**
     * Scalar multiplication. Multiply this by a scalar.
     * @param s scalar
     * @return this * s.
     */
    public A scalarMultiply(C s);


    /**
     * Linear combination.
     * @param a scalar
     * @param b algebra element
     * @param s scalar
     * @return a * b + this * s.
     */
    public A linearCombination(C a, A b, C s);


    /**
     * Linear combination.
     * @param b algebra element
     * @param s scalar
     * @return b + this * s.
     */
    public A linearCombination(A b, C s);

}

 

Ads help maintain this website.