Try out the Gram matrix approach
This commit is contained in:
parent
3170a933e4
commit
16826cf07c
2 changed files with 57 additions and 0 deletions
27
engine-proto/gram-test/gram-test.sage
Normal file
27
engine-proto/gram-test/gram-test.sage
Normal file
|
@ -0,0 +1,27 @@
|
|||
F = QQ['a', 'b', 'c'].fraction_field()
|
||||
a, b, c = F.gens()
|
||||
|
||||
# three mutually tangent spheres which are all perpendicular to the x, y plane
|
||||
gram = matrix([
|
||||
[-1, 0, 0, 0, 0],
|
||||
[0, -1, a, b, c],
|
||||
[0, a, -1, 1, 1],
|
||||
[0, b, 1, -1, 1],
|
||||
[0, c, 1, 1, -1]
|
||||
])
|
||||
|
||||
P, L, U = gram.LU()
|
||||
solution = (P * L).transpose()
|
||||
mform = U * L.transpose().inverse()
|
||||
|
||||
concrete = solution.subs({a: 0, b: 1, c: -3/4})
|
||||
|
||||
std_basis = matrix([
|
||||
[0, 0, 0, 1, 1],
|
||||
[0, 0, 0, 1, -1],
|
||||
[1, 0, 0, 0, 0],
|
||||
[0, 1, 0, 0, 0],
|
||||
[0, 0, 1, 0, 0]
|
||||
])
|
||||
std_solution = std_basis * solution
|
||||
std_concrete = std_basis * concrete
|
Loading…
Add table
Add a link
Reference in a new issue