axiom
As := matrix([ [-3,1,1,1], [1,1,1,1], [1,1,1,1], [1,1,1,1]])
Type: Matrix(Integer)
axiom
A := subMatrix(As, 2,4,2,4)
Type: Matrix(Integer)
axiom
ob := orthonormalBasis(A)
Type: List(Matrix(Expression(Integer)))
axiom
P : Matrix(Expression Integer) := new(3,3,0)
Type: Matrix(Expression(Integer))
axiom
setsubMatrix!(P,1,1,ob.3)
Type: Matrix(Expression(Integer))
axiom
setsubMatrix!(P,1,2,ob.1)
Type: Matrix(Expression(Integer))
axiom
setsubMatrix!(P,1,3,ob.2)
Type: Matrix(Expression(Integer))
axiom
Pt := transpose(P)
Type: Matrix(Expression(Integer))
axiom
Ps : Matrix(Expression Integer) := new(4,4,0)
Type: Matrix(Expression(Integer))
axiom
Ps(1,1) := 1
Type: Expression(Integer)
axiom
setsubMatrix!(Ps,2,2,P)
Type: Matrix(Expression(Integer))
axiom
PsT := transpose(Ps)
Type: Matrix(Expression(Integer))
axiom
PsTAsPs := PsT * As * Ps
Type: Matrix(Expression(Integer))
axiom
b1 := PsTAsPs(2,1)
Type: Expression(Integer)
axiom
l1 := PsTAsPs(2,2)
Type: Expression(Integer)
axiom
Us : Matrix(Expression Integer) := new(4,4,0)
Type: Matrix(Expression(Integer))
axiom
Us(1,1) := 1
Type: Expression(Integer)
axiom
Us(2,2) := 1
Type: Expression(Integer)
axiom
Us(3,3) := 1
Type: Expression(Integer)
axiom
Us(4,4) := 1
Type: Expression(Integer)
axiom
Us(2,1) := -b1 / l1
Type: Expression(Integer)
axiom
Us
Type: Matrix(Expression(Integer))
axiom
PsUs := Ps * Us
Type: Matrix(Expression(Integer))
axiom
PsUsT := transpose(PsUs)
Type: Matrix(Expression(Integer))
axiom
PsUsTAsPsUs := PsUsT * As * PsUs
Type: Matrix(Expression(Integer))
axiom
C := inverse(PsUs)
Type: Union(Matrix(Expression(Integer)),...)
axiom
c := PsUsTAsPsUs(1,1)
Type: Expression(Integer)
axiom
gQ := PsUsTAsPsUs / c
Type: Matrix(Expression(Integer))
axiom
x1 := transpose(matrix([[1,2,3,4]]))
Type: Matrix(Integer)
axiom
v1 := transpose(x1) * As * x1
Type: Matrix(Integer)
axiom
x2 := C * x1
Type: Matrix(Expression(Integer))
axiom
v2 := transpose(x2) * PsUsTAsPsUs * x2
Type: Matrix(Expression(Integer))
axiom
As := matrix([ [-c,-1,-2,-1], [-1,3,-1,0], [-2,-1,3,0], [-1,0,0,-6]])
Type: Matrix(Expression(Integer))
axiom
A := subMatrix(As, 2,4,2,4)
Type: Matrix(Expression(Integer))
axiom
ob := orthonormalBasis(A)
Type: List(Matrix(Expression(Integer)))
axiom
P : Matrix(Expression Integer) := new(3,3,0)
Type: Matrix(Expression(Integer))
axiom
setsubMatrix!(P,1,1,ob.3)
Type: Matrix(Expression(Integer))
axiom
setsubMatrix!(P,1,2,ob.1)
Type: Matrix(Expression(Integer))
axiom
setsubMatrix!(P,1,3,ob.2)
Type: Matrix(Expression(Integer))
axiom
Pt := transpose(P)
Type: Matrix(Expression(Integer))
axiom
Ps : Matrix(Expression Integer) := new(4,4,0)
Type: Matrix(Expression(Integer))
axiom
Ps(1,1) := 1
Type: Expression(Integer)
axiom
setsubMatrix!(Ps,2,2,P)
Type: Matrix(Expression(Integer))
axiom
PsT := transpose(Ps)
Type: Matrix(Expression(Integer))
axiom
PsTAsPs := PsT * As * Ps
Type: Matrix(Expression(Integer))
axiom
Us : Matrix(Expression Integer) := new(4,4,0)
Type: Matrix(Expression(Integer))
axiom
Us(1,1) := 1
Type: Expression(Integer)
axiom
Us(2,2) := 1
Type: Expression(Integer)
axiom
Us(3,3) := 1
Type: Expression(Integer)
axiom
Us(4,4) := 1
Type: Expression(Integer)
axiom
Us(2,1) := -PsTAsPs(2,1) / PsTAsPs(2,2)
Type: Expression(Integer)
axiom
Us(3,1) := -PsTAsPs(3,1) / PsTAsPs(3,3)
Type: Expression(Integer)
axiom
Us(4,1) := -PsTAsPs(4,1) / PsTAsPs(4,4)
Type: Expression(Integer)
axiom
Us
Type: Matrix(Expression(Integer))
axiom
PsUs := Ps * Us
Type: Matrix(Expression(Integer))
axiom
PsUsT := transpose(PsUs)
Type: Matrix(Expression(Integer))
axiom
PsUsTAsPsUs := PsUsT * As * PsUs
Type: Matrix(Expression(Integer))
axiom
cc := PsUsTAsPsUs(1,1)
Type: Expression(Integer)
axiom
so := solve(cc = 0, c)
There are 18 exposed and 3 unexposed library operations named solve
having 2 argument(s) but none was determined to be applicable.
Use HyperDoc Browse, or issue
)display op solve
to learn more about the available operations. Perhaps
package-calling the operation or using coercions on the arguments
will allow you to apply the operation.
Cannot find a definition or applicable library operation named solve
with argument type(s)
Equation(Expression(Integer))
Expression(Integer)
Perhaps you should use "@" to indicate the required return type,
or "$" to specify which version of the function you need.
c0 := rhs so.1
There are no library operations named so
Use HyperDoc Browse or issue
)what op so
to learn if there is any operation containing " so " in its name.
Cannot find a definition or applicable library operation named so
with argument type(s)
PositiveInteger
Perhaps you should use "@" to indicate the required return type,
or "$" to specify which version of the function you need.
gQ := PsUsTAsPsUs / cc
Type: Matrix(Expression(Integer))
axiom
eval(PsUsTAsPsUs, c = c0)
>> Error detected within library code:
left hand side must be a single kernel
7.5