001/*
002 * JScience - Java(TM) Tools and Libraries for the Advancement of Sciences.
003 * Copyright (C) 2006 - JScience (http://jscience.org/)
004 * All rights reserved.
005 * 
006 * Permission to use, copy, modify, and distribute this software is
007 * freely granted, provided that this notice is preserved.
008 */
009package org.jscience.mathematics.structure;
010
011/**
012 * This interface represents a vector space over a field with two operations, 
013 * vector addition and scalar multiplication.
014 * 
015 * @author <a href="mailto:jean-marie@dautelle.com">Jean-Marie Dautelle</a>
016 * @version 3.0, February 13, 2006
017 * @see <a href="http://en.wikipedia.org/wiki/Vector_space">
018 *      Wikipedia: Vector Space</a>
019 */
020public interface VectorSpace<V, F extends Field> extends GroupAdditive<V> {
021    
022    /**
023     * Returns the scalar multiplication of this vector by the specified 
024     * field element.
025     *
026     * @param  a the field element,
027     * @return <code>this ยท a</code>.
028     */
029    V times(F a);
030
031}