You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Current »

Simplification of the API of package linear

In this wiki page, the proposals made on the mailing-list towards the simplification of the org.apache.commons.math3.linear package will be summarized.

RealVector vs. RealMatrix

In this section, the current (version 3.0) interfaces for vectors and matrices are compared. Vectors and matrices are two mathematical objects which are very close in nature. Their implementations should therefore be as similar as possible.

Essential methods

The methods listed below are tagged as "essential", as they reflect the underlying mathematical structure of vector spaces.

RealVector

RealMatrix

Comments

RealVector add(RealVector v)

RealMatrix add(RealMatrix m)

 

 

double getTrace()

 

RealVector mapMultiply(double d)

RealMatrix scalarMultiply(double d)

 

RealVector mapMultiplyToSelf(double d)

 

 

 

RealMatrix multiply(RealMatrix m)

 

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="aa5bec4c-6042-4104-820d-e335a38339e2"><ac:plain-text-body><![CDATA[

 

double[] operate(double[] v)

 

]]></ac:plain-text-body></ac:structured-macro>

 

RealVector operate(RealVector v)

 

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="3bb24a5b-4f30-4d88-919f-3cf2ce07159d"><ac:plain-text-body><![CDATA[

 

double[] [RealVector] preMultiply(double[] v)

 

]]></ac:plain-text-body></ac:structured-macro>

 

RealMatrix preMultiply(RealMatrix m)

 

 

RealVector preMultiply(RealVector v)

 

 

RealMatrix transpose()

 

 

Comparison of essential methods in interfaces RealVector and RealMatrix

 

Convenient methods

Methods which could be externalized

  • No labels