/**/ /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ /* G-MINI.MC - The [LeastVNA] Description by Mechanical Production */ /* Version : 20191109 - First - for 64-bit Maxima : 5.43.0 */ /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ /* (C) Copyright 2019 Nikolitsa I. Giannopoulou, OE3ZGN/SV7DMC, gin, and */ /* Petros E. Zimourtopoulos, OE3ZZP/SV7BAX, pez, gin.pez.arg@gmail.com, */ /* Antennas Research Group ARG, Informal Association of Individuals IAOI,*/ /* No Finance Involved NFI, ARG IAOI NFI, www.op4.eu, Austria/Hellas, EU */ /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ /* Permission is hereby granted, free of charge, to any person obtaining */ /* a copy of this software and associated documentation files (the */ /* "Software"), to deal in the Software without restriction, including */ /* distribute, sublicense, and/or sell copies of the Software, and to */ /* permit persons to whom the Software is furnished to do so, subject to */ /* the following conditions: */ /* */ /* The above copyright notice and this permission notice shall be */ /* included in all copies or substantial portions of the Software. */ /* */ /* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ /* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ /* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ /* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ /* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ /* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ /* /F/L/O/S/S/ Free Libre Open Source Software under "The MIT License" */ /* approved by OSI Open Source Initiative www.opensource.org/licenses/MIT*/ /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ display2d:true; equ_G : g = S11 + S12S21 * G / (1 - S22 * G); solve(equ_G,[G]); equ_A : a = S11 + S12S21 * A / (1 - S22 * A); equ_B : b = S11 + S12S21 * B / (1 - S22 * B); equ_C : c = S11 + S12S21 * C / (1 - S22 * C); system_GABC : [equ_A, equ_B, equ_C, equ_G]; system_GSLO : subst([A=S, B=L, C=O, a=s, b=l, c=o], system_GABC); system_G101 : subst([S=-1, L=0, O=+1], system_GSLO); solution_G101 : solve(system_G101,[S11, S12S21, S22, G]); solution_S11 : solution_G101[1][1]; solution_S12S21 : solution_G101[1][2]; solution_S22 : solution_G101[1][3]; solution_G : solution_G101[1][4]; /* S11_ : last(solution_S11); S12S21_ : last(solution_S12S21); S22_ : last(solution_S22); */ G_ : last(solution_G); NU_G : num(G_); NU_G : factor(NU_G); DE_G : denom(G_); DE_G : expand(DE_G); NU_G/DE_G; display2d:false$ NU_G/DE_G; is(equal (G_, (g-l)*(o-s)/((g-o)*(s-l)-(g-s)*(l-o)))); if is(equal (G_,(g-l)*(o-s)/((g-o)*(s-l)-(g-s)*(l-o)))) then print("* SUCCESS * ", G = (g-l)*(o-s)/((g-o)*(s-l)-(g-s)(l-o)))$