diff --git a/src/Numerics/Algorithms/LinearAlgebra/ILinearAlgebraProvider.cs b/src/Numerics/Algorithms/LinearAlgebra/ILinearAlgebraProvider.cs index 3930b9de..640c74fb 100644 --- a/src/Numerics/Algorithms/LinearAlgebra/ILinearAlgebraProvider.cs +++ b/src/Numerics/Algorithms/LinearAlgebra/ILinearAlgebraProvider.cs @@ -28,7 +28,7 @@ namespace MathNet.Numerics.Algorithms.LinearAlgebra /// /// Interface to linear algebra algorithms that work off 1-D arrays. /// - public interface ILinearAlgebraProvider : ILinearAlgebraProvider + public interface ILinearAlgebraProvider : ILinearAlgebraProvider, ILinearAlgebraProvider, ILinearAlgebraProvider//, ILinearAlgebraProvider { } } diff --git a/src/Numerics/Algorithms/LinearAlgebra/ManagedLinearAlgebraProvider.cs b/src/Numerics/Algorithms/LinearAlgebra/ManagedLinearAlgebraProvider.cs index 6d382f90..dca2089c 100644 --- a/src/Numerics/Algorithms/LinearAlgebra/ManagedLinearAlgebraProvider.cs +++ b/src/Numerics/Algorithms/LinearAlgebra/ManagedLinearAlgebraProvider.cs @@ -32,7 +32,7 @@ namespace MathNet.Numerics.Algorithms.LinearAlgebra /// public class ManagedLinearAlgebraProvider : ILinearAlgebraProvider { - #region ILinearAlgebraProvider Members + #region ILinearAlgebraProvider Members /// /// Adds a scaled vector to another: y += alpha*x. @@ -245,5 +245,335 @@ namespace MathNet.Numerics.Algorithms.LinearAlgebra } #endregion + + #region ILinearAlgebraProvider Members + + + public void AddVectorToScaledVector(float[] y, float alpha, float[] x) + { + throw new NotImplementedException(); + } + + public void ScaleArray(float alpha, float[] x) + { + throw new NotImplementedException(); + } + + public float DotProduct(float[] x, float[] y) + { + throw new NotImplementedException(); + } + + public void AddArrays(float[] x, float[] y, float[] result) + { + throw new NotImplementedException(); + } + + public void SubtractArrays(float[] x, float[] y, float[] result) + { + throw new NotImplementedException(); + } + + public void PointWiseMultiplyArrays(float[] x, float[] y, float[] result) + { + throw new NotImplementedException(); + } + + public float MatrixNorm(Norm norm, float[] matrix) + { + throw new NotImplementedException(); + } + + public float MatrixNorm(Norm norm, float[] matrix, float[] work) + { + throw new NotImplementedException(); + } + + public void MatrixMultiply(float[] x, float[] y, float[] result) + { + throw new NotImplementedException(); + } + + public void MatrixMultiplyWithUpdate(Transpose transposeA, Transpose transposeB, float alpha, float[] a, float[] b, float beta, float[] c) + { + throw new NotImplementedException(); + } + + public void LUFactor(float[] a, int[] ipiv) + { + throw new NotImplementedException(); + } + + public void LUInverse(float[] a) + { + throw new NotImplementedException(); + } + + public void LUInverseFactored(float[] a, int[] ipiv) + { + throw new NotImplementedException(); + } + + public void LUInverse(float[] a, float[] work) + { + throw new NotImplementedException(); + } + + public void LUInverseFactored(float[] a, int[] ipiv, float[] work) + { + throw new NotImplementedException(); + } + + public void LUSolve(int columnsOfB, float[] a, float[] b) + { + throw new NotImplementedException(); + } + + public void LUSolveFactored(int columnsOfB, float[] a, int ipiv, float[] b) + { + throw new NotImplementedException(); + } + + public void LUSolve(Transpose transposeA, int columnsOfB, float[] a, float[] b) + { + throw new NotImplementedException(); + } + + public void LUSolveFactored(Transpose transposeA, int columnsOfB, float[] a, int ipiv, float[] b) + { + throw new NotImplementedException(); + } + + public void CholeskyFactor(float[] a) + { + throw new NotImplementedException(); + } + + public void CholeskySolve(int columnsOfB, float[] a, float[] b) + { + throw new NotImplementedException(); + } + + public void CholeskySolveFactored(int columnsOfB, float[] a, float[] b) + { + throw new NotImplementedException(); + } + + public void QRFactor(float[] r, float[] q) + { + throw new NotImplementedException(); + } + + public void QRFactor(float[] r, float[] q, float[] work) + { + throw new NotImplementedException(); + } + + public void QRSolve(int columnsOfB, float[] r, float[] q, float[] b, float[] x) + { + throw new NotImplementedException(); + } + + public void QRSolve(int columnsOfB, float[] r, float[] q, float[] b, float[] x, float[] work) + { + throw new NotImplementedException(); + } + + public void QRSolveFactored(int columnsOfB, float[] q, float[] r, float[] b, float[] x) + { + throw new NotImplementedException(); + } + + public void SinguarValueDecomposition(bool computeVectors, float[] a, float[] s, float[] u, float[] vt) + { + throw new NotImplementedException(); + } + + public void SingularValueDecomposition(bool computeVectors, float[] a, float[] s, float[] u, float[] vt, float[] work) + { + throw new NotImplementedException(); + } + + public void SvdSolve(float[] a, float[] s, float[] u, float[] vt, float[] b, float[] x) + { + throw new NotImplementedException(); + } + + public void SvdSolve(float[] a, float[] s, float[] u, float[] vt, float[] b, float[] x, float[] work) + { + throw new NotImplementedException(); + } + + public void SvdSolveFactored(int columnsOfB, float[] s, float[] u, float[] vt, float[] b, float[] x) + { + throw new NotImplementedException(); + } + + #endregion + + #region ILinearAlgebraProvider Members + + + public void AddVectorToScaledVector(Complex[] y, Complex alpha, Complex[] x) + { + throw new NotImplementedException(); + } + + public void ScaleArray(Complex alpha, Complex[] x) + { + throw new NotImplementedException(); + } + + public Complex DotProduct(Complex[] x, Complex[] y) + { + throw new NotImplementedException(); + } + + public void AddArrays(Complex[] x, Complex[] y, Complex[] result) + { + throw new NotImplementedException(); + } + + public void SubtractArrays(Complex[] x, Complex[] y, Complex[] result) + { + throw new NotImplementedException(); + } + + public void PointWiseMultiplyArrays(Complex[] x, Complex[] y, Complex[] result) + { + throw new NotImplementedException(); + } + + public Complex MatrixNorm(Norm norm, Complex[] matrix) + { + throw new NotImplementedException(); + } + + public Complex MatrixNorm(Norm norm, Complex[] matrix, Complex[] work) + { + throw new NotImplementedException(); + } + + public void MatrixMultiply(Complex[] x, Complex[] y, Complex[] result) + { + throw new NotImplementedException(); + } + + public void MatrixMultiplyWithUpdate(Transpose transposeA, Transpose transposeB, Complex alpha, Complex[] a, Complex[] b, Complex beta, Complex[] c) + { + throw new NotImplementedException(); + } + + public void LUFactor(Complex[] a, int[] ipiv) + { + throw new NotImplementedException(); + } + + public void LUInverse(Complex[] a) + { + throw new NotImplementedException(); + } + + public void LUInverseFactored(Complex[] a, int[] ipiv) + { + throw new NotImplementedException(); + } + + public void LUInverse(Complex[] a, Complex[] work) + { + throw new NotImplementedException(); + } + + public void LUInverseFactored(Complex[] a, int[] ipiv, Complex[] work) + { + throw new NotImplementedException(); + } + + public void LUSolve(int columnsOfB, Complex[] a, Complex[] b) + { + throw new NotImplementedException(); + } + + public void LUSolveFactored(int columnsOfB, Complex[] a, int ipiv, Complex[] b) + { + throw new NotImplementedException(); + } + + public void LUSolve(Transpose transposeA, int columnsOfB, Complex[] a, Complex[] b) + { + throw new NotImplementedException(); + } + + public void LUSolveFactored(Transpose transposeA, int columnsOfB, Complex[] a, int ipiv, Complex[] b) + { + throw new NotImplementedException(); + } + + public void CholeskyFactor(Complex[] a) + { + throw new NotImplementedException(); + } + + public void CholeskySolve(int columnsOfB, Complex[] a, Complex[] b) + { + throw new NotImplementedException(); + } + + public void CholeskySolveFactored(int columnsOfB, Complex[] a, Complex[] b) + { + throw new NotImplementedException(); + } + + public void QRFactor(Complex[] r, Complex[] q) + { + throw new NotImplementedException(); + } + + public void QRFactor(Complex[] r, Complex[] q, Complex[] work) + { + throw new NotImplementedException(); + } + + public void QRSolve(int columnsOfB, Complex[] r, Complex[] q, Complex[] b, Complex[] x) + { + throw new NotImplementedException(); + } + + public void QRSolve(int columnsOfB, Complex[] r, Complex[] q, Complex[] b, Complex[] x, Complex[] work) + { + throw new NotImplementedException(); + } + + public void QRSolveFactored(int columnsOfB, Complex[] q, Complex[] r, Complex[] b, Complex[] x) + { + throw new NotImplementedException(); + } + + public void SinguarValueDecomposition(bool computeVectors, Complex[] a, Complex[] s, Complex[] u, Complex[] vt) + { + throw new NotImplementedException(); + } + + public void SingularValueDecomposition(bool computeVectors, Complex[] a, Complex[] s, Complex[] u, Complex[] vt, Complex[] work) + { + throw new NotImplementedException(); + } + + public void SvdSolve(Complex[] a, Complex[] s, Complex[] u, Complex[] vt, Complex[] b, Complex[] x) + { + throw new NotImplementedException(); + } + + public void SvdSolve(Complex[] a, Complex[] s, Complex[] u, Complex[] vt, Complex[] b, Complex[] x, Complex[] work) + { + throw new NotImplementedException(); + } + + public void SvdSolveFactored(int columnsOfB, Complex[] s, Complex[] u, Complex[] vt, Complex[] b, Complex[] x) + { + throw new NotImplementedException(); + } + + #endregion } } \ No newline at end of file