molstar
Version:
A comprehensive macromolecular library.
27 lines • 1.65 kB
JavaScript
/**
* Copyright (c) 2019 mol* contributors, licensed under MIT, See LICENSE file for more info.
*
* @author Alexander Rose <alexander.rose@weirdbyte.de>
*/
Object.defineProperty(exports, "__esModule", { value: true });
var mat3_1 = require("../3d/mat3");
var vec3_1 = require("../3d/vec3");
describe('Mat3', function () {
it('symmetricEigenvalues', function () {
var m = mat3_1.Mat3.create(0.1945, -0.0219, -0.0416, -0.0219, 0.1995, -0.0119, -0.0416, -0.0119, 0.3673);
var e = vec3_1.Vec3.create(0.377052701425898, 0.21713981522725134, 0.1671074833468507);
expect(vec3_1.Vec3.equals(e, mat3_1.Mat3.symmetricEigenvalues((0, vec3_1.Vec3)(), m))).toBe(true);
});
it('eigenvectors', function () {
var m = mat3_1.Mat3.create(0.1945, -0.0219, -0.0416, -0.0219, 0.1995, -0.0119, -0.0416, -0.0119, 0.3673);
var e = vec3_1.Vec3.create(0.377052701425898, 0.21713981522725134, 0.1671074833468507);
var v0 = vec3_1.Vec3.create(-0.2176231019882068, -0.038522620041966125, 0.9752723687391808);
var v1 = vec3_1.Vec3.create(-0.5905636938047126, 0.8007524989198634, -0.10014968314142503);
var v2 = vec3_1.Vec3.create(0.7770937582036648, 0.5977553372576602, 0.19701230352667118);
expect(vec3_1.Vec3.equals(v0, mat3_1.Mat3.eigenvector((0, vec3_1.Vec3)(), m, e[0]))).toBe(true);
expect(vec3_1.Vec3.equals(v1, mat3_1.Mat3.eigenvector((0, vec3_1.Vec3)(), m, e[1]))).toBe(true);
expect(vec3_1.Vec3.equals(v2, mat3_1.Mat3.eigenvector((0, vec3_1.Vec3)(), m, e[2]))).toBe(true);
});
});
//# sourceMappingURL=mat3.spec.js.map
;