Hello,
I have to convert a matrices Vb6 code to Xojo.
i have Create a matrix class, but code does not work.
in Vb6 the code is :
[code] 'Calling Procedure
Dim Det as double
Dim MatA(3, 3) As Double
MatA(1, 1) = 3
MatA(1, 2) = 1
MatA(1, 3) = 0
MatA(2, 1) = 1
MatA(2, 2) = 2
MatA(2, 3) = 1
MatA(3, 1) = 0
MatA(3, 2) = 1
MatA(3, 3) = 3
Det = MDet(3,MatA)
Public Function MDet(n As Integer, MatA() As Double) As Double
Dim i As Integer, j As Integer, k As Integer, nIs As Integer, nJs As Integer
Dim f As Double, det As Double, q As Double, d As Double
f = 1
det = 1
For k = 1 To n - 1
q = 0
For i = k To n
For j = k To n
d = Abs(MatA(i, j))
If (d > q) Then
q = d
nIs = i
nJs = j
End If
Next j
Next i
If (q + 1 = 1) Then
MDet = 0
Exit Function
End If
If (nIs <> k) Then
f = -f
For j = k To n
d = MatA(k, j)
MatA(k, j) = MatA(nIs, j)
MatA(nIs, j) = d
Next j
End If
If (nJs <> k) Then
f = -f
For i = k To n
d = MatA(i, nJs)
MatA(i, nJs) = MatA(i, k)
MatA(i, k) = d
Next i
End If
det = det * MatA(k, k)
For i = k + 1 To n
d = MatA(i, k) / MatA(k, k)
For j = k + 1 To n
MatA(i, j) = MatA(i, j) - d * MatA(k, j)
Next j
Next i
Next k
det = f * det * MatA(n, n)
MDet = det
End Function[/code]