public override void LUInverseFactored(Complex[] a, int order, int[] ipiv) { if (a == null) { throw new ArgumentNullException("a"); } if (ipiv == null) { throw new ArgumentNullException("ipiv"); } if (a.Length != order * order) { throw new ArgumentException(Resources.ArgumentArraysSameLength, "a"); } if (ipiv.Length != order) { throw new ArgumentException(Resources.ArgumentArraysSameLength, "ipiv"); } var info = SafeNativeMethods.z_lu_inverse_factored(order, a, ipiv); if (info < 0) { throw new InvalidParameterException(Math.Abs(info)); } if (info > 0) { throw new SingularUMatrixException(info); } }
public override void LUInverseFactored(Complex[] a, int order, int[] ipiv) { if (a == null) { throw new ArgumentNullException("a"); } if (ipiv == null) { throw new ArgumentNullException("ipiv"); } if (a.Length != order * order) { throw new ArgumentException(Resources.ArgumentArraysSameLength, "a"); } if (ipiv.Length != order) { throw new ArgumentException(Resources.ArgumentArraysSameLength, "ipiv"); } var work = new Complex[order]; SafeNativeMethods.z_lu_inverse_factored(order, a, ipiv, work, order); }
public override void LUInverseFactored(Complex[] a, int order, int[] ipiv, Complex[] work) { if (a == null) { throw new ArgumentNullException("a"); } if (ipiv == null) { throw new ArgumentNullException("ipiv"); } if (a.Length != order * order) { throw new ArgumentException(Resources.ArgumentArraysSameLength, "a"); } if (ipiv.Length != order) { throw new ArgumentException(Resources.ArgumentArraysSameLength, "ipiv"); } if (work == null) { throw new ArgumentNullException("work"); } if (work.Length < order) { throw new ArgumentException(Resources.WorkArrayTooSmall, "work"); } SafeNativeMethods.z_lu_inverse_factored(order, a, ipiv, work, order); }
public override void LUInverseFactored(Complex[] a, int order, int[] ipiv) { if (a == null) { throw new ArgumentNullException(nameof(a)); } if (ipiv == null) { throw new ArgumentNullException(nameof(ipiv)); } if (a.Length != order * order) { throw new ArgumentException("The array arguments must have the same length.", nameof(a)); } if (ipiv.Length != order) { throw new ArgumentException("The array arguments must have the same length.", nameof(ipiv)); } var info = SafeNativeMethods.z_lu_inverse_factored(order, a, ipiv); if (info < 0) { throw new InvalidParameterException(Math.Abs(info)); } if (info > 0) { throw new SingularUMatrixException(info); } }